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
- _NetRes.cs
- AuthenticationConfig.cs
- SettingsSection.cs
- FormViewPageEventArgs.cs
- StorageTypeMapping.cs
- ResponseBodyWriter.cs
- PcmConverter.cs
- CodeDomSerializer.cs
- StylusPointCollection.cs
- WebPartConnectionsConfigureVerb.cs
- IdentifierService.cs
- InfoCardTraceRecord.cs
- HtmlInputPassword.cs
- FederatedMessageSecurityOverHttpElement.cs
- StorageEntitySetMapping.cs
- SettingsAttributeDictionary.cs
- NetNamedPipeBinding.cs
- RoleManagerEventArgs.cs
- RC2CryptoServiceProvider.cs
- DeviceSpecificDialogCachedState.cs
- ValueTypeFixupInfo.cs
- TimeSpanConverter.cs
- ToolStripControlHost.cs
- SoundPlayer.cs
- HyperLink.cs
- Vector3DIndependentAnimationStorage.cs
- DBSchemaRow.cs
- XmlSchemaSimpleType.cs
- TypeBuilderInstantiation.cs
- ZipIOCentralDirectoryFileHeader.cs
- UnsettableComboBox.cs
- EntityUtil.cs
- WmpBitmapDecoder.cs
- ChtmlImageAdapter.cs
- UserCancellationException.cs
- Application.cs
- PointHitTestResult.cs
- ClassValidator.cs
- ToolStripContextMenu.cs
- CSharpCodeProvider.cs
- SpecialNameAttribute.cs
- DataGridCellsPanel.cs
- Int32Rect.cs
- RowUpdatingEventArgs.cs
- safemediahandle.cs
- ListBox.cs
- ApplicationSecurityManager.cs
- ExpressionHelper.cs
- DesignTimeTemplateParser.cs
- Operator.cs
- EntityObject.cs
- ParserContext.cs
- IgnorePropertiesAttribute.cs
- SrgsToken.cs
- Repeater.cs
- DurationConverter.cs
- OrCondition.cs
- ValueConversionAttribute.cs
- SapiRecoContext.cs
- Predicate.cs
- SpellerError.cs
- LinqDataSourceContextEventArgs.cs
- RegionInfo.cs
- LookupBindingPropertiesAttribute.cs
- PeerNameRecord.cs
- AliasExpr.cs
- BuildProvider.cs
- ReadOnlyDictionary.cs
- MsmqChannelFactory.cs
- ipaddressinformationcollection.cs
- Brushes.cs
- XhtmlConformanceSection.cs
- PointLight.cs
- WindowsAuthenticationModule.cs
- StylusLogic.cs
- ChannelServices.cs
- ImageAttributes.cs
- DataGridViewCellStyleConverter.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- X509CertificateValidationMode.cs
- DrawingGroup.cs
- ControlEvent.cs
- SafeEventLogWriteHandle.cs
- StringConverter.cs
- BindingManagerDataErrorEventArgs.cs
- MailWebEventProvider.cs
- ScaleTransform3D.cs
- GlobalProxySelection.cs
- DocumentEventArgs.cs
- StylusPointPropertyInfo.cs
- WorkflowEnvironment.cs
- FileInfo.cs
- TranslateTransform.cs
- ObjectViewQueryResultData.cs
- GraphicsState.cs
- QuotedStringWriteStateInfo.cs
- followingsibling.cs
- BufferedGraphicsManager.cs
- Publisher.cs
- DocumentSequenceHighlightLayer.cs