Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / MeasureData.cs / 1 / MeasureData.cs
//----------------------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// This file defines a class intended to be passed as a parameter to Measure. It contains
// available size and viewport information.
//
//-------------------------------------------------------------------------------------
using MS.Internal;
using System;
using System.Windows.Media;
namespace System.Windows
{
///
/// Provides all the data we need during the Measure pass (most notably viewport information). Because of backwards
/// compat we can't pass it in as a parameter to Measure so it's set as a property on UIElement directly before the call
/// instead.
///
internal class MeasureData
{
public MeasureData(Size availableSize, Rect viewport)
{
_availableSize = availableSize;
_viewport = viewport;
}
public MeasureData(MeasureData data) : this (data.AvailableSize, data.Viewport)
{
}
public bool HasViewport
{
get
{
return Viewport != Rect.Empty;
}
}
public bool IsCloseTo(MeasureData other)
{
if (other == null)
{
return false;
}
bool isClose = DoubleUtil.AreClose(AvailableSize, other.AvailableSize);
isClose &= DoubleUtil.AreClose(Viewport, other.Viewport);
return isClose;
}
public Size AvailableSize
{
get
{
return _availableSize;
}
set
{
_availableSize = value;
}
}
public Rect Viewport
{
get
{
return _viewport;
}
set
{
_viewport = value;
}
}
private Size _availableSize;
private Rect _viewport;
}
}
// 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.
//
//
// Description:
// This file defines a class intended to be passed as a parameter to Measure. It contains
// available size and viewport information.
//
//-------------------------------------------------------------------------------------
using MS.Internal;
using System;
using System.Windows.Media;
namespace System.Windows
{
///
/// Provides all the data we need during the Measure pass (most notably viewport information). Because of backwards
/// compat we can't pass it in as a parameter to Measure so it's set as a property on UIElement directly before the call
/// instead.
///
internal class MeasureData
{
public MeasureData(Size availableSize, Rect viewport)
{
_availableSize = availableSize;
_viewport = viewport;
}
public MeasureData(MeasureData data) : this (data.AvailableSize, data.Viewport)
{
}
public bool HasViewport
{
get
{
return Viewport != Rect.Empty;
}
}
public bool IsCloseTo(MeasureData other)
{
if (other == null)
{
return false;
}
bool isClose = DoubleUtil.AreClose(AvailableSize, other.AvailableSize);
isClose &= DoubleUtil.AreClose(Viewport, other.Viewport);
return isClose;
}
public Size AvailableSize
{
get
{
return _availableSize;
}
set
{
_availableSize = value;
}
}
public Rect Viewport
{
get
{
return _viewport;
}
set
{
_viewport = value;
}
}
private Size _availableSize;
private Rect _viewport;
}
}
// 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
- ManagementObjectCollection.cs
- Panel.cs
- SmiConnection.cs
- ISAPIWorkerRequest.cs
- MarshalByRefObject.cs
- Image.cs
- DispatcherOperation.cs
- SqlDependency.cs
- RegistryKey.cs
- StatusBarAutomationPeer.cs
- URLMembershipCondition.cs
- SqlCaseSimplifier.cs
- SafeFileMappingHandle.cs
- Content.cs
- RoutingSection.cs
- TemplateApplicationHelper.cs
- DateTimeConverter.cs
- DiagnosticsElement.cs
- UnknownWrapper.cs
- ControlParameter.cs
- XPathQueryGenerator.cs
- TextProviderWrapper.cs
- Identity.cs
- SerialStream.cs
- ArrayList.cs
- TextBlock.cs
- Msec.cs
- MediaPlayerState.cs
- KeyGesture.cs
- HelloOperationCD1AsyncResult.cs
- ExpandableObjectConverter.cs
- ShapingEngine.cs
- ApplicationContext.cs
- TriggerBase.cs
- DynamicMethod.cs
- ProtocolInformationReader.cs
- OuterGlowBitmapEffect.cs
- SqlConnection.cs
- FontFamilyIdentifier.cs
- Soap.cs
- PersistenceTypeAttribute.cs
- EventLogReader.cs
- SoapHeaderAttribute.cs
- StylusDevice.cs
- SvcMapFileLoader.cs
- Crypto.cs
- MemberPath.cs
- UpdateTranslator.cs
- CommandValueSerializer.cs
- DataRelationCollection.cs
- UniqueIdentifierService.cs
- WorkflowInstance.cs
- TreeSet.cs
- SystemIPInterfaceProperties.cs
- WorkflowValidationFailedException.cs
- UriParserTemplates.cs
- TextWriter.cs
- TextRunTypographyProperties.cs
- AssertFilter.cs
- DateTimeConstantAttribute.cs
- PrintingPermission.cs
- UIElement.cs
- Process.cs
- Animatable.cs
- DataGridRow.cs
- DiagnosticsConfigurationHandler.cs
- VSWCFServiceContractGenerator.cs
- WebPartConnectionsConfigureVerb.cs
- SiteIdentityPermission.cs
- Visual3DCollection.cs
- AbandonedMutexException.cs
- ScrollViewer.cs
- TraceListener.cs
- AssemblyBuilder.cs
- ScrollPatternIdentifiers.cs
- COAUTHIDENTITY.cs
- StateDesigner.Helpers.cs
- CallbackHandler.cs
- PropertyInformation.cs
- CreateUserWizardStep.cs
- InternalUserCancelledException.cs
- TextEndOfParagraph.cs
- ListBox.cs
- MultiplexingDispatchMessageFormatter.cs
- NestedContainer.cs
- IPAddressCollection.cs
- OpCopier.cs
- FreezableOperations.cs
- JoinTreeSlot.cs
- _NetRes.cs
- XmlImplementation.cs
- Parameter.cs
- ConfigurationStrings.cs
- ClientUtils.cs
- XpsColorContext.cs
- TransformerTypeCollection.cs
- SystemGatewayIPAddressInformation.cs
- FormatVersion.cs
- SuppressMessageAttribute.cs
- FrameworkContextData.cs