Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / textformatting / TextModifierScope.cs / 1 / TextModifierScope.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2001 // // File: TextModifierScope.cs // // Contents: Text modification API // // Spec: [....]/text/DesignDocsAndSpecs/Text%20Formatting%20API.doc // // Created: 12-5-2004 [....] ([....]) // //----------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Windows; using System.Windows.Media; namespace System.Windows.Media.TextFormatting { ////// Represents a single "frame" in the stack of text modifiers. The stack /// is represented not as an array, but as a linked structure in which each /// frame points to its parent. /// internal sealed class TextModifierScope { private TextModifierScope _parentScope; private TextModifier _modifier; private int _cp; ////// Constructs a new text modification state object. /// /// Parent scope, i.e., the previous top of the stack. /// Text modifier run fetched from the client. /// Text source character index of the run. internal TextModifierScope(TextModifierScope parentScope, TextModifier modifier, int cp) { _parentScope = parentScope; _modifier = modifier; _cp = cp; } ////// Next item in the stack of text modifiers. /// public TextModifierScope ParentScope { get { return _parentScope; } } ////// Text modifier run fetched from the client. /// public TextModifier TextModifier { get { return _modifier; } } ////// Character index of the text modifier run. /// public int TextSourceCharacterIndex { get { return _cp; } } ////// Modifies the specified text run properties by invoking the modifier at /// the current scope and all containing scopes. /// /// Properties to modify. ///Returns the text run properties after modification. internal TextRunProperties ModifyProperties(TextRunProperties properties) { for (TextModifierScope scope = this; scope != null; scope = scope._parentScope) { properties = scope._modifier.ModifyProperties(properties); } return properties; } ////// Performs a deep copy of the stack of TextModifierScope objects. /// ///Returns the top of the new stack. internal TextModifierScope CloneStack() { TextModifierScope top = new TextModifierScope(null, _modifier, _cp); TextModifierScope scope = top; for (TextModifierScope source = _parentScope; source != null; source = source._parentScope) { scope._parentScope = new TextModifierScope(null, source._modifier, source._cp); scope = scope._parentScope; } return top; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HtmlTernaryTree.cs
- Group.cs
- RegisteredDisposeScript.cs
- COM2PropertyDescriptor.cs
- BindToObject.cs
- CodeSnippetTypeMember.cs
- Span.cs
- ServerIdentity.cs
- TextPointerBase.cs
- EntryPointNotFoundException.cs
- QuerySafeNavigator.cs
- DataList.cs
- MessageFormatterConverter.cs
- CodeGotoStatement.cs
- NativeDirectoryServicesQueryAPIs.cs
- CellConstant.cs
- WebSysDescriptionAttribute.cs
- RepeaterCommandEventArgs.cs
- NameNode.cs
- RefreshEventArgs.cs
- BuilderPropertyEntry.cs
- Region.cs
- SiteMapNodeCollection.cs
- Html32TextWriter.cs
- CompiledAction.cs
- _BaseOverlappedAsyncResult.cs
- InstanceNotReadyException.cs
- PassportIdentity.cs
- CreatingCookieEventArgs.cs
- DataError.cs
- WmlPanelAdapter.cs
- EffectiveValueEntry.cs
- BaseCodeDomTreeGenerator.cs
- Panel.cs
- WebBrowserNavigatedEventHandler.cs
- TextLineBreak.cs
- QueryNode.cs
- SliderAutomationPeer.cs
- DPTypeDescriptorContext.cs
- VirtualPathProvider.cs
- Span.cs
- VisualBrush.cs
- CodeVariableDeclarationStatement.cs
- MarkupProperty.cs
- WindowsToolbar.cs
- Formatter.cs
- ColorComboBox.cs
- StorageInfo.cs
- StructuredTypeInfo.cs
- SocketPermission.cs
- SystemIPInterfaceProperties.cs
- XMLSyntaxException.cs
- Tuple.cs
- WebDisplayNameAttribute.cs
- EmbossBitmapEffect.cs
- HyperLink.cs
- BulletedList.cs
- TdsValueSetter.cs
- BaseCodeDomTreeGenerator.cs
- ListViewItemSelectionChangedEvent.cs
- PathGeometry.cs
- ColorConvertedBitmap.cs
- SoapIgnoreAttribute.cs
- MobilePage.cs
- PriorityQueue.cs
- ToolStripScrollButton.cs
- XmlObjectSerializerReadContextComplex.cs
- XmlSchemaElement.cs
- MetadataPropertyvalue.cs
- DataPager.cs
- FlowDocumentFormatter.cs
- FileUtil.cs
- ConnectivityStatus.cs
- WebPartsPersonalizationAuthorization.cs
- Scene3D.cs
- FixedFlowMap.cs
- MetaColumn.cs
- ShaperBuffers.cs
- HtmlWindowCollection.cs
- CallSiteOps.cs
- ValueHandle.cs
- UnmanagedMarshal.cs
- DesignerSelectionListAdapter.cs
- HitTestResult.cs
- ResumeStoryboard.cs
- DispatcherExceptionEventArgs.cs
- TextRange.cs
- HandlerFactoryWrapper.cs
- ContextInformation.cs
- DetailsView.cs
- AnnotationObservableCollection.cs
- SharedStatics.cs
- SqlHelper.cs
- LoginCancelEventArgs.cs
- ColumnResult.cs
- SpellCheck.cs
- StylusPointCollection.cs
- HttpContextWrapper.cs
- BitmapMetadata.cs
- DataGridToolTip.cs