Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- EnumerableCollectionView.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ConnectionStringsSection.cs
- HitTestParameters3D.cs
- AppSettingsExpressionBuilder.cs
- SiteMapDataSourceDesigner.cs
- ThemeDirectoryCompiler.cs
- HtmlInputHidden.cs
- RadioButtonPopupAdapter.cs
- AnnotationResource.cs
- EntityCommandExecutionException.cs
- PropertyInfoSet.cs
- PageHandlerFactory.cs
- ClassHandlersStore.cs
- tooltip.cs
- PageEventArgs.cs
- TypeConverterHelper.cs
- DataView.cs
- RowBinding.cs
- ErrorFormatter.cs
- ByeMessage11.cs
- XmlSchemaSubstitutionGroup.cs
- DBSqlParserTable.cs
- DataGridViewLinkCell.cs
- JobCollate.cs
- SecurityUtils.cs
- cache.cs
- CustomTypeDescriptor.cs
- PermissionToken.cs
- DataGridViewColumnDesigner.cs
- SystemIPGlobalStatistics.cs
- TraceListener.cs
- BinaryParser.cs
- KeyedCollection.cs
- AccessKeyManager.cs
- EntityContainerEntitySetDefiningQuery.cs
- InkCanvasSelection.cs
- StylusEventArgs.cs
- StandardCommands.cs
- EndpointConfigContainer.cs
- BitmapMetadataBlob.cs
- RtfFormatStack.cs
- XmlLinkedNode.cs
- DeviceContext2.cs
- DelayedRegex.cs
- NotifyIcon.cs
- TableLayoutPanelBehavior.cs
- PrintEvent.cs
- ElementInit.cs
- CurrentChangingEventManager.cs
- SkinIDTypeConverter.cs
- CompressionTransform.cs
- OneOfTypeConst.cs
- EndSelectCardRequest.cs
- ToolStripDropDownItem.cs
- PageThemeCodeDomTreeGenerator.cs
- odbcmetadatacollectionnames.cs
- XsltLoader.cs
- TaskFormBase.cs
- ProxyRpc.cs
- ActivitiesCollection.cs
- CardSpacePolicyElement.cs
- DoubleKeyFrameCollection.cs
- SortExpressionBuilder.cs
- RangeValuePatternIdentifiers.cs
- MatrixIndependentAnimationStorage.cs
- BindingList.cs
- RotateTransform.cs
- PathFigureCollection.cs
- ViewManager.cs
- TableDetailsCollection.cs
- ServiceDefaults.cs
- Msec.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ToolStripInSituService.cs
- DataGridViewLinkCell.cs
- SyndicationItemFormatter.cs
- ResXResourceReader.cs
- ConnectionProviderAttribute.cs
- IRCollection.cs
- Helper.cs
- DataGridTable.cs
- FileSecurity.cs
- TimelineCollection.cs
- UntrustedRecipientException.cs
- NetStream.cs
- RunWorkerCompletedEventArgs.cs
- isolationinterop.cs
- UpdateDelegates.Generated.cs
- Screen.cs
- RepeatButtonAutomationPeer.cs
- ContextMarshalException.cs
- ArgumentException.cs
- XamlPoint3DCollectionSerializer.cs
- MinMaxParagraphWidth.cs
- ThemeableAttribute.cs
- MessageAction.cs
- FixedPageStructure.cs
- PropertyMetadata.cs
- WebPartRestoreVerb.cs