Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- SchemaLookupTable.cs
- XPathSingletonIterator.cs
- XmlSchemaAttributeGroupRef.cs
- CacheMemory.cs
- BindingContext.cs
- StreamReader.cs
- _TLSstream.cs
- _Rfc2616CacheValidators.cs
- TimeoutException.cs
- HtmlElementCollection.cs
- ButtonBaseAutomationPeer.cs
- ReachFixedDocumentSerializer.cs
- KeyGestureValueSerializer.cs
- DrawingContextDrawingContextWalker.cs
- WindowsGraphicsCacheManager.cs
- DataFormats.cs
- FixedSOMSemanticBox.cs
- ModuleBuilderData.cs
- SoapReflectionImporter.cs
- CompositeFontParser.cs
- ThousandthOfEmRealPoints.cs
- CollectionDataContractAttribute.cs
- InputScope.cs
- GridItemProviderWrapper.cs
- TemplatingOptionsDialog.cs
- DecoratedNameAttribute.cs
- Point3DValueSerializer.cs
- DetailsViewPageEventArgs.cs
- Internal.cs
- EntityChangedParams.cs
- TemplateParser.cs
- PointCollection.cs
- SecurityContext.cs
- ReflectionHelper.cs
- SafeSystemMetrics.cs
- ChtmlCommandAdapter.cs
- translator.cs
- MatrixKeyFrameCollection.cs
- FacetDescriptionElement.cs
- StringFormat.cs
- DataGridViewCellFormattingEventArgs.cs
- FormClosedEvent.cs
- IDQuery.cs
- SqlUserDefinedAggregateAttribute.cs
- SynchronizedDispatch.cs
- View.cs
- MarshalByValueComponent.cs
- UITypeEditor.cs
- UnsafeNativeMethods.cs
- HttpClientCertificate.cs
- InternalConfigConfigurationFactory.cs
- MetadataItemSerializer.cs
- UnsafePeerToPeerMethods.cs
- SoapExtensionTypeElementCollection.cs
- StoreItemCollection.Loader.cs
- sqlpipe.cs
- RoleManagerEventArgs.cs
- ForAllOperator.cs
- PropertyConverter.cs
- CustomLineCap.cs
- UpdateExpressionVisitor.cs
- TypePropertyEditor.cs
- DefaultPrintController.cs
- DesignerForm.cs
- AdornerLayer.cs
- DuplicateContext.cs
- PropertyGrid.cs
- DataSource.cs
- TemplatePropertyEntry.cs
- storepermission.cs
- cookiecollection.cs
- RawStylusSystemGestureInputReport.cs
- VoiceChangeEventArgs.cs
- AssertFilter.cs
- Assert.cs
- WebPartMovingEventArgs.cs
- Registry.cs
- ExtendedPropertyInfo.cs
- RawStylusInputCustomData.cs
- HebrewNumber.cs
- WindowsSolidBrush.cs
- UnknownBitmapDecoder.cs
- HostingEnvironmentException.cs
- SafeNativeMethods.cs
- SystemWebSectionGroup.cs
- SoapMessage.cs
- connectionpool.cs
- CodeChecksumPragma.cs
- TemplateBamlTreeBuilder.cs
- Directory.cs
- XmlLanguage.cs
- _IPv6Address.cs
- CodePageEncoding.cs
- OutputCacheSection.cs
- PolicyException.cs
- XamlTypeMapper.cs
- VisualStateGroup.cs
- XmlStringTable.cs
- DeflateStream.cs
- IdentifierCreationService.cs