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
- StateManagedCollection.cs
- GridViewSortEventArgs.cs
- Bits.cs
- DeferrableContentConverter.cs
- TokenizerHelper.cs
- ByteAnimationBase.cs
- ClientScriptManager.cs
- SimpleHandlerFactory.cs
- PackagingUtilities.cs
- Parser.cs
- ResolveInfo.cs
- ActivationServices.cs
- SingleAnimationUsingKeyFrames.cs
- ValidationErrorInfo.cs
- DataGridViewControlCollection.cs
- HtmlInputImage.cs
- GetKeyedHashRequest.cs
- InstanceData.cs
- SafeHandle.cs
- FormViewRow.cs
- SecureEnvironment.cs
- TextRenderer.cs
- ConsumerConnectionPointCollection.cs
- basemetadatamappingvisitor.cs
- DynamicMethod.cs
- TableDetailsCollection.cs
- XmlObjectSerializerReadContextComplexJson.cs
- ReliabilityContractAttribute.cs
- PingReply.cs
- CodeDomLoader.cs
- DataDocumentXPathNavigator.cs
- AsnEncodedData.cs
- SqlServer2KCompatibilityAnnotation.cs
- diagnosticsswitches.cs
- DBParameter.cs
- WebRequestModulesSection.cs
- ResourceProviderFactory.cs
- CalendarTable.cs
- XamlFilter.cs
- OrthographicCamera.cs
- ContainerFilterService.cs
- ArrangedElement.cs
- ParameterModifier.cs
- CommandHelper.cs
- HostingEnvironment.cs
- MatrixAnimationBase.cs
- SimpleWorkerRequest.cs
- ComboBox.cs
- RegexMatch.cs
- WarningException.cs
- Function.cs
- SiteMap.cs
- SimpleType.cs
- BeginStoryboard.cs
- OverloadGroupAttribute.cs
- CommandBindingCollection.cs
- RelationshipFixer.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- TreeIterators.cs
- HostingEnvironmentWrapper.cs
- SettingsContext.cs
- TextCollapsingProperties.cs
- HttpRequestBase.cs
- SqlProcedureAttribute.cs
- IdentityManager.cs
- basevalidator.cs
- PointKeyFrameCollection.cs
- InfoCardSymmetricAlgorithm.cs
- TagPrefixInfo.cs
- WindowsHyperlink.cs
- PresentationTraceSources.cs
- CodeTypeMemberCollection.cs
- VisualBrush.cs
- TextSelectionHelper.cs
- Attributes.cs
- QilTypeChecker.cs
- X509UI.cs
- DefaultSection.cs
- SID.cs
- CleanUpVirtualizedItemEventArgs.cs
- NamespaceList.cs
- XmlSchemaComplexType.cs
- HttpContext.cs
- XamlValidatingReader.cs
- OpacityConverter.cs
- Timeline.cs
- TargetControlTypeCache.cs
- ObjectFullSpanRewriter.cs
- SqlParameterizer.cs
- Light.cs
- CultureSpecificCharacterBufferRange.cs
- EventPrivateKey.cs
- ConfigurationSectionGroupCollection.cs
- EFColumnProvider.cs
- BamlTreeNode.cs
- VersionPair.cs
- WizardPanelChangingEventArgs.cs
- FlowLayoutPanel.cs
- QuaternionConverter.cs
- RelatedPropertyManager.cs