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
- Dictionary.cs
- StubHelpers.cs
- ClientSession.cs
- ActiveXHost.cs
- MsmqIntegrationSecurityElement.cs
- InheritedPropertyDescriptor.cs
- SqlReferenceCollection.cs
- CopyEncoder.cs
- TypeDescriptor.cs
- ErrorWebPart.cs
- UrlPath.cs
- TextPenaltyModule.cs
- UrlMapping.cs
- WebPartDisplayMode.cs
- ResourcesBuildProvider.cs
- XmlDesigner.cs
- DefaultAsyncDataDispatcher.cs
- DocumentPage.cs
- TraceHwndHost.cs
- SourceExpressionException.cs
- ProfileManager.cs
- SystemKeyConverter.cs
- GeometryModel3D.cs
- FontFamilyValueSerializer.cs
- DefaultPrintController.cs
- DataListItemEventArgs.cs
- XmlParser.cs
- messageonlyhwndwrapper.cs
- ChannelServices.cs
- HandoffBehavior.cs
- OperatingSystem.cs
- DbTransaction.cs
- FillErrorEventArgs.cs
- SelectedGridItemChangedEvent.cs
- ReliabilityContractAttribute.cs
- ListViewUpdateEventArgs.cs
- TreeViewImageKeyConverter.cs
- ToolStripSplitStackLayout.cs
- UnsafeNativeMethods.cs
- Deflater.cs
- DemultiplexingClientMessageFormatter.cs
- WebConfigurationHostFileChange.cs
- MemberDomainMap.cs
- x509store.cs
- DesignerHelpers.cs
- TraceSection.cs
- Parameter.cs
- EventBookmark.cs
- XPathNodeInfoAtom.cs
- Axis.cs
- EditingCommands.cs
- TreeNodeCollectionEditor.cs
- PackageDigitalSignatureManager.cs
- HttpCacheVary.cs
- ActiveXHost.cs
- SplashScreenNativeMethods.cs
- Scheduler.cs
- WebResponse.cs
- XmlAnyElementAttribute.cs
- FileAuthorizationModule.cs
- QuotaExceededException.cs
- DesignerTransactionCloseEvent.cs
- ImagingCache.cs
- StylusPoint.cs
- Signature.cs
- InternalConfigRoot.cs
- ConstructorBuilder.cs
- XmlWrappingReader.cs
- EntityDataSourceColumn.cs
- _Connection.cs
- ProcessHostServerConfig.cs
- TextModifierScope.cs
- HtmlElementCollection.cs
- TimeoutException.cs
- SamlConstants.cs
- TabPage.cs
- GreenMethods.cs
- RuntimeHandles.cs
- CellParaClient.cs
- GiveFeedbackEventArgs.cs
- ApplicationDirectoryMembershipCondition.cs
- figurelength.cs
- _ShellExpression.cs
- AutoSizeToolBoxItem.cs
- DataPointer.cs
- OpenFileDialog.cs
- LabelLiteral.cs
- SystemResources.cs
- BitFlagsGenerator.cs
- OdbcReferenceCollection.cs
- StreamGeometry.cs
- PrePrepareMethodAttribute.cs
- WebPartManager.cs
- TextEffect.cs
- BooleanConverter.cs
- formatter.cs
- ErrorsHelper.cs
- RtfToken.cs
- RulePatternOps.cs
- GridEntry.cs