Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListChangedEventArgs.cs
- ContractListAdapter.cs
- InvalidEnumArgumentException.cs
- ProvidePropertyAttribute.cs
- ResXResourceReader.cs
- WorkflowItemsPresenter.cs
- CompositeFontFamily.cs
- ComponentResourceManager.cs
- BasicHttpSecurity.cs
- ReflectionServiceProvider.cs
- WindowsPen.cs
- AssemblyResourceLoader.cs
- Enum.cs
- ConsoleKeyInfo.cs
- LinqExpressionNormalizer.cs
- DocumentScope.cs
- ToolStripDropTargetManager.cs
- ReferencedAssembly.cs
- X509SecurityTokenProvider.cs
- ColumnWidthChangedEvent.cs
- StrokeNodeData.cs
- ViewValidator.cs
- ClockGroup.cs
- DataControlCommands.cs
- TextDocumentView.cs
- SR.cs
- SmtpAuthenticationManager.cs
- SmiMetaDataProperty.cs
- ParseElement.cs
- EventSetter.cs
- _LocalDataStoreMgr.cs
- TimeSpanParse.cs
- SparseMemoryStream.cs
- SecurityTokenResolver.cs
- BrowsableAttribute.cs
- SupportedAddressingMode.cs
- BrowserCapabilitiesFactoryBase.cs
- BaseParser.cs
- Point3DCollection.cs
- PolyLineSegment.cs
- HttpCookiesSection.cs
- MonitorWrapper.cs
- VectorKeyFrameCollection.cs
- AliasExpr.cs
- Margins.cs
- TableLayoutColumnStyleCollection.cs
- AliasedSlot.cs
- LocalizationComments.cs
- WindowsIdentity.cs
- SafeNativeMethods.cs
- TdsParser.cs
- _LocalDataStoreMgr.cs
- ExtendLockAsyncResult.cs
- SymbolPair.cs
- IPPacketInformation.cs
- Font.cs
- SelectionProviderWrapper.cs
- OdbcUtils.cs
- MenuCommands.cs
- Compiler.cs
- assertwrapper.cs
- DBConnectionString.cs
- TraceUtils.cs
- ProxyFragment.cs
- OracleDataAdapter.cs
- FormClosedEvent.cs
- RecognizerInfo.cs
- NonClientArea.cs
- WebPartCatalogAddVerb.cs
- NullableDecimalAverageAggregationOperator.cs
- ControlParser.cs
- VisualTarget.cs
- PenContexts.cs
- PassportAuthenticationModule.cs
- TemplateFactory.cs
- XPathEmptyIterator.cs
- DataSysAttribute.cs
- PolyLineSegment.cs
- ArcSegment.cs
- XmlReflectionImporter.cs
- HttpSessionStateBase.cs
- WebRequest.cs
- Focus.cs
- EarlyBoundInfo.cs
- EventLogPermission.cs
- MessageProtectionOrder.cs
- SerializationTrace.cs
- DataComponentGenerator.cs
- AspNetHostingPermission.cs
- SoapServerMessage.cs
- RepeaterItemEventArgs.cs
- SupportingTokenAuthenticatorSpecification.cs
- XmlSchemaCompilationSettings.cs
- CommentEmitter.cs
- MethodToken.cs
- COM2PictureConverter.cs
- Message.cs
- XhtmlBasicListAdapter.cs
- CodeAccessSecurityEngine.cs