Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Page.cs
- GlobalProxySelection.cs
- LeftCellWrapper.cs
- EntityTypeEmitter.cs
- CodeNamespaceImport.cs
- MessageQueuePermissionEntryCollection.cs
- Marshal.cs
- ResizeGrip.cs
- TransformerInfoCollection.cs
- ProcessThreadCollection.cs
- Button.cs
- XmlToDatasetMap.cs
- HttpModuleActionCollection.cs
- SessionStateContainer.cs
- SafeEventLogWriteHandle.cs
- RowType.cs
- ImageListStreamer.cs
- SpecularMaterial.cs
- AsyncPostBackErrorEventArgs.cs
- X500Name.cs
- SupportingTokenAuthenticatorSpecification.cs
- ProgressBarRenderer.cs
- SplashScreen.cs
- DesignerActionMethodItem.cs
- SqlXml.cs
- ImageInfo.cs
- SafeWaitHandle.cs
- BinaryMethodMessage.cs
- OperationCanceledException.cs
- TraceProvider.cs
- AffineTransform3D.cs
- TreeViewHitTestInfo.cs
- xmlglyphRunInfo.cs
- AvTrace.cs
- ListSourceHelper.cs
- WrappedIUnknown.cs
- TrustManagerPromptUI.cs
- MetadataArtifactLoaderCompositeFile.cs
- EntityDataSourceEntitySetNameItem.cs
- XmlFormatReaderGenerator.cs
- NameValueSectionHandler.cs
- DataGridGeneralPage.cs
- UTF32Encoding.cs
- GridViewRowPresenterBase.cs
- DataGridViewCellMouseEventArgs.cs
- WinFormsSecurity.cs
- XmlBoundElement.cs
- FrameworkObject.cs
- TabletDeviceInfo.cs
- IFlowDocumentViewer.cs
- TreeIterator.cs
- ChangeProcessor.cs
- xmlfixedPageInfo.cs
- GridViewEditEventArgs.cs
- SoapTypeAttribute.cs
- DESCryptoServiceProvider.cs
- TypedReference.cs
- NavigationPropertyEmitter.cs
- DocumentAutomationPeer.cs
- CleanUpVirtualizedItemEventArgs.cs
- Trace.cs
- KeyFrames.cs
- XmlSchemaComplexContent.cs
- UniqueIdentifierService.cs
- EncryptedData.cs
- MissingSatelliteAssemblyException.cs
- XmlObjectSerializerReadContext.cs
- FieldBuilder.cs
- EntityParameterCollection.cs
- XPathSelfQuery.cs
- CounterCreationDataCollection.cs
- EntityDataReader.cs
- PackageStore.cs
- TextServicesProperty.cs
- WebDisplayNameAttribute.cs
- HostProtectionException.cs
- HostVisual.cs
- VersionedStream.cs
- ClockGroup.cs
- EnumerableCollectionView.cs
- ToolStripStatusLabel.cs
- ListView.cs
- ThrowOnMultipleAssignment.cs
- DebugView.cs
- BitmapEffectInput.cs
- Composition.cs
- Metafile.cs
- ControlCollection.cs
- AnimatedTypeHelpers.cs
- DbConvert.cs
- DPCustomTypeDescriptor.cs
- NoPersistScope.cs
- NavigationPropertyEmitter.cs
- CaseKeyBox.xaml.cs
- LoginView.cs
- TabControl.cs
- GlyphShapingProperties.cs
- ProjectionCamera.cs
- ToolStripInSituService.cs
- SpinLock.cs