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
- ValidationErrorCollection.cs
- Maps.cs
- OracleCommandSet.cs
- PrimitiveType.cs
- SourceFileBuildProvider.cs
- PenThreadPool.cs
- BitmapDecoder.cs
- UiaCoreApi.cs
- TextTreeUndo.cs
- ObjectDataSourceSelectingEventArgs.cs
- EventLogPermissionEntry.cs
- StructuredTypeInfo.cs
- Renderer.cs
- EntityTypeEmitter.cs
- BuildProviderCollection.cs
- TagNameToTypeMapper.cs
- UriScheme.cs
- ProviderConnectionPoint.cs
- OptimalTextSource.cs
- TimerEventSubscriptionCollection.cs
- UserControl.cs
- HttpContextServiceHost.cs
- GeneralTransformGroup.cs
- _TLSstream.cs
- Parameter.cs
- ResXBuildProvider.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- RestHandler.cs
- XmlAttributeAttribute.cs
- HTMLTextWriter.cs
- SoapAttributeAttribute.cs
- DependencyObjectProvider.cs
- Size.cs
- DateTimeUtil.cs
- TextBoxLine.cs
- FixedSOMContainer.cs
- ProfilePropertyNameValidator.cs
- ConfigurationPropertyAttribute.cs
- HelpKeywordAttribute.cs
- VerificationAttribute.cs
- HttpPostLocalhostServerProtocol.cs
- SqlParameterCollection.cs
- OleDbParameterCollection.cs
- EventMappingSettingsCollection.cs
- TabItemWrapperAutomationPeer.cs
- FloatAverageAggregationOperator.cs
- DbProviderServices.cs
- ObjectDataSourceView.cs
- ObjectQuery.cs
- CheckBoxFlatAdapter.cs
- HyperLink.cs
- WindowsListViewItem.cs
- MessageBox.cs
- TreeNodeSelectionProcessor.cs
- UnsafeNativeMethods.cs
- CodeMemberMethod.cs
- Merger.cs
- MonthChangedEventArgs.cs
- CompositeFontInfo.cs
- WebServiceResponse.cs
- UserControlCodeDomTreeGenerator.cs
- RowToFieldTransformer.cs
- TypeLoadException.cs
- BitmapEffectrendercontext.cs
- Error.cs
- BamlLocalizableResourceKey.cs
- EdmProperty.cs
- XmlSerializerObjectSerializer.cs
- safelinkcollection.cs
- TreeNode.cs
- GetFileNameResult.cs
- DynamicDataExtensions.cs
- SqlInfoMessageEvent.cs
- GridViewSelectEventArgs.cs
- SpeechEvent.cs
- DataSourceCollectionBase.cs
- JoinTreeNode.cs
- EventSinkHelperWriter.cs
- PhysicalAddress.cs
- DocumentApplicationJournalEntry.cs
- FieldToken.cs
- NodeLabelEditEvent.cs
- ManifestBasedResourceGroveler.cs
- ImageSourceConverter.cs
- DelegatingStream.cs
- IntellisenseTextBox.cs
- PickDesigner.xaml.cs
- TypeResolvingOptions.cs
- ScrollBar.cs
- Clipboard.cs
- DataObjectSettingDataEventArgs.cs
- LongSumAggregationOperator.cs
- ActivitySurrogateSelector.cs
- StateManager.cs
- SymbolType.cs
- ProxyHwnd.cs
- QueueProcessor.cs
- DynamicDiscoveryDocument.cs
- TreeNodeMouseHoverEvent.cs
- _TransmitFileOverlappedAsyncResult.cs