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
- ApplicationId.cs
- MailBnfHelper.cs
- MappingSource.cs
- ErrorEventArgs.cs
- EditableTreeList.cs
- ClickablePoint.cs
- MsmqHostedTransportConfiguration.cs
- ComponentSerializationService.cs
- RemoteWebConfigurationHostStream.cs
- ValidationErrorEventArgs.cs
- TreeWalkHelper.cs
- ApplicationProxyInternal.cs
- ViewManager.cs
- Shape.cs
- ToolStripItemTextRenderEventArgs.cs
- HitTestDrawingContextWalker.cs
- RawStylusSystemGestureInputReport.cs
- WsdlBuildProvider.cs
- PropertyChangedEventManager.cs
- DateTimeOffsetStorage.cs
- XmlCharType.cs
- PopupEventArgs.cs
- WpfGeneratedKnownTypes.cs
- Barrier.cs
- Propagator.Evaluator.cs
- GlobalizationAssembly.cs
- XmlNamespaceMapping.cs
- FolderBrowserDialog.cs
- ReachPageContentSerializer.cs
- MetadataArtifactLoaderResource.cs
- GiveFeedbackEventArgs.cs
- RealProxy.cs
- Polygon.cs
- Propagator.cs
- DataIdProcessor.cs
- StorageBasedPackageProperties.cs
- NotImplementedException.cs
- DirectionalLight.cs
- DataViewSetting.cs
- PropVariant.cs
- StateManagedCollection.cs
- Encoder.cs
- Stream.cs
- IndexedEnumerable.cs
- DataListItemEventArgs.cs
- ChannelSettingsElement.cs
- Switch.cs
- XhtmlMobileTextWriter.cs
- OperatingSystem.cs
- OleDbWrapper.cs
- MemoryRecordBuffer.cs
- AuthenticationServiceManager.cs
- RoleGroup.cs
- TypeSystemProvider.cs
- PageHandlerFactory.cs
- PropertyIDSet.cs
- GraphicsContext.cs
- StateMachine.cs
- TraceContextEventArgs.cs
- WorkflowQueuingService.cs
- KeyedHashAlgorithm.cs
- ListSortDescription.cs
- OperandQuery.cs
- XPathAncestorIterator.cs
- X509DefaultServiceCertificateElement.cs
- Point3DAnimationUsingKeyFrames.cs
- parserscommon.cs
- VisualProxy.cs
- WebControlAdapter.cs
- SerialReceived.cs
- PermissionToken.cs
- UserControlParser.cs
- ActivityWithResultConverter.cs
- TreeNodeStyleCollectionEditor.cs
- ClosableStream.cs
- PropertyChangeTracker.cs
- HttpListenerException.cs
- ComponentCommands.cs
- ThemeDictionaryExtension.cs
- ReflectionUtil.cs
- StylusPointProperty.cs
- StorageSetMapping.cs
- XmlUtil.cs
- AnnotationAdorner.cs
- GlyphTypeface.cs
- SourceSwitch.cs
- BitSet.cs
- ProgressPage.cs
- PerformanceCounterCategory.cs
- SqlDataRecord.cs
- HMACSHA1.cs
- MenuCommand.cs
- DesigntimeLicenseContext.cs
- DataGridViewComboBoxColumn.cs
- HttpWebRequestElement.cs
- MenuItemAutomationPeer.cs
- TableRow.cs
- Attributes.cs
- StringValueSerializer.cs
- InteropDesigner.xaml.cs