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
- ThreadLocal.cs
- ComplexPropertyEntry.cs
- SqlBulkCopy.cs
- FormatException.cs
- ObjectDataSourceSelectingEventArgs.cs
- ForeignKeyConstraint.cs
- BuildResultCache.cs
- CornerRadius.cs
- QueryCursorEventArgs.cs
- ExecutionContext.cs
- ColorConvertedBitmapExtension.cs
- AnnotationObservableCollection.cs
- GridEntryCollection.cs
- ExportOptions.cs
- listitem.cs
- SiteMap.cs
- FormsIdentity.cs
- ToolStripSeparator.cs
- StateDesigner.Layouts.cs
- CounterSetInstanceCounterDataSet.cs
- List.cs
- AutoResizedEvent.cs
- BoundConstants.cs
- EventEntry.cs
- TdsParserStaticMethods.cs
- FormatterServices.cs
- ProxyWebPartManager.cs
- ScrollBar.cs
- DataSourceCache.cs
- FrameworkContentElement.cs
- UserPersonalizationStateInfo.cs
- WebPartZoneCollection.cs
- AspCompat.cs
- UnitControl.cs
- DataGridViewHitTestInfo.cs
- XmlAtomicValue.cs
- TimelineCollection.cs
- ReadOnlyHierarchicalDataSource.cs
- webeventbuffer.cs
- FormViewModeEventArgs.cs
- MessageSecurityVersion.cs
- TCPListener.cs
- AttachedPropertyDescriptor.cs
- FlagsAttribute.cs
- XhtmlBasicImageAdapter.cs
- ReachNamespaceInfo.cs
- AsyncDataRequest.cs
- EntityDataSourceState.cs
- TimeoutException.cs
- DelegatingConfigHost.cs
- JpegBitmapEncoder.cs
- DeferredElementTreeState.cs
- XmlSchemaInferenceException.cs
- _SpnDictionary.cs
- DbConnectionPoolGroup.cs
- StrokeNodeData.cs
- CultureInfoConverter.cs
- LogEntryUtils.cs
- TableCell.cs
- WorkflowQueueInfo.cs
- SqlCommand.cs
- BooleanAnimationBase.cs
- GridItemPatternIdentifiers.cs
- StrokeDescriptor.cs
- MailDefinitionBodyFileNameEditor.cs
- DataGridRowClipboardEventArgs.cs
- StickyNoteContentControl.cs
- UnsafeNativeMethods.cs
- TraceListeners.cs
- CacheEntry.cs
- EditingMode.cs
- MergablePropertyAttribute.cs
- NameValuePair.cs
- TextDecorationCollectionConverter.cs
- ContractsBCL.cs
- ClaimComparer.cs
- PropertyChangedEventArgs.cs
- BuildManagerHost.cs
- PageCatalogPart.cs
- DiscoveryMessageSequenceCD1.cs
- VarRemapper.cs
- ZipPackage.cs
- AssociationSet.cs
- ActionItem.cs
- PackWebRequestFactory.cs
- HMACSHA256.cs
- FixedSOMPageConstructor.cs
- DataServiceQueryContinuation.cs
- ClientConvert.cs
- BitmapEffectInput.cs
- Rotation3DKeyFrameCollection.cs
- SchemaAttDef.cs
- TextServicesHost.cs
- recordstatefactory.cs
- DataGridViewCellCollection.cs
- FragmentNavigationEventArgs.cs
- ConnectionsZoneDesigner.cs
- Identity.cs
- HttpMethodConstraint.cs
- InputBinder.cs