Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / PtsHost / OptimalBreakSession.cs / 1 / OptimalBreakSession.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: OptimalBreakSession // // Description: OptimalBreakSession is unmanaged resouce handle to TextParagraphCache // // History: // 06/07/2005 : [....] - created // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Windows; using System.Security; // SecurityCritical using System.Windows.Documents; using MS.Internal.Text; using MS.Internal.PtsHost.UnsafeNativeMethods; using System.Windows.Media.TextFormatting; namespace MS.Internal.PtsHost { // --------------------------------------------------------------------- // Break record for line - holds decoration information // --------------------------------------------------------------------- internal sealed class OptimalBreakSession : UnmanagedHandle { // ------------------------------------------------------------------ // Constructor. // // PtsContext - Context // TextParagraphCache - Contained line break // ----------------------------------------------------------------- internal OptimalBreakSession(TextParagraph textParagraph, TextParaClient textParaClient, TextParagraphCache TextParagraphCache, OptimalTextSource optimalTextSource) : base(textParagraph.PtsContext) { _textParagraph = textParagraph; _textParaClient = textParaClient; _textParagraphCache = TextParagraphCache; _optimalTextSource = optimalTextSource; } ////// Dispose the break session / paragraph cache /// public override void Dispose() { try { if(_textParagraphCache != null) { _textParagraphCache.Dispose(); } if(_optimalTextSource != null) { _optimalTextSource.Dispose(); } } finally { _textParagraphCache = null; _optimalTextSource = null; } base.Dispose(); } #region Internal Properties internal TextParagraphCache TextParagraphCache { get { return _textParagraphCache; } } internal TextParagraph TextParagraph { get { return _textParagraph; } } internal TextParaClient TextParaClient { get { return _textParaClient; } } internal OptimalTextSource OptimalTextSource { get { return _optimalTextSource; } } #endregion Internal Properties #region Private Fields private TextParagraphCache _textParagraphCache; private TextParagraph _textParagraph; private TextParaClient _textParaClient; private OptimalTextSource _optimalTextSource; #endregion Private Fields } // ---------------------------------------------------------------------- // LineBreakpoint - Unmanaged handle for TextBreakpoint / optimal break session // ---------------------------------------------------------------------- internal sealed class LineBreakpoint : UnmanagedHandle { // ----------------------------------------------------------------- // Constructor. // // PtsContext - Context // TextBreakpoint - Contained breakpoint // ------------------------------------------------------------------ internal LineBreakpoint(OptimalBreakSession optimalBreakSession, TextBreakpoint textBreakpoint) : base(optimalBreakSession.PtsContext) { _textBreakpoint = textBreakpoint; _optimalBreakSession = optimalBreakSession; } ////// Dispose the text breakpoint /// public override void Dispose() { if(_textBreakpoint != null) { _textBreakpoint.Dispose(); } base.Dispose(); } #region Internal Properties internal OptimalBreakSession OptimalBreakSession { get { return _optimalBreakSession; } } #endregion Internal Properties #region Private Fields private TextBreakpoint _textBreakpoint; private OptimalBreakSession _optimalBreakSession; #endregion Private Fields } } // 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
- DoubleLinkList.cs
- PropertyDescriptorCollection.cs
- ProfileParameter.cs
- HtmlTableRowCollection.cs
- URLIdentityPermission.cs
- PropertyValueUIItem.cs
- DeflateStream.cs
- XmlProcessingInstruction.cs
- TargetInvocationException.cs
- DecoderExceptionFallback.cs
- StrongNameKeyPair.cs
- MetaTableHelper.cs
- HostSecurityManager.cs
- _BufferOffsetSize.cs
- DesignTimeVisibleAttribute.cs
- ContextStaticAttribute.cs
- DataViewManagerListItemTypeDescriptor.cs
- DisposableCollectionWrapper.cs
- QueryOptionExpression.cs
- HTMLTagNameToTypeMapper.cs
- ProfileInfo.cs
- Transactions.cs
- SmtpNetworkElement.cs
- CompositeTypefaceMetrics.cs
- DPCustomTypeDescriptor.cs
- KeyValuePairs.cs
- DispatchWrapper.cs
- x509utils.cs
- EventRouteFactory.cs
- SmiXetterAccessMap.cs
- Vector.cs
- ModifierKeysValueSerializer.cs
- URLEditor.cs
- UnsafeNativeMethods.cs
- shaperfactoryquerycachekey.cs
- StructuredType.cs
- SettingsSection.cs
- DocumentsTrace.cs
- HMAC.cs
- NavigatorOutput.cs
- InternalPermissions.cs
- TraceProvider.cs
- XmlSchemaCompilationSettings.cs
- CommandConverter.cs
- sqlpipe.cs
- XmlDocumentSerializer.cs
- OleDbEnumerator.cs
- TextSpan.cs
- RelAssertionDirectKeyIdentifierClause.cs
- EditorAttribute.cs
- Utility.cs
- ReaderWriterLock.cs
- CodeDirectiveCollection.cs
- ObjectCacheSettings.cs
- XamlWriter.cs
- ParseHttpDate.cs
- MulticastOption.cs
- EntityParameterCollection.cs
- NavigateUrlConverter.cs
- ListDataBindEventArgs.cs
- TextRangeBase.cs
- MarginsConverter.cs
- WindowsToolbarAsMenu.cs
- DoubleCollectionConverter.cs
- DataTableClearEvent.cs
- HtmlControlDesigner.cs
- MdiWindowListStrip.cs
- QilXmlReader.cs
- EndOfStreamException.cs
- XpsSerializerWriter.cs
- LiteralControl.cs
- EncodedStreamFactory.cs
- Context.cs
- XmlQueryStaticData.cs
- LabelAutomationPeer.cs
- ArgumentOutOfRangeException.cs
- ActiveXHelper.cs
- Misc.cs
- OleTxTransaction.cs
- MethodToken.cs
- Ref.cs
- CustomCategoryAttribute.cs
- ProgressPage.cs
- WebPartManagerInternals.cs
- PointCollectionValueSerializer.cs
- DataGridHeaderBorder.cs
- BitmapData.cs
- BamlRecordWriter.cs
- AsyncCallback.cs
- EntityConnection.cs
- ToolBarButtonClickEvent.cs
- NetworkInformationException.cs
- TextPointer.cs
- ElementHostPropertyMap.cs
- SoapObjectInfo.cs
- WinFormsComponentEditor.cs
- TransformGroup.cs
- RadioButtonList.cs
- DataGridViewHeaderCell.cs
- ControlBuilderAttribute.cs