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
- ValidationError.cs
- DataGridViewCellValidatingEventArgs.cs
- SystemTcpStatistics.cs
- FontStyleConverter.cs
- Comparer.cs
- TreeViewCancelEvent.cs
- CompiledQueryCacheKey.cs
- SectionXmlInfo.cs
- SecurityListenerSettingsLifetimeManager.cs
- DataGridViewLinkColumn.cs
- WebPartCollection.cs
- X509RawDataKeyIdentifierClause.cs
- XmlComment.cs
- StateBag.cs
- EntityCommandCompilationException.cs
- SecureUICommand.cs
- DeferredReference.cs
- FilePrompt.cs
- Panel.cs
- CodeSubDirectoriesCollection.cs
- DiagnosticTrace.cs
- WpfGeneratedKnownTypes.cs
- PieceNameHelper.cs
- DesignConnection.cs
- DbConnectionPoolIdentity.cs
- XslNumber.cs
- DesignerAttribute.cs
- SystemIcons.cs
- SchemaMerger.cs
- OdbcCommandBuilder.cs
- OledbConnectionStringbuilder.cs
- InputEventArgs.cs
- ConfigurationValidatorBase.cs
- CaseInsensitiveComparer.cs
- BrowserCapabilitiesCodeGenerator.cs
- NoneExcludedImageIndexConverter.cs
- PipeConnection.cs
- ElementNotAvailableException.cs
- DbConnectionInternal.cs
- CardSpacePolicyElement.cs
- LinqDataSourceView.cs
- PlainXmlDeserializer.cs
- ClientFormsAuthenticationCredentials.cs
- HttpCacheVary.cs
- DecimalFormatter.cs
- MetadataProperty.cs
- Method.cs
- DynamicObjectAccessor.cs
- PhonemeConverter.cs
- LocalizationComments.cs
- IfAction.cs
- RegexStringValidator.cs
- LogicalExpr.cs
- ObjectManager.cs
- Boolean.cs
- ListItemCollection.cs
- TextModifier.cs
- Speller.cs
- QueryOperator.cs
- TextDpi.cs
- PreservationFileReader.cs
- ElementNotEnabledException.cs
- XMLSyntaxException.cs
- CodeThrowExceptionStatement.cs
- CollectionExtensions.cs
- KeyEventArgs.cs
- FontNamesConverter.cs
- BulletedList.cs
- PackageStore.cs
- MobileControlDesigner.cs
- DictionaryContent.cs
- CorrelationQueryBehavior.cs
- AnnotationStore.cs
- DataTableNameHandler.cs
- MorphHelpers.cs
- PersonalizationState.cs
- FileDialog_Vista_Interop.cs
- ImplicitInputBrush.cs
- MetadataPropertyAttribute.cs
- WebAdminConfigurationHelper.cs
- RoamingStoreFile.cs
- ContractTypeNameElement.cs
- CodeConditionStatement.cs
- Properties.cs
- FontDifferentiator.cs
- WinFormsSecurity.cs
- AuthorizationRule.cs
- webeventbuffer.cs
- StoryFragments.cs
- SiteMap.cs
- ListViewSortEventArgs.cs
- TrimSurroundingWhitespaceAttribute.cs
- ToolStripInSituService.cs
- SecurityTokenValidationException.cs
- TreeNodeSelectionProcessor.cs
- DefaultProxySection.cs
- XPathAxisIterator.cs
- InternalControlCollection.cs
- PowerEase.cs
- QilIterator.cs