Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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 : ghermann - 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. //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: OptimalBreakSession // // Description: OptimalBreakSession is unmanaged resouce handle to TextParagraphCache // // History: // 06/07/2005 : ghermann - 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
- TimeoutException.cs
- LocalBuilder.cs
- CodeAttachEventStatement.cs
- HtmlTernaryTree.cs
- XamlStyleSerializer.cs
- ViewLoader.cs
- GrammarBuilderRuleRef.cs
- RemoveStoryboard.cs
- XmlResolver.cs
- QueryOperationResponseOfT.cs
- RetriableClipboard.cs
- SmtpLoginAuthenticationModule.cs
- StatusBarPanel.cs
- AttributeParameterInfo.cs
- ToolStripTextBox.cs
- CodeTryCatchFinallyStatement.cs
- BooleanExpr.cs
- ProxyAssemblyNotLoadedException.cs
- DefaultMergeHelper.cs
- DataError.cs
- EventDescriptor.cs
- ClockGroup.cs
- ExpressionLexer.cs
- DbConnectionPoolOptions.cs
- SecurityTokenProvider.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- XPathDocumentNavigator.cs
- SoapProcessingBehavior.cs
- TemplateParser.cs
- ScrollViewerAutomationPeer.cs
- DataGridViewTopLeftHeaderCell.cs
- TransformerInfo.cs
- BitmapData.cs
- GeneralTransform.cs
- OutOfProcStateClientManager.cs
- EntityCommandExecutionException.cs
- Enum.cs
- IsolatedStorageFile.cs
- RegexCapture.cs
- EntityType.cs
- TemplateNameScope.cs
- SelectionUIHandler.cs
- DBCommandBuilder.cs
- Reference.cs
- BindingCompleteEventArgs.cs
- VerificationException.cs
- SQlBooleanStorage.cs
- GridErrorDlg.cs
- EncoderBestFitFallback.cs
- PcmConverter.cs
- SystemUdpStatistics.cs
- HttpFileCollectionBase.cs
- ArgumentException.cs
- RegionData.cs
- DSASignatureFormatter.cs
- ButtonStandardAdapter.cs
- StreamReader.cs
- RenamedEventArgs.cs
- EntityAdapter.cs
- HttpCachePolicyElement.cs
- PathParser.cs
- EntityDataSourceEntitySetNameItem.cs
- XmlWriterDelegator.cs
- DBConnectionString.cs
- DbgUtil.cs
- ActivitiesCollection.cs
- RowUpdatedEventArgs.cs
- DispatcherProcessingDisabled.cs
- GPPOINT.cs
- Window.cs
- FuncCompletionCallbackWrapper.cs
- WeakReferenceList.cs
- QilValidationVisitor.cs
- UiaCoreApi.cs
- MaterialGroup.cs
- XslNumber.cs
- DictionaryItemsCollection.cs
- SQLUtility.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ObjectConverter.cs
- NGCSerializer.cs
- Boolean.cs
- KeyToListMap.cs
- DataAdapter.cs
- RSAPKCS1SignatureDeformatter.cs
- FileUtil.cs
- DurableEnlistmentState.cs
- ProfileEventArgs.cs
- HandlerBase.cs
- TextServicesLoader.cs
- XmlSchemaComplexContentRestriction.cs
- EtwTrace.cs
- BinaryReader.cs
- SecurityKeyUsage.cs
- SqlResolver.cs
- DataSvcMapFile.cs
- TemplateParser.cs
- CmsInterop.cs
- TileBrush.cs
- RootDesignerSerializerAttribute.cs