Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ControlBuilder.cs
- Double.cs
- RSACryptoServiceProvider.cs
- ProjectionPlanCompiler.cs
- DetailsViewUpdateEventArgs.cs
- StackSpiller.cs
- Rethrow.cs
- SplitContainer.cs
- KeyInstance.cs
- TypeSystem.cs
- externdll.cs
- MSHTMLHost.cs
- BitSet.cs
- RegexGroupCollection.cs
- RepeatButtonAutomationPeer.cs
- RemoteWebConfigurationHostServer.cs
- XmlDataSourceView.cs
- TypeInitializationException.cs
- UIAgentAsyncParams.cs
- Timeline.cs
- TypeKeyValue.cs
- SwitchAttribute.cs
- SessionSwitchEventArgs.cs
- SafeBitVector32.cs
- WebZone.cs
- IntSumAggregationOperator.cs
- MultiDataTrigger.cs
- DbMetaDataCollectionNames.cs
- WorkflowMessageEventHandler.cs
- ListViewTableCell.cs
- CorePropertiesFilter.cs
- XmlSerializableReader.cs
- ProfileServiceManager.cs
- ReaderWriterLockWrapper.cs
- SystemInfo.cs
- GorillaCodec.cs
- EncodingFallbackAwareXmlTextWriter.cs
- DataGridViewCellStateChangedEventArgs.cs
- PrefixQName.cs
- FormsAuthenticationConfiguration.cs
- baseshape.cs
- Stylus.cs
- xmlfixedPageInfo.cs
- CodeRemoveEventStatement.cs
- MergeFilterQuery.cs
- ManualResetEvent.cs
- wmiutil.cs
- webclient.cs
- HtmlTextArea.cs
- SystemPens.cs
- ClientData.cs
- MediaPlayer.cs
- DefaultHttpHandler.cs
- StandardToolWindows.cs
- DiagnosticsConfigurationHandler.cs
- ExtensionWindow.cs
- MemberAccessException.cs
- ServiceNameElementCollection.cs
- EpmCustomContentWriterNodeData.cs
- NumberFunctions.cs
- Margins.cs
- FlowLayoutSettings.cs
- ProvideValueServiceProvider.cs
- FontCacheUtil.cs
- HtmlControlPersistable.cs
- ToolZone.cs
- EditorResources.cs
- WindowsGraphics2.cs
- EventLogPermissionEntry.cs
- X509RecipientCertificateServiceElement.cs
- BatchWriter.cs
- SecureConversationDriver.cs
- OracleException.cs
- TypeConverterMarkupExtension.cs
- SemaphoreFullException.cs
- MergeFilterQuery.cs
- ForeignKeyConstraint.cs
- ModulesEntry.cs
- TransportSecurityHelpers.cs
- TextInfo.cs
- Ref.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- EndPoint.cs
- PlanCompilerUtil.cs
- GridViewDeletedEventArgs.cs
- Form.cs
- StateMachineHelpers.cs
- XmlSchemaInclude.cs
- TimeSpanSecondsConverter.cs
- GuidelineSet.cs
- WebPartUserCapability.cs
- HttpSysSettings.cs
- XmlSchemaObjectCollection.cs
- WebBrowserProgressChangedEventHandler.cs
- Source.cs
- RequestStatusBarUpdateEventArgs.cs
- PagesChangedEventArgs.cs
- FocusWithinProperty.cs
- ReferenceEqualityComparer.cs
- PenThreadPool.cs