Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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: [....]/sites/Avalon/Specs/Text%20Formatting%20API.doc // // Created: 2-25-2003 [....] ([....]) // //----------------------------------------------------------------------- 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
- GZipStream.cs
- XmlResolver.cs
- MouseButton.cs
- DesignerAttribute.cs
- Rfc2898DeriveBytes.cs
- ValidatingReaderNodeData.cs
- ItemDragEvent.cs
- CredentialCache.cs
- ExpressionVisitor.cs
- TextTreePropertyUndoUnit.cs
- XamlToRtfParser.cs
- ReadOnlyMetadataCollection.cs
- KeyToListMap.cs
- DefaultBindingPropertyAttribute.cs
- TagPrefixInfo.cs
- sqlpipe.cs
- SevenBitStream.cs
- WebPartConnectionsCancelVerb.cs
- ImpersonationContext.cs
- RecoverInstanceLocksCommand.cs
- Int64Converter.cs
- DocumentOrderQuery.cs
- WebControl.cs
- Peer.cs
- TransactionChannel.cs
- TrackBar.cs
- EventPrivateKey.cs
- SoapFormatterSinks.cs
- BamlResourceContent.cs
- ContentType.cs
- IntSecurity.cs
- ToolStripProgressBar.cs
- DocumentScope.cs
- Point4DValueSerializer.cs
- WmpBitmapDecoder.cs
- HMACMD5.cs
- Compiler.cs
- SqlCommand.cs
- IISUnsafeMethods.cs
- TextSegment.cs
- ToolStripItem.cs
- TransformProviderWrapper.cs
- ResXResourceWriter.cs
- TreeViewAutomationPeer.cs
- ExpressionBindingsDialog.cs
- GrammarBuilderDictation.cs
- TraceInternal.cs
- BindableTemplateBuilder.cs
- SignedPkcs7.cs
- PreservationFileReader.cs
- SamlAuthenticationClaimResource.cs
- WrappedIUnknown.cs
- DependencyObjectCodeDomSerializer.cs
- QueryOperatorEnumerator.cs
- CheckBoxFlatAdapter.cs
- Nodes.cs
- HtmlTableRowCollection.cs
- XomlCompilerError.cs
- DebuggerAttributes.cs
- ProfileBuildProvider.cs
- EntityProxyTypeInfo.cs
- SizeAnimationClockResource.cs
- FileReader.cs
- HtmlElementEventArgs.cs
- TemplateBindingExpression.cs
- Formatter.cs
- CompilationUtil.cs
- UnsafeNativeMethods.cs
- FrameworkElementFactoryMarkupObject.cs
- NullableDoubleSumAggregationOperator.cs
- WindowsGraphicsCacheManager.cs
- CaseStatementSlot.cs
- Grant.cs
- CounterCreationDataConverter.cs
- ReverseComparer.cs
- DocumentSequence.cs
- CheckBoxFlatAdapter.cs
- GridViewUpdateEventArgs.cs
- PropertyInformationCollection.cs
- Sorting.cs
- KeyNotFoundException.cs
- SqlFunctionAttribute.cs
- ReadWriteSpinLock.cs
- CommandLibraryHelper.cs
- pingexception.cs
- DataGridViewCellStyleConverter.cs
- ClientUrlResolverWrapper.cs
- MouseEventArgs.cs
- ParamArrayAttribute.cs
- Solver.cs
- DesignerLoader.cs
- DuplicateWaitObjectException.cs
- Select.cs
- StandardTransformFactory.cs
- FloaterBaseParaClient.cs
- DrawTreeNodeEventArgs.cs
- BaseDataListPage.cs
- XhtmlBasicPageAdapter.cs
- EmptyControlCollection.cs
- SizeIndependentAnimationStorage.cs