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
- RightsManagementEncryptedStream.cs
- GlobalizationSection.cs
- _Events.cs
- BlockExpression.cs
- WebPartUserCapability.cs
- DockEditor.cs
- MachineKeyConverter.cs
- UnsafeNativeMethodsCLR.cs
- ChtmlTextWriter.cs
- SplitterDesigner.cs
- CompoundFileIOPermission.cs
- ConnectionManagementElementCollection.cs
- AsyncDataRequest.cs
- ChannelDispatcherCollection.cs
- SimpleRecyclingCache.cs
- NativeMethods.cs
- TransformPattern.cs
- FormatConvertedBitmap.cs
- Path.cs
- ContentTextAutomationPeer.cs
- QueryTreeBuilder.cs
- GiveFeedbackEvent.cs
- X509Utils.cs
- StructuralCache.cs
- CodeTypeReference.cs
- WeakHashtable.cs
- SchemaMerger.cs
- NavigationFailedEventArgs.cs
- UseLicense.cs
- PackWebRequest.cs
- MatrixConverter.cs
- CodeCommentStatementCollection.cs
- ReadOnlyHierarchicalDataSource.cs
- SendParametersContent.cs
- DateTimeConverter2.cs
- HostExecutionContextManager.cs
- GenerateTemporaryTargetAssembly.cs
- UnaryNode.cs
- TraceListeners.cs
- CompositeActivityDesigner.cs
- WinEventTracker.cs
- CustomLineCap.cs
- NavigatorOutput.cs
- XsltContext.cs
- ColorAnimationUsingKeyFrames.cs
- AsyncOperationManager.cs
- User.cs
- RawStylusSystemGestureInputReport.cs
- XmlSchemaComplexContentExtension.cs
- ThousandthOfEmRealDoubles.cs
- BaseCodeDomTreeGenerator.cs
- ServiceContractViewControl.Designer.cs
- MailAddressCollection.cs
- GenericEnumerator.cs
- dbdatarecord.cs
- UnsafeNativeMethodsMilCoreApi.cs
- Compiler.cs
- FloaterParagraph.cs
- OptionalRstParameters.cs
- InvalidEnumArgumentException.cs
- SimpleHandlerBuildProvider.cs
- GenerateScriptTypeAttribute.cs
- ColorMap.cs
- ArrayList.cs
- ClientConfigurationSystem.cs
- CodeEntryPointMethod.cs
- PointLight.cs
- EditorPartChrome.cs
- InlineUIContainer.cs
- Binding.cs
- BooleanProjectedSlot.cs
- FixedSOMLineRanges.cs
- MainMenu.cs
- WindowsAuthenticationEventArgs.cs
- StringCollectionMarkupSerializer.cs
- FileVersion.cs
- UnicodeEncoding.cs
- AssemblyCollection.cs
- KeyboardNavigation.cs
- counter.cs
- DataObjectPastingEventArgs.cs
- TimelineClockCollection.cs
- ProcessHostConfigUtils.cs
- CommandPlan.cs
- CodeCompileUnit.cs
- SqlXml.cs
- HorizontalAlignConverter.cs
- FixedSOMPageConstructor.cs
- XmlCharacterData.cs
- ConfigUtil.cs
- LinkedDataMemberFieldEditor.cs
- MetadataItemSerializer.cs
- LambdaCompiler.Unary.cs
- CategoriesDocument.cs
- OleDbConnectionFactory.cs
- UIElementHelper.cs
- DataContractJsonSerializer.cs
- StatusBar.cs
- XPathNode.cs
- WindowsGraphicsWrapper.cs