Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- HttpApplication.cs
- CaseExpr.cs
- XmlSchemaAttribute.cs
- ToolTipAutomationPeer.cs
- DataGridPageChangedEventArgs.cs
- DescendantBaseQuery.cs
- XmlDocumentFragment.cs
- XmlDocument.cs
- WmlControlAdapter.cs
- PartialCachingAttribute.cs
- WebServiceMethodData.cs
- DecimalKeyFrameCollection.cs
- EditorZone.cs
- SystemIPAddressInformation.cs
- DataControlFieldCell.cs
- DiagnosticStrings.cs
- SerializationAttributes.cs
- ThreadInterruptedException.cs
- LassoSelectionBehavior.cs
- XmlQueryTypeFactory.cs
- DelayedRegex.cs
- XPathDocumentIterator.cs
- CharEnumerator.cs
- ImageClickEventArgs.cs
- Variable.cs
- SqlCacheDependencyDatabase.cs
- ArgumentOutOfRangeException.cs
- IDReferencePropertyAttribute.cs
- DrawingImage.cs
- GroupDescription.cs
- InputReportEventArgs.cs
- SqlUdtInfo.cs
- AssociationProvider.cs
- DateTimeConverter2.cs
- WebPartHelpVerb.cs
- DesignerSerializationOptionsAttribute.cs
- AutomationPatternInfo.cs
- KerberosTicketHashIdentifierClause.cs
- MemberDescriptor.cs
- brushes.cs
- Regex.cs
- TraceLevelStore.cs
- HttpException.cs
- RootBrowserWindowAutomationPeer.cs
- XmlAtomErrorReader.cs
- WebPartManager.cs
- CodeObject.cs
- GetPageNumberCompletedEventArgs.cs
- DataGridViewRowConverter.cs
- StatusBar.cs
- InkCanvasAutomationPeer.cs
- QueryCacheEntry.cs
- MemberNameValidator.cs
- SoapSchemaImporter.cs
- KeyPullup.cs
- ScriptComponentDescriptor.cs
- adornercollection.cs
- TriggerActionCollection.cs
- TCEAdapterGenerator.cs
- SystemIPGlobalProperties.cs
- DomainUpDown.cs
- ViewStateException.cs
- BoolExpressionVisitors.cs
- UdpMessageProperty.cs
- ProcessThreadCollection.cs
- MobileTemplatedControlDesigner.cs
- ProtocolsInstallComponent.cs
- XamlTypeMapper.cs
- ServiceXNameTypeConverter.cs
- ErrorWrapper.cs
- TextEndOfParagraph.cs
- XmlElementAttribute.cs
- DotAtomReader.cs
- DuplicateContext.cs
- ManifestResourceInfo.cs
- UriParserTemplates.cs
- ResourceCategoryAttribute.cs
- TextTreeTextBlock.cs
- JpegBitmapDecoder.cs
- IgnoreFlushAndCloseStream.cs
- UserUseLicenseDictionaryLoader.cs
- DataStorage.cs
- MtomMessageEncodingElement.cs
- BaseParser.cs
- ContentPosition.cs
- __Filters.cs
- ExpressionReplacer.cs
- GetImportFileNameRequest.cs
- FileFormatException.cs
- SimpleTypesSurrogate.cs
- TextElementEnumerator.cs
- HttpProcessUtility.cs
- HttpContextServiceHost.cs
- SqlCacheDependencyDatabase.cs
- FixedSOMLineRanges.cs
- SchemaNotation.cs
- ServiceChannelFactory.cs
- OleDbDataAdapter.cs
- COM2TypeInfoProcessor.cs
- BitmapEffect.cs