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
- ColumnWidthChangedEvent.cs
- PathFigureCollection.cs
- WindowsListViewScroll.cs
- DockingAttribute.cs
- ChtmlCommandAdapter.cs
- CircleHotSpot.cs
- TraceFilter.cs
- SimpleHandlerBuildProvider.cs
- UnitySerializationHolder.cs
- TableCellsCollectionEditor.cs
- DirectionalAction.cs
- XsdDuration.cs
- MetadataCache.cs
- FixedTextContainer.cs
- FileLevelControlBuilderAttribute.cs
- PromptBuilder.cs
- HwndHost.cs
- ScriptHandlerFactory.cs
- StateMachineSubscription.cs
- ByteRangeDownloader.cs
- ADConnectionHelper.cs
- FormView.cs
- Animatable.cs
- controlskin.cs
- BitConverter.cs
- ToolStripPanelRenderEventArgs.cs
- GZipDecoder.cs
- Control.cs
- WebPartCatalogAddVerb.cs
- PackageRelationshipCollection.cs
- StyleBamlTreeBuilder.cs
- ConfigurationCollectionAttribute.cs
- TranslateTransform3D.cs
- FunctionCommandText.cs
- KeyGestureConverter.cs
- StructuralType.cs
- Attributes.cs
- TimelineCollection.cs
- ControlTemplate.cs
- ProcessModule.cs
- UserControlParser.cs
- DateTimeConverter.cs
- CellRelation.cs
- ValueType.cs
- Type.cs
- HttpTransportSecurityElement.cs
- DataGridViewRowHeaderCell.cs
- IsolatedStorageFile.cs
- DocumentXPathNavigator.cs
- RepeaterItemCollection.cs
- ArrayTypeMismatchException.cs
- ImageDrawing.cs
- GotoExpression.cs
- ColorConverter.cs
- SqlClientFactory.cs
- TabControlEvent.cs
- EdmItemCollection.cs
- safex509handles.cs
- CodePrimitiveExpression.cs
- CollectionBase.cs
- EventlogProvider.cs
- EventNotify.cs
- NoResizeHandleGlyph.cs
- ParameterInfo.cs
- SplayTreeNode.cs
- MemberHolder.cs
- AccessDataSourceView.cs
- CatalogPartDesigner.cs
- FeatureSupport.cs
- DummyDataSource.cs
- Hex.cs
- DbConnectionStringBuilder.cs
- DataGridViewElement.cs
- NodeInfo.cs
- EventProxy.cs
- XmlObjectSerializerWriteContext.cs
- RectAnimationUsingKeyFrames.cs
- DbParameterCollectionHelper.cs
- PanelDesigner.cs
- WindowHelperService.cs
- WriteableBitmap.cs
- ModuleConfigurationInfo.cs
- BindingSource.cs
- HandlerMappingMemo.cs
- cookiecontainer.cs
- SqlDependencyListener.cs
- FileEnumerator.cs
- NativeBuffer.cs
- XmlSchemaSimpleTypeUnion.cs
- NavigationService.cs
- CmsInterop.cs
- EditorPart.cs
- Itemizer.cs
- Byte.cs
- Expressions.cs
- XmlReturnWriter.cs
- NumberAction.cs
- Utility.cs
- DataSourceExpression.cs
- ObjectQuery.cs