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
- WebBrowser.cs
- ConnectionsZone.cs
- DataObjectCopyingEventArgs.cs
- ViewValidator.cs
- OptionalRstParameters.cs
- SymLanguageType.cs
- MessagePartDescriptionCollection.cs
- WebServiceTypeData.cs
- ComponentCollection.cs
- LicenseException.cs
- SettingsContext.cs
- HierarchicalDataTemplate.cs
- PostBackOptions.cs
- CommonGetThemePartSize.cs
- COM2ExtendedBrowsingHandler.cs
- CompositeCollectionView.cs
- PageAdapter.cs
- SelectionItemPattern.cs
- ButtonBase.cs
- StateDesigner.TransitionInfo.cs
- ApplicationDirectory.cs
- CqlGenerator.cs
- CryptoProvider.cs
- SessionStateModule.cs
- ComplusTypeValidator.cs
- MasterPageBuildProvider.cs
- TargetConverter.cs
- BufferedGraphicsContext.cs
- PointLight.cs
- CodeAttributeArgumentCollection.cs
- NameValueSectionHandler.cs
- HwndSource.cs
- RepeatInfo.cs
- PictureBox.cs
- ServiceModelSecurityTokenRequirement.cs
- Freezable.cs
- NamedObject.cs
- DescendantBaseQuery.cs
- BamlStream.cs
- mediapermission.cs
- TextSpan.cs
- XslException.cs
- TemplateKeyConverter.cs
- EventPrivateKey.cs
- RijndaelManagedTransform.cs
- RefreshPropertiesAttribute.cs
- Transform.cs
- FacetChecker.cs
- PtsCache.cs
- SurrogateSelector.cs
- StylusCaptureWithinProperty.cs
- DelegatingTypeDescriptionProvider.cs
- TransformConverter.cs
- SymmetricKeyWrap.cs
- XmlSchemaSimpleContent.cs
- ADConnectionHelper.cs
- InvokeWebServiceDesigner.cs
- FontInfo.cs
- TakeQueryOptionExpression.cs
- GACMembershipCondition.cs
- KeyValuePairs.cs
- CssStyleCollection.cs
- TreeIterator.cs
- GridViewColumn.cs
- XPathNavigatorReader.cs
- FileLevelControlBuilderAttribute.cs
- ComboBoxAutomationPeer.cs
- NotifyCollectionChangedEventArgs.cs
- StylusPointPropertyId.cs
- DataSourceXmlElementAttribute.cs
- exports.cs
- ClaimTypeElementCollection.cs
- WmlCommandAdapter.cs
- DataRelation.cs
- FixedBufferAttribute.cs
- RepeaterItemEventArgs.cs
- ToolStripPanel.cs
- ConcurrentDictionary.cs
- Internal.cs
- ImportCatalogPart.cs
- XmlSchemaChoice.cs
- SaveFileDialog.cs
- SqlNotificationEventArgs.cs
- MDIControlStrip.cs
- ClientTargetCollection.cs
- AutoResizedEvent.cs
- CategoryValueConverter.cs
- RewritingProcessor.cs
- MimeImporter.cs
- CompareValidator.cs
- _HeaderInfoTable.cs
- DependencyPropertyChangedEventArgs.cs
- BookmarkUndoUnit.cs
- JavaScriptObjectDeserializer.cs
- CompModSwitches.cs
- XmlDataDocument.cs
- VisualStateChangedEventArgs.cs
- WeakEventManager.cs
- DataSourceCache.cs
- _IPv4Address.cs