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
- Attributes.cs
- httpserverutility.cs
- LassoSelectionBehavior.cs
- Grammar.cs
- BounceEase.cs
- ResponseStream.cs
- HeaderedItemsControl.cs
- SessionEndingEventArgs.cs
- XmlAttributeOverrides.cs
- SafeReversePInvokeHandle.cs
- UIElement.cs
- _FtpControlStream.cs
- SecurityImpersonationBehavior.cs
- Propagator.Evaluator.cs
- XmlException.cs
- WebPartTransformerCollection.cs
- RtfToXamlLexer.cs
- CodeDirectiveCollection.cs
- TypeContext.cs
- CodeGroup.cs
- GridEntryCollection.cs
- MouseCaptureWithinProperty.cs
- InsufficientMemoryException.cs
- EventProviderWriter.cs
- ChtmlMobileTextWriter.cs
- AssociationSetEnd.cs
- LineBreak.cs
- TaskHelper.cs
- SatelliteContractVersionAttribute.cs
- SqlStatistics.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- ISAPIRuntime.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- SourceFileBuildProvider.cs
- HtmlTextArea.cs
- StrongNameMembershipCondition.cs
- _NestedSingleAsyncResult.cs
- SimpleRecyclingCache.cs
- TemplateControlCodeDomTreeGenerator.cs
- ToolStripRenderer.cs
- safelink.cs
- CustomLineCap.cs
- TemplateBamlRecordReader.cs
- compensatingcollection.cs
- StaticDataManager.cs
- Maps.cs
- PnrpPeerResolverElement.cs
- DbConnectionPoolGroupProviderInfo.cs
- DisplayMemberTemplateSelector.cs
- TextDecorationCollectionConverter.cs
- InputProcessorProfiles.cs
- CompilerErrorCollection.cs
- DependencyObjectPropertyDescriptor.cs
- BezierSegment.cs
- CodeSnippetTypeMember.cs
- MimeObjectFactory.cs
- UInt16Converter.cs
- ApplicationSettingsBase.cs
- WebPartEditorApplyVerb.cs
- InvalidProgramException.cs
- HtmlUtf8RawTextWriter.cs
- HistoryEventArgs.cs
- TextElementCollectionHelper.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- MessageQueuePermissionEntry.cs
- ObjectDataSourceFilteringEventArgs.cs
- FamilyMapCollection.cs
- TextOptions.cs
- IntPtr.cs
- AttributeData.cs
- ToggleButtonAutomationPeer.cs
- ClusterUtils.cs
- WebPartConnectionsEventArgs.cs
- Module.cs
- CompressionTransform.cs
- GeometryValueSerializer.cs
- Int64Converter.cs
- XPathSelectionIterator.cs
- AssociationType.cs
- ImagingCache.cs
- TabItem.cs
- TableStyle.cs
- CatalogZone.cs
- NodeInfo.cs
- ColorTranslator.cs
- VoiceInfo.cs
- BinaryParser.cs
- DependencyPropertyDescriptor.cs
- NumericUpDownAccelerationCollection.cs
- GroupLabel.cs
- DocumentAutomationPeer.cs
- AssociatedControlConverter.cs
- CreateUserWizard.cs
- SingletonConnectionReader.cs
- ConfigurationPermission.cs
- AnnotationAuthorChangedEventArgs.cs
- DesignerVerb.cs
- MarkupObject.cs
- LocationReferenceValue.cs
- CapabilitiesSection.cs