Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / textformatting / TextRunCache.cs / 1305600 / 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
- QueryLifecycle.cs
- StreamMarshaler.cs
- ViewStateModeByIdAttribute.cs
- filewebresponse.cs
- OracleMonthSpan.cs
- RayMeshGeometry3DHitTestResult.cs
- SchemaTableColumn.cs
- MD5HashHelper.cs
- SHA512Managed.cs
- WindowProviderWrapper.cs
- GridViewColumnCollection.cs
- DataServiceQueryProvider.cs
- HiddenField.cs
- AsyncOperationContext.cs
- XmlTextReader.cs
- FormsIdentity.cs
- ToolStripLabel.cs
- LicenseManager.cs
- XmlSchema.cs
- log.cs
- XsltOutput.cs
- ResourcePermissionBaseEntry.cs
- base64Transforms.cs
- EmissiveMaterial.cs
- Converter.cs
- RuntimeTrackingProfile.cs
- ColorBlend.cs
- WebPart.cs
- SqlNodeAnnotations.cs
- WebPartDisplayModeEventArgs.cs
- SingleTagSectionHandler.cs
- PageEventArgs.cs
- MultipartContentParser.cs
- FilterUserControlBase.cs
- SignatureDescription.cs
- PageThemeParser.cs
- NamespaceEmitter.cs
- SemanticBasicElement.cs
- RequestQueue.cs
- AnnotationResource.cs
- InfoCardCryptoHelper.cs
- MatchingStyle.cs
- EntitySetDataBindingList.cs
- IFlowDocumentViewer.cs
- ViewBase.cs
- NativeCppClassAttribute.cs
- ScriptHandlerFactory.cs
- WebPartRestoreVerb.cs
- CreatingCookieEventArgs.cs
- UInt32Storage.cs
- ToolStripDropTargetManager.cs
- WebPartCatalogCloseVerb.cs
- DataGridState.cs
- AnimationException.cs
- PropertyChangedEventManager.cs
- ManagementScope.cs
- SqlClientMetaDataCollectionNames.cs
- SqlCacheDependencyDatabaseCollection.cs
- BooleanConverter.cs
- WebPartDisplayModeEventArgs.cs
- TreeNodeCollectionEditor.cs
- HttpProfileGroupBase.cs
- CodeGeneratorOptions.cs
- DateTime.cs
- PassportAuthenticationModule.cs
- PublishLicense.cs
- XmlEntity.cs
- XmlSchemaRedefine.cs
- HtmlLink.cs
- ConditionCollection.cs
- XsltArgumentList.cs
- SymbolType.cs
- WebBrowserDocumentCompletedEventHandler.cs
- XamlToRtfParser.cs
- FileUpload.cs
- DataReceivedEventArgs.cs
- EncoderFallback.cs
- GregorianCalendarHelper.cs
- DynamicUpdateCommand.cs
- XpsFontSubsetter.cs
- WebPartEditorApplyVerb.cs
- SqlDataSourceWizardForm.cs
- CodeGotoStatement.cs
- HttpFileCollection.cs
- NativeMethods.cs
- PageContentAsyncResult.cs
- WSDualHttpBindingCollectionElement.cs
- WaitHandle.cs
- HtmlSelect.cs
- DataStorage.cs
- WebPartEventArgs.cs
- EditorPart.cs
- DeflateStream.cs
- UnhandledExceptionEventArgs.cs
- FontFamily.cs
- TextSelectionHelper.cs
- InvalidAsynchronousStateException.cs
- ControlValuePropertyAttribute.cs
- StructuredCompositeActivityDesigner.cs
- DurableOperationContext.cs