Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / PtsHost / OptimalBreakSession.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MethodCallExpression.cs
- DnsPermission.cs
- ConfigurationLockCollection.cs
- ApplicationSettingsBase.cs
- SqlCacheDependencyDatabaseCollection.cs
- ListControlDesigner.cs
- ConfigUtil.cs
- XPathNavigatorReader.cs
- StaticFileHandler.cs
- RenderDataDrawingContext.cs
- Semaphore.cs
- CfgSemanticTag.cs
- BuildManager.cs
- CustomAttributeFormatException.cs
- RecordsAffectedEventArgs.cs
- ScriptingJsonSerializationSection.cs
- PrinterUnitConvert.cs
- RegisteredArrayDeclaration.cs
- XMLSchema.cs
- ConfigXmlCDataSection.cs
- CompleteWizardStep.cs
- SqlParameterCollection.cs
- DbQueryCommandTree.cs
- VisualStyleRenderer.cs
- ConfigXmlElement.cs
- FamilyMapCollection.cs
- TextReader.cs
- Base64Decoder.cs
- ToolStripItemTextRenderEventArgs.cs
- FileRecordSequence.cs
- Bold.cs
- Binding.cs
- EntityCollection.cs
- ReliabilityContractAttribute.cs
- HtmlInputControl.cs
- TextPenaltyModule.cs
- ProfileGroupSettingsCollection.cs
- SignedPkcs7.cs
- NativeActivityAbortContext.cs
- MetadataItem.cs
- ExceptionCollection.cs
- CalendarModeChangedEventArgs.cs
- DataGridViewRowCancelEventArgs.cs
- PerformanceCounterLib.cs
- TdsParserSessionPool.cs
- BaseTemplateCodeDomTreeGenerator.cs
- NativeMethods.cs
- CompositeScriptReference.cs
- TimeoutException.cs
- DataGridViewCellLinkedList.cs
- Avt.cs
- SmtpCommands.cs
- WindowsAuthenticationEventArgs.cs
- SecureStringHasher.cs
- CellParaClient.cs
- DynamicPropertyReader.cs
- ConnectionManagementElement.cs
- SqlFunctionAttribute.cs
- PageAdapter.cs
- DragCompletedEventArgs.cs
- ToolStripSystemRenderer.cs
- DrawingImage.cs
- TextEditor.cs
- PropertyExpression.cs
- TraceContextEventArgs.cs
- ContainerControl.cs
- SoapProtocolImporter.cs
- ConditionalDesigner.cs
- PlatformNotSupportedException.cs
- NamespaceEmitter.cs
- __ConsoleStream.cs
- VerificationAttribute.cs
- Pen.cs
- Win32KeyboardDevice.cs
- FixedPageProcessor.cs
- PerformanceCounterCategory.cs
- SQLInt16Storage.cs
- Int64Converter.cs
- TextRunCacheImp.cs
- SiteMapDataSourceView.cs
- ContentOperations.cs
- HostedHttpRequestAsyncResult.cs
- NumberSubstitution.cs
- MetadataItemSerializer.cs
- RankException.cs
- Storyboard.cs
- SamlSecurityToken.cs
- ResourceReferenceKeyNotFoundException.cs
- ActionMessageFilter.cs
- SqlDataSourceConfigureSelectPanel.cs
- HorizontalAlignConverter.cs
- Stack.cs
- DocumentGridContextMenu.cs
- ConfigXmlDocument.cs
- ConversionHelper.cs
- PrePrepareMethodAttribute.cs
- DetailsViewCommandEventArgs.cs
- IteratorDescriptor.cs
- DataGridViewCellMouseEventArgs.cs
- FrameworkReadOnlyPropertyMetadata.cs