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
- ApplicationProxyInternal.cs
- ClientScriptItem.cs
- RowUpdatedEventArgs.cs
- OutputCacheSettings.cs
- DebuggerService.cs
- Soap.cs
- LockingPersistenceProvider.cs
- BamlLocalizabilityResolver.cs
- SchemaManager.cs
- Vector3dCollection.cs
- Normalization.cs
- Hash.cs
- EnumCodeDomSerializer.cs
- AddInToken.cs
- processwaithandle.cs
- ProxyHwnd.cs
- IntPtr.cs
- DataRelationCollection.cs
- StringDictionaryEditor.cs
- WindowsNonControl.cs
- SessionSwitchEventArgs.cs
- OdbcException.cs
- ScriptComponentDescriptor.cs
- QuestionEventArgs.cs
- MemberDescriptor.cs
- __TransparentProxy.cs
- DataGridColumnCollection.cs
- PtsHost.cs
- ButtonRenderer.cs
- CompoundFileReference.cs
- XmlException.cs
- DataStorage.cs
- Transform3DCollection.cs
- UpdateProgress.cs
- QilBinary.cs
- WebRequestModuleElementCollection.cs
- RangeValueProviderWrapper.cs
- OrderPreservingPipeliningSpoolingTask.cs
- SqlClientFactory.cs
- DetailsViewPageEventArgs.cs
- XmlElementList.cs
- SchemaCollectionPreprocessor.cs
- UDPClient.cs
- BridgeDataRecord.cs
- DataGridCommandEventArgs.cs
- WebConvert.cs
- KeyValueConfigurationCollection.cs
- SerializerProvider.cs
- HttpDebugHandler.cs
- Deflater.cs
- ContentFileHelper.cs
- FramingEncoders.cs
- ConnectionStringsExpressionBuilder.cs
- ResourceDictionary.cs
- CqlErrorHelper.cs
- URLString.cs
- XsltInput.cs
- StyleSheetComponentEditor.cs
- FloaterParagraph.cs
- CatalogZone.cs
- HttpApplicationFactory.cs
- RangeValidator.cs
- SelectionChangedEventArgs.cs
- PointValueSerializer.cs
- SemanticTag.cs
- WindowsGraphics.cs
- CompoundFileIOPermission.cs
- HMACMD5.cs
- WindowsListView.cs
- File.cs
- EmptyStringExpandableObjectConverter.cs
- loginstatus.cs
- ConnectionsZone.cs
- ToolStripHighContrastRenderer.cs
- TextBoxView.cs
- Cursors.cs
- Stylus.cs
- BinaryMethodMessage.cs
- DesignerActionTextItem.cs
- WinFormsUtils.cs
- ResetableIterator.cs
- HttpRuntimeSection.cs
- ViewSimplifier.cs
- Claim.cs
- EmbeddedMailObject.cs
- ResXResourceReader.cs
- PagedDataSource.cs
- DataGridViewTopRowAccessibleObject.cs
- ChineseLunisolarCalendar.cs
- ConsoleCancelEventArgs.cs
- PropertyGridEditorPart.cs
- Pen.cs
- FontFamilyIdentifier.cs
- ECDiffieHellmanPublicKey.cs
- GlobalId.cs
- EntityTemplateUserControl.cs
- CacheAxisQuery.cs
- MergeExecutor.cs
- Main.cs
- SynchronizationHandlesCodeDomSerializer.cs