Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Media / textformatting / TextRunCache.cs / 1 / TextRunCache.cs
//------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2001 // // File: TextRunCache.cs // // Contents: Cache of text and text properties of run // // Spec: http://team/sites/Avalon/Specs/Text%20Formatting%20API.doc // // Created: 2-25-2003 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections.Generic; using MS.Internal.PresentationCore; using MS.Internal.TextFormatting; namespace System.Windows.Media.TextFormatting { ////// TextFormatter caches runs it receives from GetTextRun callback. This cache /// object is managed by text layout client. /// /// This method is used to improve performance in application whose fetching the /// run has significant performance implication. Application using this caching /// mechanism is responsible for invalidating the content in the cache when /// its changed. /// public sealed class TextRunCache { ////// Constructing text run cache /// public TextRunCache() {} ////// Client to notify change in part of the cache when text or /// properties of the run is being added, removed or replaced. /// /// text source character index to specify where in the source text the change starts. /// the number of text source characters to be added in the source text /// the number of text source characters to be removed in the source text public void Change( int textSourceCharacterIndex, int addition, int removal ) { if(_imp != null) { _imp.Change( textSourceCharacterIndex, addition, removal ); } } ////// Client to invalidate the whole cache, in effect emptying the cache and /// cause the cache refill in subsequent call to Text Formatting API. /// public void Invalidate() { if(_imp != null) { _imp = null; } } ////// Return all cached TextRun in a TextSpan list. If TextRun is not cached for a particular character range, /// the TextSpan would contain null TextRun object. /// #if OPTIMALBREAK_API public IList> GetTextRunSpans() #else [FriendAccessAllowed] internal IList > GetTextRunSpans() #endif { if (_imp != null) { return _imp.GetTextRunSpans(); } // otherwise, return an empty collection return new TextSpan [0]; } /// /// Get/set the actual cache instance /// internal TextRunCacheImp Imp { get { return _imp; } set { _imp = value; } } private TextRunCacheImp _imp; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------ // // Microsoft Windows Client Platform // Copyright (C) Microsoft Corporation, 2001 // // File: TextRunCache.cs // // Contents: Cache of text and text properties of run // // Spec: http://team/sites/Avalon/Specs/Text%20Formatting%20API.doc // // Created: 2-25-2003 Worachai Chaoweeraprasit (wchao) // //----------------------------------------------------------------------- using System; using System.Collections.Generic; using MS.Internal.PresentationCore; using MS.Internal.TextFormatting; namespace System.Windows.Media.TextFormatting { ////// TextFormatter caches runs it receives from GetTextRun callback. This cache /// object is managed by text layout client. /// /// This method is used to improve performance in application whose fetching the /// run has significant performance implication. Application using this caching /// mechanism is responsible for invalidating the content in the cache when /// its changed. /// public sealed class TextRunCache { ////// Constructing text run cache /// public TextRunCache() {} ////// Client to notify change in part of the cache when text or /// properties of the run is being added, removed or replaced. /// /// text source character index to specify where in the source text the change starts. /// the number of text source characters to be added in the source text /// the number of text source characters to be removed in the source text public void Change( int textSourceCharacterIndex, int addition, int removal ) { if(_imp != null) { _imp.Change( textSourceCharacterIndex, addition, removal ); } } ////// Client to invalidate the whole cache, in effect emptying the cache and /// cause the cache refill in subsequent call to Text Formatting API. /// public void Invalidate() { if(_imp != null) { _imp = null; } } ////// Return all cached TextRun in a TextSpan list. If TextRun is not cached for a particular character range, /// the TextSpan would contain null TextRun object. /// #if OPTIMALBREAK_API public IList> GetTextRunSpans() #else [FriendAccessAllowed] internal IList > GetTextRunSpans() #endif { if (_imp != null) { return _imp.GetTextRunSpans(); } // otherwise, return an empty collection return new TextSpan [0]; } /// /// Get/set the actual cache instance /// internal TextRunCacheImp Imp { get { return _imp; } set { _imp = value; } } private TextRunCacheImp _imp; } } // 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
- Vector3dCollection.cs
- BinaryObjectReader.cs
- ChtmlTextWriter.cs
- DefinitionProperties.cs
- CompilationSection.cs
- TextTreeExtractElementUndoUnit.cs
- MenuRenderer.cs
- TraceSection.cs
- GeneralEndpointIdentity.cs
- HttpResponseHeader.cs
- AnnotationMap.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- HttpCachePolicyBase.cs
- IOThreadScheduler.cs
- GPPOINT.cs
- Registration.cs
- PersonalizationProviderCollection.cs
- CookieHandler.cs
- IntSecurity.cs
- SqlNodeAnnotations.cs
- odbcmetadatafactory.cs
- BatchWriter.cs
- FillErrorEventArgs.cs
- AssociationSetEnd.cs
- SmtpNegotiateAuthenticationModule.cs
- WebPartDescription.cs
- Authorization.cs
- EntityDesignPluralizationHandler.cs
- NamespaceInfo.cs
- DocumentOrderComparer.cs
- AuthenticationManager.cs
- StylusPointPropertyUnit.cs
- TransformationRules.cs
- CloudCollection.cs
- Listbox.cs
- SQLInt16Storage.cs
- UIPermission.cs
- TypeSystem.cs
- ContentControl.cs
- Empty.cs
- WebPartConnectionsConfigureVerb.cs
- PrimitiveList.cs
- HandleTable.cs
- InitializerFacet.cs
- ObjRef.cs
- BulletedList.cs
- MultiDataTrigger.cs
- PassportAuthentication.cs
- OracleNumber.cs
- IgnoreFileBuildProvider.cs
- QueryStringParameter.cs
- IDictionary.cs
- FloaterParaClient.cs
- HostExecutionContextManager.cs
- Oid.cs
- OperationFormatUse.cs
- XsltLoader.cs
- DocumentViewerConstants.cs
- SqlCommandSet.cs
- ResourceDescriptionAttribute.cs
- ServicePoint.cs
- AliasGenerator.cs
- ProtocolsConfigurationHandler.cs
- PanelContainerDesigner.cs
- DocumentXPathNavigator.cs
- TraceListeners.cs
- ImageButton.cs
- ServiceContractListItemList.cs
- SqlProviderManifest.cs
- ConfigurationStrings.cs
- ComponentEditorPage.cs
- Model3DCollection.cs
- PackagePart.cs
- Hashtable.cs
- ReliableRequestSessionChannel.cs
- NativeMethods.cs
- UpdatePanel.cs
- HttpModuleAction.cs
- BinaryNode.cs
- ReflectionUtil.cs
- StreamGeometry.cs
- Types.cs
- HashAlgorithm.cs
- TextBoxLine.cs
- WsdlBuildProvider.cs
- ProfessionalColors.cs
- InternalTypeHelper.cs
- SHA256.cs
- TripleDESCryptoServiceProvider.cs
- ManagementClass.cs
- Base64Stream.cs
- ProviderBase.cs
- AssociationType.cs
- WindowsTreeView.cs
- CompilerWrapper.cs
- ValidatorCompatibilityHelper.cs
- WorkflowMarkupElementEventArgs.cs
- TraceFilter.cs
- ResourceAttributes.cs
- DeviceSpecificChoice.cs