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
- RouteValueDictionary.cs
- ClientTargetCollection.cs
- SolidColorBrush.cs
- VersionPair.cs
- ListBoxChrome.cs
- DefaultBindingPropertyAttribute.cs
- EpmSourceTree.cs
- HttpProfileBase.cs
- ExtensionSurface.cs
- DropShadowBitmapEffect.cs
- PropertyNames.cs
- Attributes.cs
- NullReferenceException.cs
- StringReader.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- ToolStripMenuItem.cs
- SqlGenericUtil.cs
- RowSpanVector.cs
- MachineSettingsSection.cs
- XmlNamespaceMappingCollection.cs
- ObjectPropertyMapping.cs
- DecimalConverter.cs
- BindingGroup.cs
- basecomparevalidator.cs
- PlatformNotSupportedException.cs
- CompilerInfo.cs
- SmtpCommands.cs
- CodeDomLocalizationProvider.cs
- AtomMaterializer.cs
- FlowDocument.cs
- CutCopyPasteHelper.cs
- BufferedGraphicsManager.cs
- BinaryReader.cs
- CreateUserErrorEventArgs.cs
- NumericPagerField.cs
- LinqToSqlWrapper.cs
- SystemWebSectionGroup.cs
- ZoneIdentityPermission.cs
- Matrix3DStack.cs
- AlgoModule.cs
- httpstaticobjectscollection.cs
- MobileCategoryAttribute.cs
- WhileDesigner.xaml.cs
- VisualTreeUtils.cs
- TypeConvertions.cs
- TextComposition.cs
- AnimationClock.cs
- ExpressionBindingCollection.cs
- RelationshipEnd.cs
- NumericExpr.cs
- BindingGroup.cs
- FlowLayoutPanel.cs
- XmlHierarchyData.cs
- filewebresponse.cs
- OverrideMode.cs
- TimeSpanValidatorAttribute.cs
- Int32Rect.cs
- DataGridViewCell.cs
- sqlnorm.cs
- XmlDocument.cs
- TextBounds.cs
- ValidatingPropertiesEventArgs.cs
- ReferencedCollectionType.cs
- HebrewNumber.cs
- FieldTemplateUserControl.cs
- OpenTypeLayoutCache.cs
- DataGridViewColumn.cs
- HttpListenerRequest.cs
- MissingMethodException.cs
- EditorAttribute.cs
- KoreanCalendar.cs
- ComponentDispatcherThread.cs
- CryptoSession.cs
- SByte.cs
- SafePEFileHandle.cs
- ModelItemCollectionImpl.cs
- InstanceLockLostException.cs
- PermissionSetTriple.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- TimeZone.cs
- HttpHostedTransportConfiguration.cs
- NamespaceMapping.cs
- HttpMethodConstraint.cs
- BaseDataListActionList.cs
- FieldMetadata.cs
- QualifierSet.cs
- ISSmlParser.cs
- WindowsGraphics.cs
- updateconfighost.cs
- AssemblyBuilder.cs
- MainMenu.cs
- ToolStripContentPanelRenderEventArgs.cs
- SqlGatherProducedAliases.cs
- MobileCapabilities.cs
- ConfigurationStrings.cs
- FixedDocumentPaginator.cs
- CodeParameterDeclarationExpression.cs
- Separator.cs
- VisualBasicSettings.cs
- PopupEventArgs.cs