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
- StylusLogic.cs
- ListViewSelectEventArgs.cs
- _emptywebproxy.cs
- SatelliteContractVersionAttribute.cs
- InputProcessorProfiles.cs
- DocumentApplication.cs
- ThrowOnMultipleAssignment.cs
- GeneralTransform3DGroup.cs
- Int16Animation.cs
- Trigger.cs
- Types.cs
- HttpRequest.cs
- SamlAssertion.cs
- MatrixConverter.cs
- AtomMaterializerLog.cs
- TreeViewBindingsEditor.cs
- SetIterators.cs
- MarginCollapsingState.cs
- AssemblyAttributes.cs
- Queue.cs
- OracleException.cs
- ProfileModule.cs
- ProjectedSlot.cs
- DataGridToolTip.cs
- BasicCommandTreeVisitor.cs
- ZipIOBlockManager.cs
- ButtonChrome.cs
- WaitForChangedResult.cs
- updateconfighost.cs
- GPPOINTF.cs
- ConfigViewGenerator.cs
- AccessViolationException.cs
- DataExpression.cs
- XomlCompilerResults.cs
- ObjectAssociationEndMapping.cs
- Win32.cs
- EarlyBoundInfo.cs
- Graph.cs
- AddInContractAttribute.cs
- COAUTHINFO.cs
- DrawingContextDrawingContextWalker.cs
- BindValidator.cs
- ButtonRenderer.cs
- RightsManagementInformation.cs
- SizeAnimationClockResource.cs
- SqlTriggerAttribute.cs
- WinFormsSecurity.cs
- DataGridViewImageCell.cs
- DeferredSelectedIndexReference.cs
- QueryTaskGroupState.cs
- Bitmap.cs
- SiteMapPath.cs
- BufferedWebEventProvider.cs
- CodeDOMUtility.cs
- ListViewCommandEventArgs.cs
- HttpListenerPrefixCollection.cs
- StorageComplexPropertyMapping.cs
- SemaphoreSecurity.cs
- Socket.cs
- CacheEntry.cs
- DataServiceHostWrapper.cs
- DataSourceView.cs
- RoutedCommand.cs
- DataKey.cs
- CryptoApi.cs
- QueryCacheKey.cs
- FixedPageStructure.cs
- followingsibling.cs
- SessionEndingEventArgs.cs
- ActivityTypeResolver.xaml.cs
- PropertyGeneratedEventArgs.cs
- Utility.cs
- Geometry.cs
- SourceFileBuildProvider.cs
- RowSpanVector.cs
- PerspectiveCamera.cs
- CmsUtils.cs
- MediaTimeline.cs
- CodeThrowExceptionStatement.cs
- ExitEventArgs.cs
- RegistryExceptionHelper.cs
- CodeObject.cs
- NativeMethods.cs
- BrowserDefinition.cs
- ParseHttpDate.cs
- ReflectionUtil.cs
- SoapHttpTransportImporter.cs
- PerformanceCountersElement.cs
- SqlDataReaderSmi.cs
- printdlgexmarshaler.cs
- ItemList.cs
- HtmlElement.cs
- XmlAnyAttributeAttribute.cs
- SynchronizedDispatch.cs
- RefreshEventArgs.cs
- WebPartConnectionsEventArgs.cs
- HostSecurityManager.cs
- VisualBasicSettingsHandler.cs
- AspNetRouteServiceHttpHandler.cs
- TextEndOfSegment.cs