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
- ObjectDataSourceFilteringEventArgs.cs
- NativeWindow.cs
- XmlComplianceUtil.cs
- UniqueIdentifierService.cs
- COM2PropertyPageUITypeConverter.cs
- WpfKnownType.cs
- SecurityAttributeGenerationHelper.cs
- CellTreeNode.cs
- RegistryKey.cs
- SQLDateTimeStorage.cs
- WindowsBrush.cs
- TimeZone.cs
- PriorityRange.cs
- RepeaterItemCollection.cs
- TypeResolver.cs
- ImmutableAssemblyCacheEntry.cs
- CompilerGlobalScopeAttribute.cs
- XamlContextStack.cs
- Page.cs
- ClientFormsIdentity.cs
- FieldNameLookup.cs
- ComponentChangingEvent.cs
- HttpApplicationFactory.cs
- XmlSerializerNamespaces.cs
- DataGridViewElement.cs
- WebPartDeleteVerb.cs
- AQNBuilder.cs
- dbdatarecord.cs
- Trigger.cs
- PublishLicense.cs
- BatchServiceHost.cs
- BridgeDataRecord.cs
- TextElement.cs
- IndexOutOfRangeException.cs
- counter.cs
- XPathSingletonIterator.cs
- SocketAddress.cs
- FontSourceCollection.cs
- SharedUtils.cs
- _ListenerRequestStream.cs
- DynamicValueConverter.cs
- EventItfInfo.cs
- VectorAnimationUsingKeyFrames.cs
- TextBox.cs
- TableRow.cs
- LocationUpdates.cs
- SynchronizedInputPattern.cs
- HitTestFilterBehavior.cs
- Viewport2DVisual3D.cs
- DefinitionUpdate.cs
- IdentifierCreationService.cs
- GridViewHeaderRowPresenter.cs
- Model3DGroup.cs
- WebPartExportVerb.cs
- WrappedKeySecurityToken.cs
- SqlTypeSystemProvider.cs
- NamespaceMapping.cs
- CodeArgumentReferenceExpression.cs
- MobileFormsAuthentication.cs
- Int32RectConverter.cs
- XmlIgnoreAttribute.cs
- MonthCalendar.cs
- SingleObjectCollection.cs
- WebRequestModuleElement.cs
- TextureBrush.cs
- AdRotator.cs
- DbModificationClause.cs
- CacheAxisQuery.cs
- Imaging.cs
- TopClause.cs
- MaskInputRejectedEventArgs.cs
- ImageInfo.cs
- RawAppCommandInputReport.cs
- StylusPointPropertyUnit.cs
- EntityTypeEmitter.cs
- XPathParser.cs
- XmlDesignerDataSourceView.cs
- CqlLexer.cs
- XsltInput.cs
- TemplateColumn.cs
- ReflectionServiceProvider.cs
- GcSettings.cs
- FloaterParaClient.cs
- DataServiceException.cs
- Directory.cs
- NameValueSectionHandler.cs
- MaskedTextBox.cs
- StyleXamlTreeBuilder.cs
- AffineTransform3D.cs
- ObfuscateAssemblyAttribute.cs
- UIElementAutomationPeer.cs
- SerializationSectionGroup.cs
- ErrorLog.cs
- SupportsEventValidationAttribute.cs
- TaskFileService.cs
- MobileResource.cs
- UnsettableComboBox.cs
- HttpApplication.cs
- LinqDataSourceValidationException.cs
- Debugger.cs