Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- AlignmentYValidation.cs
- DataMemberConverter.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- TcpTransportSecurity.cs
- EntityContainerRelationshipSet.cs
- ExpressionTextBox.xaml.cs
- MethodBuilder.cs
- IndexedSelectQueryOperator.cs
- XomlCompilerResults.cs
- DataGridTemplateColumn.cs
- MenuEventArgs.cs
- DataComponentNameHandler.cs
- NameSpaceExtractor.cs
- SendParametersContent.cs
- AttributedMetaModel.cs
- TextHintingModeValidation.cs
- DataGridViewLinkCell.cs
- ManipulationDeltaEventArgs.cs
- StylusPoint.cs
- PathGeometry.cs
- SchemaTableColumn.cs
- TitleStyle.cs
- ObjectQuery_EntitySqlExtensions.cs
- SqlUnionizer.cs
- Span.cs
- Terminate.cs
- ToolBar.cs
- Hashtable.cs
- ClientUrlResolverWrapper.cs
- MemoryPressure.cs
- OleDbErrorCollection.cs
- UnknownBitmapDecoder.cs
- CodeAccessSecurityEngine.cs
- OrderedEnumerableRowCollection.cs
- Int32EqualityComparer.cs
- PersonalizationProvider.cs
- WinFormsComponentEditor.cs
- StorageEntityContainerMapping.cs
- Screen.cs
- GenericAuthenticationEventArgs.cs
- OpenTypeLayoutCache.cs
- VisualTarget.cs
- StdValidatorsAndConverters.cs
- TypeUnloadedException.cs
- XPathException.cs
- TypeConverterValueSerializer.cs
- HandledEventArgs.cs
- View.cs
- PeerContact.cs
- Menu.cs
- Accessible.cs
- QilLoop.cs
- SqlStatistics.cs
- EmbeddedMailObject.cs
- BufferedOutputStream.cs
- DockPatternIdentifiers.cs
- XPathNavigator.cs
- TextSelectionHelper.cs
- TargetException.cs
- X509CertificateStore.cs
- PropertyBuilder.cs
- DataGridViewTextBoxColumn.cs
- UnitySerializationHolder.cs
- CssTextWriter.cs
- ExceptionCollection.cs
- XamlDesignerSerializationManager.cs
- ConfigXmlAttribute.cs
- TreeNodeStyleCollection.cs
- BufferedGraphicsContext.cs
- EncoderExceptionFallback.cs
- Image.cs
- LabelLiteral.cs
- LogExtent.cs
- PointAnimationUsingKeyFrames.cs
- Span.cs
- ToolboxSnapDragDropEventArgs.cs
- Cloud.cs
- SMSvcHost.cs
- Resources.Designer.cs
- ValidationPropertyAttribute.cs
- VersionedStream.cs
- SrgsElementFactoryCompiler.cs
- SqlDataSourceSummaryPanel.cs
- WindowsEditBoxRange.cs
- HelloMessageCD1.cs
- WindowPattern.cs
- ErrorsHelper.cs
- FlowNode.cs
- SqlInternalConnection.cs
- DataRelationCollection.cs
- ListViewInsertionMark.cs
- XmlEncodedRawTextWriter.cs
- SqlConnectionPoolProviderInfo.cs
- SqlDependency.cs
- WebBrowserBase.cs
- SharedPerformanceCounter.cs
- ClientScriptItemCollection.cs
- StylusEventArgs.cs
- GestureRecognizer.cs
- _OverlappedAsyncResult.cs