Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- ReverseInheritProperty.cs
- GuidConverter.cs
- GlobalizationSection.cs
- ByteAnimationBase.cs
- CLSCompliantAttribute.cs
- Assert.cs
- XmlSchemaType.cs
- ThreadPool.cs
- SendMailErrorEventArgs.cs
- DesignerTextViewAdapter.cs
- SubqueryRules.cs
- ErrorFormatterPage.cs
- UpDownEvent.cs
- NavigationPropertyEmitter.cs
- ChtmlTextWriter.cs
- BlobPersonalizationState.cs
- SortableBindingList.cs
- PassportPrincipal.cs
- EncodingNLS.cs
- Collection.cs
- AutoResizedEvent.cs
- CodeDomSerializerBase.cs
- DataServiceProviderMethods.cs
- TemplatePropertyEntry.cs
- MergeFailedEvent.cs
- log.cs
- TimelineGroup.cs
- MsmqIntegrationBindingElement.cs
- EntityAdapter.cs
- DataGridViewCellCancelEventArgs.cs
- xmlsaver.cs
- CodeAccessPermission.cs
- InvalidOleVariantTypeException.cs
- BitmapEffectGroup.cs
- MultilineStringConverter.cs
- XPathDocument.cs
- ParameterToken.cs
- SmiEventStream.cs
- AuthorizationRule.cs
- ParserContext.cs
- CultureTable.cs
- ExpressionBindings.cs
- MobileControlsSectionHelper.cs
- Button.cs
- ModelUIElement3D.cs
- BasePattern.cs
- DataGridViewCellStyle.cs
- CodeIterationStatement.cs
- SizeAnimation.cs
- ScriptReferenceEventArgs.cs
- BigInt.cs
- UInt64Converter.cs
- SqlDelegatedTransaction.cs
- IndexedEnumerable.cs
- cookie.cs
- ToolStripContainer.cs
- CallContext.cs
- FrameworkElement.cs
- CodeFieldReferenceExpression.cs
- ConstructorNeedsTagAttribute.cs
- DictionaryKeyPropertyAttribute.cs
- tabpagecollectioneditor.cs
- Adorner.cs
- ToolTipAutomationPeer.cs
- PermissionListSet.cs
- MDIControlStrip.cs
- Compensate.cs
- MultiDataTrigger.cs
- HijriCalendar.cs
- RawKeyboardInputReport.cs
- Console.cs
- MembershipAdapter.cs
- DateTimeFormat.cs
- JapaneseCalendar.cs
- SqlDataSourceSelectingEventArgs.cs
- ConfigurationSettings.cs
- TraceRecord.cs
- ImageBrush.cs
- _WinHttpWebProxyDataBuilder.cs
- TypeElement.cs
- ExpressionBinding.cs
- RSAPKCS1SignatureDeformatter.cs
- MaterialGroup.cs
- CultureInfoConverter.cs
- GeneralTransformGroup.cs
- BinaryObjectInfo.cs
- ActivityMarkupSerializationProvider.cs
- BrowserCapabilitiesFactory.cs
- IdentityReference.cs
- ParameterCollection.cs
- SerializationSectionGroup.cs
- Storyboard.cs
- BrushMappingModeValidation.cs
- AttachmentCollection.cs
- ServiceHost.cs
- BaseCollection.cs
- DataGridHeaderBorder.cs
- ApplicationManager.cs
- ManipulationDevice.cs
- DesignConnectionCollection.cs