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
- CursorConverter.cs
- Calendar.cs
- XmlEncoding.cs
- AndMessageFilterTable.cs
- ModelVisual3D.cs
- FlowPosition.cs
- DockPattern.cs
- ILGen.cs
- TransactionManager.cs
- XmlSiteMapProvider.cs
- Memoizer.cs
- XmlDesigner.cs
- IListConverters.cs
- SqlRowUpdatingEvent.cs
- TitleStyle.cs
- HtmlMeta.cs
- Rectangle.cs
- ContainsRowNumberChecker.cs
- PatternMatcher.cs
- XXXOnTypeBuilderInstantiation.cs
- StyleTypedPropertyAttribute.cs
- CachedPathData.cs
- ThicknessAnimation.cs
- MailWebEventProvider.cs
- ListSourceHelper.cs
- ReliableSessionBindingElement.cs
- RadioButtonAutomationPeer.cs
- SingleAnimationUsingKeyFrames.cs
- FixedSOMImage.cs
- ToolbarAUtomationPeer.cs
- DSACryptoServiceProvider.cs
- _ListenerResponseStream.cs
- MaskedTextBoxDesignerActionList.cs
- BehaviorDragDropEventArgs.cs
- ModelItemDictionaryImpl.cs
- SharedConnectionWorkflowTransactionService.cs
- NavigationProperty.cs
- IsolatedStorageFile.cs
- ServiceRoute.cs
- NavigateEvent.cs
- TreeNodeBinding.cs
- TailPinnedEventArgs.cs
- ModifyActivitiesPropertyDescriptor.cs
- ObjectManager.cs
- TypeExtensionSerializer.cs
- RegexGroupCollection.cs
- SoapFault.cs
- PropertyMapper.cs
- VectorAnimationUsingKeyFrames.cs
- BooleanAnimationBase.cs
- WindowsPrincipal.cs
- InternalBufferOverflowException.cs
- StorageMappingFragment.cs
- ProviderConnectionPointCollection.cs
- DriveInfo.cs
- Pkcs7Signer.cs
- ToolstripProfessionalRenderer.cs
- RolePrincipal.cs
- PanelStyle.cs
- FontFaceLayoutInfo.cs
- Graphics.cs
- IUnknownConstantAttribute.cs
- DbConnectionInternal.cs
- EntityCommand.cs
- RuleCache.cs
- SqlMetaData.cs
- XmlHierarchyData.cs
- LogicalExpressionEditor.cs
- SymLanguageVendor.cs
- StackOverflowException.cs
- TextShapeableCharacters.cs
- AdapterDictionary.cs
- ErrorWrapper.cs
- ConfigsHelper.cs
- ObjectStateEntry.cs
- HyperLinkColumn.cs
- SpeechEvent.cs
- EventPropertyMap.cs
- EventMappingSettingsCollection.cs
- CaseStatementProjectedSlot.cs
- SqlDataRecord.cs
- SoapFaultCodes.cs
- EdmScalarPropertyAttribute.cs
- PlatformCulture.cs
- PartialCachingAttribute.cs
- TreeViewHitTestInfo.cs
- PathParser.cs
- DataSourceHelper.cs
- SafeNativeMethods.cs
- PieceDirectory.cs
- SqlBooleanizer.cs
- EventManager.cs
- DesignerDataStoredProcedure.cs
- SqlConnectionHelper.cs
- ReliableMessagingVersion.cs
- TextServicesManager.cs
- SessionStateContainer.cs
- ClientScriptManagerWrapper.cs
- RMEnrollmentPage3.cs
- WebPartHelpVerb.cs