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
- VerticalConnector.xaml.cs
- Helpers.cs
- AssemblyFilter.cs
- ObjectHandle.cs
- SettingsPropertyWrongTypeException.cs
- Timer.cs
- ViewCellRelation.cs
- HashCodeCombiner.cs
- XPathChildIterator.cs
- InteropAutomationProvider.cs
- AutomationIdentifierGuids.cs
- IBuiltInEvidence.cs
- CachingParameterInspector.cs
- xsdvalidator.cs
- OpacityConverter.cs
- ReachPageContentSerializer.cs
- ReflectEventDescriptor.cs
- RuntimeConfigurationRecord.cs
- EventData.cs
- UIElement.cs
- InterleavedZipPartStream.cs
- WorkflowInlining.cs
- FlowDocument.cs
- ErrorStyle.cs
- PerformanceCountersElement.cs
- PageCatalogPart.cs
- EnumerableCollectionView.cs
- MessageHeaderInfoTraceRecord.cs
- XhtmlTextWriter.cs
- TableRow.cs
- NoPersistHandle.cs
- PopupEventArgs.cs
- WindowInteractionStateTracker.cs
- WindowsAuthenticationEventArgs.cs
- AlphabeticalEnumConverter.cs
- XmlCustomFormatter.cs
- UmAlQuraCalendar.cs
- BuildManager.cs
- SuppressMessageAttribute.cs
- SqlCommand.cs
- _NegoState.cs
- FixedDocumentSequencePaginator.cs
- WebServiceTypeData.cs
- FixedSchema.cs
- WebConfigurationManager.cs
- TimeSpanFormat.cs
- NewExpression.cs
- ClusterUtils.cs
- _SslState.cs
- SqlStatistics.cs
- X509ServiceCertificateAuthentication.cs
- MemberAccessException.cs
- FilteredAttributeCollection.cs
- PermissionSetEnumerator.cs
- HostedBindingBehavior.cs
- CheckedPointers.cs
- DataGridViewSortCompareEventArgs.cs
- RuntimeConfigurationRecord.cs
- EDesignUtil.cs
- ToolStripMenuItem.cs
- AttributeCollection.cs
- XmlElementAttribute.cs
- InitializationEventAttribute.cs
- MethodExpression.cs
- OleDbStruct.cs
- MembershipAdapter.cs
- XmlLinkedNode.cs
- DependencyPropertyAttribute.cs
- TemplatedEditableDesignerRegion.cs
- TreeView.cs
- SafeMemoryMappedFileHandle.cs
- DataMemberFieldConverter.cs
- MessageTraceRecord.cs
- SQLMoney.cs
- TypeNameConverter.cs
- NullExtension.cs
- PathFigure.cs
- documentsequencetextpointer.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- BitmapEffectrendercontext.cs
- FontClient.cs
- RequestContext.cs
- SetStateEventArgs.cs
- CharacterBuffer.cs
- XmlConvert.cs
- ApplicationFileParser.cs
- UrlRoutingHandler.cs
- HandlerFactoryCache.cs
- PeerToPeerException.cs
- XamlTreeBuilderBamlRecordWriter.cs
- HttpHandlerActionCollection.cs
- WebPageTraceListener.cs
- IndentedTextWriter.cs
- basecomparevalidator.cs
- Base64Encoding.cs
- XhtmlBasicControlAdapter.cs
- _TimerThread.cs
- WebPartRestoreVerb.cs
- BordersPage.cs
- EntityContainerEmitter.cs