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
- TextTabProperties.cs
- OdbcStatementHandle.cs
- AsynchronousChannel.cs
- JumpList.cs
- JapaneseLunisolarCalendar.cs
- ReadContentAsBinaryHelper.cs
- Label.cs
- OperatingSystem.cs
- WriteTimeStream.cs
- EntityDataSource.cs
- IdentityHolder.cs
- PromptStyle.cs
- CodeAttributeArgument.cs
- TransactionsSectionGroup.cs
- SolidBrush.cs
- ActivityDelegate.cs
- FileCodeGroup.cs
- OracleString.cs
- GACIdentityPermission.cs
- SecurityKeyIdentifierClause.cs
- PartitionResolver.cs
- DesignerDeviceConfig.cs
- cache.cs
- XslUrlEditor.cs
- NumberFormatter.cs
- PriorityRange.cs
- DefaultAsyncDataDispatcher.cs
- TypeSchema.cs
- TaskFactory.cs
- cookiecontainer.cs
- ObjectListDesigner.cs
- ServicePointManagerElement.cs
- WebPartDisplayMode.cs
- ProfilePropertySettings.cs
- GlobalizationAssembly.cs
- LogicalExpr.cs
- SettingsPropertyNotFoundException.cs
- DataProviderNameConverter.cs
- MulticastNotSupportedException.cs
- SelectionGlyph.cs
- NativeMethods.cs
- MouseButtonEventArgs.cs
- CqlParser.cs
- FlowLayoutPanelDesigner.cs
- DecimalConverter.cs
- BrowserDefinition.cs
- ToolStripPanelRenderEventArgs.cs
- ToolStripDropDownClosedEventArgs.cs
- TransformationRules.cs
- DataSvcMapFileSerializer.cs
- BuiltInExpr.cs
- EntityKeyElement.cs
- TailCallAnalyzer.cs
- TextEvent.cs
- DictionaryEntry.cs
- BindingNavigator.cs
- BaseDataList.cs
- UnicastIPAddressInformationCollection.cs
- SerializationException.cs
- HttpCapabilitiesSectionHandler.cs
- SynchronizationLockException.cs
- SqlPersonalizationProvider.cs
- ApplicationBuildProvider.cs
- FormatConvertedBitmap.cs
- GridViewCommandEventArgs.cs
- XhtmlConformanceSection.cs
- EasingKeyFrames.cs
- TrustDriver.cs
- XmlMemberMapping.cs
- DiscoveryVersion.cs
- OleDbEnumerator.cs
- WindowsUpDown.cs
- DXD.cs
- oledbconnectionstring.cs
- SpotLight.cs
- HeaderUtility.cs
- ServicesExceptionNotHandledEventArgs.cs
- MinMaxParagraphWidth.cs
- SQLInt64Storage.cs
- TimeSpanValidatorAttribute.cs
- BindingListCollectionView.cs
- InvokeWebService.cs
- WindowsUpDown.cs
- diagnosticsswitches.cs
- XsltContext.cs
- RequestCachePolicyConverter.cs
- baseaxisquery.cs
- MethodBody.cs
- SelectionItemProviderWrapper.cs
- MetaType.cs
- MemberAssignmentAnalysis.cs
- Msec.cs
- DragEvent.cs
- DecimalConverter.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SqlDependencyListener.cs
- Effect.cs
- PersonalizationDictionary.cs
- _TransmitFileOverlappedAsyncResult.cs
- PageFunction.cs