Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / MeasureData.cs / 1305600 / 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
- TextOutput.cs
- _OverlappedAsyncResult.cs
- DependencyPropertyConverter.cs
- MetabaseServerConfig.cs
- KnownTypeHelper.cs
- SoapIncludeAttribute.cs
- PageThemeCodeDomTreeGenerator.cs
- XMLDiffLoader.cs
- Expr.cs
- ISFTagAndGuidCache.cs
- Normalization.cs
- Configuration.cs
- DbParameterCollectionHelper.cs
- RegistryExceptionHelper.cs
- DataTrigger.cs
- PocoPropertyAccessorStrategy.cs
- SystemParameters.cs
- ContentType.cs
- ProfileInfo.cs
- XmlSerializerNamespaces.cs
- XPathExpr.cs
- ElementNotEnabledException.cs
- XmlSchemaAttribute.cs
- Error.cs
- TypeReference.cs
- ApplicationFileParser.cs
- OperationDescription.cs
- FilterElement.cs
- KeyboardEventArgs.cs
- FixedSchema.cs
- RunWorkerCompletedEventArgs.cs
- FontDialog.cs
- DataPagerField.cs
- SchemaElementLookUpTable.cs
- ReflectionHelper.cs
- ActivityInterfaces.cs
- NameObjectCollectionBase.cs
- XamlTypeMapper.cs
- SkipStoryboardToFill.cs
- TypeConverterMarkupExtension.cs
- Fonts.cs
- GroupedContextMenuStrip.cs
- AtlasWeb.Designer.cs
- GlobalizationSection.cs
- ListBoxAutomationPeer.cs
- Vector3DCollectionConverter.cs
- DispatchWrapper.cs
- FontEmbeddingManager.cs
- ConnectionManagementElement.cs
- WmlLinkAdapter.cs
- EncodingNLS.cs
- ListViewGroup.cs
- ReferentialConstraintRoleElement.cs
- PermissionSetEnumerator.cs
- IdlingCommunicationPool.cs
- XsdValidatingReader.cs
- HttpRawResponse.cs
- ParameterCollection.cs
- ReverseQueryOperator.cs
- AnchoredBlock.cs
- Button.cs
- XsdValidatingReader.cs
- SafeViewOfFileHandle.cs
- SmiSettersStream.cs
- EventDescriptor.cs
- ToolStripPanel.cs
- BindingGroup.cs
- WebPartTracker.cs
- SourceFilter.cs
- ListViewPagedDataSource.cs
- MessageHeaderException.cs
- WebScriptMetadataFormatter.cs
- AsyncResult.cs
- MaskedTextBoxDesigner.cs
- SrgsItemList.cs
- KeyGestureConverter.cs
- MemberNameValidator.cs
- EmbeddedObject.cs
- DbQueryCommandTree.cs
- AssertHelper.cs
- PageCodeDomTreeGenerator.cs
- Menu.cs
- _ScatterGatherBuffers.cs
- SmtpNetworkElement.cs
- TreeNodeBindingCollection.cs
- ExpressionPrefixAttribute.cs
- EnvelopedPkcs7.cs
- SelectionRangeConverter.cs
- IMembershipProvider.cs
- ConsoleKeyInfo.cs
- WebBrowserBase.cs
- CatalogPartChrome.cs
- VisualProxy.cs
- AttachedPropertyBrowsableAttribute.cs
- VisualTreeHelper.cs
- State.cs
- ADRoleFactoryConfiguration.cs
- BuildProvidersCompiler.cs
- Transform3DGroup.cs
- EntitySetDataBindingList.cs