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
- CacheEntry.cs
- PlaceHolder.cs
- FamilyMap.cs
- OperationInvokerTrace.cs
- IOThreadScheduler.cs
- EventRouteFactory.cs
- ProcessInfo.cs
- TextParagraphProperties.cs
- EventSinkHelperWriter.cs
- ListMarkerSourceInfo.cs
- PagedDataSource.cs
- Dictionary.cs
- Metafile.cs
- ObjectItemAttributeAssemblyLoader.cs
- XmlSerializerImportOptions.cs
- HttpCachePolicyWrapper.cs
- SqlDataSourceFilteringEventArgs.cs
- JsonCollectionDataContract.cs
- GridViewRowCollection.cs
- XmlILModule.cs
- Models.cs
- HttpModuleCollection.cs
- PointKeyFrameCollection.cs
- MobileListItemCollection.cs
- MenuCommand.cs
- CryptoKeySecurity.cs
- HMACSHA384.cs
- DynamicContractTypeBuilder.cs
- LocalFileSettingsProvider.cs
- GridViewColumn.cs
- DynamicArgumentDesigner.xaml.cs
- PrintPreviewGraphics.cs
- SqlServices.cs
- DataMisalignedException.cs
- HttpVersion.cs
- TimeManager.cs
- sitestring.cs
- MissingSatelliteAssemblyException.cs
- WinCategoryAttribute.cs
- ProfessionalColorTable.cs
- MTConfigUtil.cs
- AutomationIdentifierGuids.cs
- RoutedUICommand.cs
- METAHEADER.cs
- GlyphInfoList.cs
- CalendarModeChangedEventArgs.cs
- WmlPageAdapter.cs
- ApplicationCommands.cs
- XmlStringTable.cs
- SafeCertificateContext.cs
- ImageCodecInfo.cs
- CodeDelegateCreateExpression.cs
- ClientBuildManagerCallback.cs
- CompModSwitches.cs
- ChooseAction.cs
- ReceiveReply.cs
- MetadataPropertyvalue.cs
- nulltextcontainer.cs
- TextAction.cs
- EventMap.cs
- InvokeGenerator.cs
- MultiViewDesigner.cs
- PixelFormat.cs
- ChannelManager.cs
- DataGridRelationshipRow.cs
- ValidationUtility.cs
- FontCollection.cs
- AssemblyNameProxy.cs
- NegatedCellConstant.cs
- CellParagraph.cs
- EventLogSession.cs
- ElementHost.cs
- Baml6Assembly.cs
- SQLMembershipProvider.cs
- Int64Storage.cs
- ExplicitDiscriminatorMap.cs
- WinInetCache.cs
- ExeConfigurationFileMap.cs
- XNodeNavigator.cs
- HTMLTagNameToTypeMapper.cs
- TypedElement.cs
- SafePEFileHandle.cs
- SafeCoTaskMem.cs
- InvalidAsynchronousStateException.cs
- RadioButtonPopupAdapter.cs
- SqlGatherConsumedAliases.cs
- DataListItem.cs
- DataSourceXmlSerializer.cs
- RemotingServices.cs
- TreeBuilder.cs
- Storyboard.cs
- SecurityContext.cs
- HeaderedContentControl.cs
- TransformPattern.cs
- ProcessInfo.cs
- Win32PrintDialog.cs
- TextDecorationLocationValidation.cs
- ProfileParameter.cs
- Command.cs
- RawMouseInputReport.cs