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
- LazyLoadBehavior.cs
- BmpBitmapEncoder.cs
- HttpWriter.cs
- IfJoinedCondition.cs
- PointConverter.cs
- objectresult_tresulttype.cs
- SqlUdtInfo.cs
- TriState.cs
- TaskExceptionHolder.cs
- WebPartZoneBase.cs
- SoapCodeExporter.cs
- MemberInfoSerializationHolder.cs
- ByteStack.cs
- TimelineGroup.cs
- BrowserDefinition.cs
- ACE.cs
- CompensatableSequenceActivity.cs
- AuthenticateEventArgs.cs
- DateTimeHelper.cs
- PublishLicense.cs
- ScrollProperties.cs
- WSSecurityPolicy.cs
- ObjectDisposedException.cs
- QilVisitor.cs
- Pool.cs
- DetailsViewDeletedEventArgs.cs
- ExtendedPropertyCollection.cs
- BoolExpressionVisitors.cs
- HtmlInputFile.cs
- _ProxyChain.cs
- JsonWriter.cs
- EasingQuaternionKeyFrame.cs
- IndexedSelectQueryOperator.cs
- AllMembershipCondition.cs
- DetailsViewRowCollection.cs
- ConstraintStruct.cs
- ObjectReferenceStack.cs
- MsmqEncryptionAlgorithm.cs
- TraceHwndHost.cs
- VirtualizingStackPanel.cs
- HtmlGenericControl.cs
- PriorityBinding.cs
- PolyBezierSegmentFigureLogic.cs
- CodePropertyReferenceExpression.cs
- SQLSingleStorage.cs
- SiteMapProvider.cs
- ListViewGroup.cs
- MessageBox.cs
- Cursors.cs
- ConstraintConverter.cs
- ControlAdapter.cs
- ToolboxDataAttribute.cs
- OleAutBinder.cs
- ProcessModelInfo.cs
- XslAstAnalyzer.cs
- PipelineDeploymentState.cs
- CopyEncoder.cs
- SevenBitStream.cs
- CodeDomSerializerBase.cs
- SelectionRange.cs
- mediapermission.cs
- Point3DAnimation.cs
- QuerySubExprEliminator.cs
- GetReadStreamResult.cs
- altserialization.cs
- graph.cs
- XmlValidatingReader.cs
- _SSPISessionCache.cs
- FlowDocumentReaderAutomationPeer.cs
- DataRowIndexBuffer.cs
- EmbeddedMailObjectsCollection.cs
- MessageContractImporter.cs
- ExpandCollapseProviderWrapper.cs
- PersonalizableTypeEntry.cs
- ConfigDefinitionUpdates.cs
- TypeSystem.cs
- JournalEntryListConverter.cs
- ObjectDataSourceEventArgs.cs
- KeyedPriorityQueue.cs
- XsdBuilder.cs
- KeyFrames.cs
- PathParser.cs
- UnsafeNativeMethods.cs
- MenuRendererStandards.cs
- SamlAdvice.cs
- ConnectionManagementSection.cs
- _SSPIWrapper.cs
- WebEventTraceProvider.cs
- DetailsViewInsertEventArgs.cs
- ListControl.cs
- DllNotFoundException.cs
- LinkClickEvent.cs
- UrlAuthFailedErrorFormatter.cs
- SpotLight.cs
- SessionKeyExpiredException.cs
- CollectionViewGroupRoot.cs
- NativeRecognizer.cs
- TextContainer.cs
- LeaseManager.cs
- Wildcard.cs