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
- ToolboxItemFilterAttribute.cs
- Tuple.cs
- ImplicitInputBrush.cs
- TableRowsCollectionEditor.cs
- MessageBox.cs
- LinkedList.cs
- VBCodeProvider.cs
- EditorZone.cs
- Rect3D.cs
- RtfToken.cs
- FixedLineResult.cs
- SQLSingle.cs
- SQLDoubleStorage.cs
- EventItfInfo.cs
- EditorAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- ErrorHandlerModule.cs
- HwndProxyElementProvider.cs
- MasterPageBuildProvider.cs
- SemaphoreFullException.cs
- SHA384Cng.cs
- ArraySegment.cs
- COM2AboutBoxPropertyDescriptor.cs
- BufferedGraphicsContext.cs
- ConsumerConnectionPoint.cs
- UIInitializationException.cs
- GeneratedView.cs
- HandledEventArgs.cs
- TableChangeProcessor.cs
- ProgressiveCrcCalculatingStream.cs
- ListControl.cs
- TypeUsage.cs
- CodePageEncoding.cs
- CodeFieldReferenceExpression.cs
- GAC.cs
- MetadataPropertyCollection.cs
- ObjectToIdCache.cs
- HierarchicalDataTemplate.cs
- ConfigurationStrings.cs
- ZipIOFileItemStream.cs
- SHA1CryptoServiceProvider.cs
- _ServiceNameStore.cs
- NumberSubstitution.cs
- VisualStyleTypesAndProperties.cs
- SafeSecurityHandles.cs
- SecurityElement.cs
- HttpRuntimeSection.cs
- ISAPIRuntime.cs
- ValidatorCompatibilityHelper.cs
- XamlStackWriter.cs
- AdRotator.cs
- DiscoveryDocumentLinksPattern.cs
- COM2EnumConverter.cs
- TextProviderWrapper.cs
- StrongNameUtility.cs
- DateTimeParse.cs
- DrawToolTipEventArgs.cs
- BitmapDecoder.cs
- ListArgumentProvider.cs
- SqlCommandAsyncResult.cs
- TextEditorThreadLocalStore.cs
- SHA384.cs
- FormViewDeleteEventArgs.cs
- HelpPage.cs
- BindingSource.cs
- ManagedIStream.cs
- NamedPipeChannelListener.cs
- HttpRequest.cs
- XmlNodeReader.cs
- FileEnumerator.cs
- LinearGradientBrush.cs
- XmlProcessingInstruction.cs
- ListBoxItemWrapperAutomationPeer.cs
- xml.cs
- Menu.cs
- OleStrCAMarshaler.cs
- ItemsControl.cs
- TemplateParser.cs
- log.cs
- UTF7Encoding.cs
- mactripleDES.cs
- SingletonConnectionReader.cs
- SelectorItemAutomationPeer.cs
- CmsUtils.cs
- SystemIPInterfaceStatistics.cs
- SimpleHandlerBuildProvider.cs
- HashHelper.cs
- Helpers.cs
- SqlCrossApplyToCrossJoin.cs
- SafeHandles.cs
- DataGridViewRowEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- SoapExtensionTypeElementCollection.cs
- DotExpr.cs
- ButtonRenderer.cs
- ExcCanonicalXml.cs
- ControlTemplate.cs
- BooleanStorage.cs
- CssClassPropertyAttribute.cs
- DataProtectionSecurityStateEncoder.cs