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
- Matrix3D.cs
- Point.cs
- Utils.cs
- CodeTypeReferenceCollection.cs
- SqlCommandBuilder.cs
- WebPartManagerInternals.cs
- TextServicesManager.cs
- AttributeCollection.cs
- codemethodreferenceexpression.cs
- ProcessHostFactoryHelper.cs
- EventLogEntry.cs
- TreeNodeSelectionProcessor.cs
- SendMailErrorEventArgs.cs
- OracleBoolean.cs
- __FastResourceComparer.cs
- HTMLTagNameToTypeMapper.cs
- WorkflowInlining.cs
- _NegoState.cs
- Update.cs
- BitmapSourceSafeMILHandle.cs
- CancelEventArgs.cs
- TabletCollection.cs
- SqlDataSourceCustomCommandPanel.cs
- StrokeCollectionDefaultValueFactory.cs
- LogReservationCollection.cs
- NotImplementedException.cs
- XamlInterfaces.cs
- ItemAutomationPeer.cs
- GeometryHitTestParameters.cs
- LocalValueEnumerator.cs
- MonthChangedEventArgs.cs
- UpDownBaseDesigner.cs
- IChannel.cs
- PointF.cs
- BitmapDownload.cs
- MailFileEditor.cs
- WindowsToolbarAsMenu.cs
- Shape.cs
- TextEditorContextMenu.cs
- TextElementCollection.cs
- DataGridClipboardCellContent.cs
- SyntaxCheck.cs
- ViewLoader.cs
- WS2007FederationHttpBindingCollectionElement.cs
- ProxyElement.cs
- JavaScriptObjectDeserializer.cs
- SqlNotificationEventArgs.cs
- LinqExpressionNormalizer.cs
- SHA256Managed.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- HttpContext.cs
- TimerElapsedEvenArgs.cs
- DbConnectionHelper.cs
- CommandDesigner.cs
- AffineTransform3D.cs
- DocumentEventArgs.cs
- XamlBrushSerializer.cs
- HTMLTagNameToTypeMapper.cs
- ComboBoxItem.cs
- BindingSource.cs
- ToolboxBitmapAttribute.cs
- ListItemsCollectionEditor.cs
- PlainXmlWriter.cs
- MediaContext.cs
- DbConnectionFactory.cs
- InstanceData.cs
- VScrollProperties.cs
- CodeGenerator.cs
- TextEncodedRawTextWriter.cs
- TableMethodGenerator.cs
- ShapingWorkspace.cs
- DataGridViewAutoSizeModeEventArgs.cs
- DbSourceCommand.cs
- KnownAssemblyEntry.cs
- PenThreadWorker.cs
- ThreadAttributes.cs
- PartialArray.cs
- GB18030Encoding.cs
- RightsManagementInformation.cs
- ProtectedConfigurationSection.cs
- FlowPanelDesigner.cs
- XmlNodeComparer.cs
- PrivilegeNotHeldException.cs
- Hashtable.cs
- RtfFormatStack.cs
- ResourceDescriptionAttribute.cs
- SqlUserDefinedTypeAttribute.cs
- TemplatedMailWebEventProvider.cs
- EditorPartCollection.cs
- OleDbSchemaGuid.cs
- RTLAwareMessageBox.cs
- SecurityResources.cs
- DataGridHeaderBorder.cs
- ApplicationManager.cs
- EntityDataSourceDataSelectionPanel.cs
- MemberDescriptor.cs
- BinaryMethodMessage.cs
- SelectedDatesCollection.cs
- Rijndael.cs
- MaterialCollection.cs