/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Generated/Int32Rect.cs
https://github.com/dotnet/wpf · C# · 438 lines · 189 code · 81 blank · 168 comment · 15 complexity · cbf013e5c1ae638167bc29b03e380dfe MD5 · raw file
- // Licensed to the .NET Foundation under one or more agreements.
- // The .NET Foundation licenses this file to you under the MIT license.
- // See the LICENSE file in the project root for more information.
- //
- //
- // This file was generated, please do not edit it directly.
- //
- // Please see MilCodeGen.html for more information.
- //
- using MS.Internal;
- using MS.Internal.WindowsBase;
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Diagnostics;
- using System.Globalization;
- using System.Reflection;
- using System.Runtime.InteropServices;
- using System.ComponentModel.Design.Serialization;
- using System.Windows.Markup;
- using System.Windows.Converters;
- using System.Windows;
- // These types are aliased to match the unamanaged names used in interop
- using BOOL = System.UInt32;
- using WORD = System.UInt16;
- using Float = System.Single;
- namespace System.Windows
- {
- [Serializable]
- [TypeConverter(typeof(Int32RectConverter))]
- [ValueSerializer(typeof(Int32RectValueSerializer))] // Used by MarkupWriter
- partial struct Int32Rect : IFormattable
- {
- //------------------------------------------------------
- //
- // Public Methods
- //
- //------------------------------------------------------
- #region Public Methods
- /// <summary>
- /// Compares two Int32Rect instances for exact equality.
- /// Note that double values can acquire error when operated upon, such that
- /// an exact comparison between two values which are logically equal may fail.
- /// Furthermore, using this equality operator, Double.NaN is not equal to itself.
- /// </summary>
- /// <returns>
- /// bool - true if the two Int32Rect instances are exactly equal, false otherwise
- /// </returns>
- /// <param name='int32Rect1'>The first Int32Rect to compare</param>
- /// <param name='int32Rect2'>The second Int32Rect to compare</param>
- public static bool operator == (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- return int32Rect1.X == int32Rect2.X &&
- int32Rect1.Y == int32Rect2.Y &&
- int32Rect1.Width == int32Rect2.Width &&
- int32Rect1.Height == int32Rect2.Height;
- }
- /// <summary>
- /// Compares two Int32Rect instances for exact inequality.
- /// Note that double values can acquire error when operated upon, such that
- /// an exact comparison between two values which are logically equal may fail.
- /// Furthermore, using this equality operator, Double.NaN is not equal to itself.
- /// </summary>
- /// <returns>
- /// bool - true if the two Int32Rect instances are exactly unequal, false otherwise
- /// </returns>
- /// <param name='int32Rect1'>The first Int32Rect to compare</param>
- /// <param name='int32Rect2'>The second Int32Rect to compare</param>
- public static bool operator != (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- return !(int32Rect1 == int32Rect2);
- }
- /// <summary>
- /// Compares two Int32Rect instances for object equality. In this equality
- /// Double.NaN is equal to itself, unlike in numeric equality.
- /// Note that double values can acquire error when operated upon, such that
- /// an exact comparison between two values which
- /// are logically equal may fail.
- /// </summary>
- /// <returns>
- /// bool - true if the two Int32Rect instances are exactly equal, false otherwise
- /// </returns>
- /// <param name='int32Rect1'>The first Int32Rect to compare</param>
- /// <param name='int32Rect2'>The second Int32Rect to compare</param>
- public static bool Equals (Int32Rect int32Rect1, Int32Rect int32Rect2)
- {
- if (int32Rect1.IsEmpty)
- {
- return int32Rect2.IsEmpty;
- }
- else
- {
- return int32Rect1.X.Equals(int32Rect2.X) &&
- int32Rect1.Y.Equals(int32Rect2.Y) &&
- int32Rect1.Width.Equals(int32Rect2.Width) &&
- int32Rect1.Height.Equals(int32Rect2.Height);
- }
- }
- /// <summary>
- /// Equals - compares this Int32Rect with the passed in object. In this equality
- /// Double.NaN is equal to itself, unlike in numeric equality.
- /// Note that double values can acquire error when operated upon, such that
- /// an exact comparison between two values which
- /// are logically equal may fail.
- /// </summary>
- /// <returns>
- /// bool - true if the object is an instance of Int32Rect and if it's equal to "this".
- /// </returns>
- /// <param name='o'>The object to compare to "this"</param>
- public override bool Equals(object o)
- {
- if ((null == o) || !(o is Int32Rect))
- {
- return false;
- }
- Int32Rect value = (Int32Rect)o;
- return Int32Rect.Equals(this,value);
- }
- /// <summary>
- /// Equals - compares this Int32Rect with the passed in object. In this equality
- /// Double.NaN is equal to itself, unlike in numeric equality.
- /// Note that double values can acquire error when operated upon, such that
- /// an exact comparison between two values which
- /// are logically equal may fail.
- /// </summary>
- /// <returns>
- /// bool - true if "value" is equal to "this".
- /// </returns>
- /// <param name='value'>The Int32Rect to compare to "this"</param>
- public bool Equals(Int32Rect value)
- {
- return Int32Rect.Equals(this, value);
- }
- /// <summary>
- /// Returns the HashCode for this Int32Rect
- /// </summary>
- /// <returns>
- /// int - the HashCode for this Int32Rect
- /// </returns>
- public override int GetHashCode()
- {
- if (IsEmpty)
- {
- return 0;
- }
- else
- {
- // Perform field-by-field XOR of HashCodes
- return X.GetHashCode() ^
- Y.GetHashCode() ^
- Width.GetHashCode() ^
- Height.GetHashCode();
- }
- }
- /// <summary>
- /// Parse - returns an instance converted from the provided string using
- /// the culture "en-US"
- /// <param name="source"> string with Int32Rect data </param>
- /// </summary>
- public static Int32Rect Parse(string source)
- {
- IFormatProvider formatProvider = System.Windows.Markup.TypeConverterHelper.InvariantEnglishUS;
- TokenizerHelper th = new TokenizerHelper(source, formatProvider);
- Int32Rect value;
- String firstToken = th.NextTokenRequired();
- // The token will already have had whitespace trimmed so we can do a
- // simple string compare.
- if (firstToken == "Empty")
- {
- value = Empty;
- }
- else
- {
- value = new Int32Rect(
- Convert.ToInt32(firstToken, formatProvider),
- Convert.ToInt32(th.NextTokenRequired(), formatProvider),
- Convert.ToInt32(th.NextTokenRequired(), formatProvider),
- Convert.ToInt32(th.NextTokenRequired(), formatProvider));
- }
- // There should be no more tokens in this string.
- th.LastTokenRequired();
- return value;
- }
- #endregion Public Methods
- //------------------------------------------------------
- //
- // Public Properties
- //
- //------------------------------------------------------
- #region Public Properties
- /// <summary>
- /// X - int. Default value is 0.
- /// </summary>
- public int X
- {
- get
- {
- return _x;
- }
- set
- {
- _x = value;
- }
- }
- /// <summary>
- /// Y - int. Default value is 0.
- /// </summary>
- public int Y
- {
- get
- {
- return _y;
- }
- set
- {
- _y = value;
- }
- }
- /// <summary>
- /// Width - int. Default value is 0.
- /// </summary>
- public int Width
- {
- get
- {
- return _width;
- }
- set
- {
- _width = value;
- }
- }
- /// <summary>
- /// Height - int. Default value is 0.
- /// </summary>
- public int Height
- {
- get
- {
- return _height;
- }
- set
- {
- _height = value;
- }
- }
- #endregion Public Properties
- //------------------------------------------------------
- //
- // Protected Methods
- //
- //------------------------------------------------------
- #region Protected Methods
- #endregion ProtectedMethods
- //------------------------------------------------------
- //
- // Internal Methods
- //
- //------------------------------------------------------
- #region Internal Methods
- #endregion Internal Methods
- //------------------------------------------------------
- //
- // Internal Properties
- //
- //------------------------------------------------------
- #region Internal Properties
- /// <summary>
- /// Creates a string representation of this object based on the current culture.
- /// </summary>
- /// <returns>
- /// A string representation of this object.
- /// </returns>
- public override string ToString()
- {
- // Delegate to the internal method which implements all ToString calls.
- return ConvertToString(null /* format string */, null /* format provider */);
- }
- /// <summary>
- /// Creates a string representation of this object based on the IFormatProvider
- /// passed in. If the provider is null, the CurrentCulture is used.
- /// </summary>
- /// <returns>
- /// A string representation of this object.
- /// </returns>
- public string ToString(IFormatProvider provider)
- {
- // Delegate to the internal method which implements all ToString calls.
- return ConvertToString(null /* format string */, provider);
- }
- /// <summary>
- /// Creates a string representation of this object based on the format string
- /// and IFormatProvider passed in.
- /// If the provider is null, the CurrentCulture is used.
- /// See the documentation for IFormattable for more information.
- /// </summary>
- /// <returns>
- /// A string representation of this object.
- /// </returns>
- string IFormattable.ToString(string format, IFormatProvider provider)
- {
- // Delegate to the internal method which implements all ToString calls.
- return ConvertToString(format, provider);
- }
- /// <summary>
- /// Creates a string representation of this object based on the format string
- /// and IFormatProvider passed in.
- /// If the provider is null, the CurrentCulture is used.
- /// See the documentation for IFormattable for more information.
- /// </summary>
- /// <returns>
- /// A string representation of this object.
- /// </returns>
- internal string ConvertToString(string format, IFormatProvider provider)
- {
- if (IsEmpty)
- {
- return "Empty";
- }
- // Helper to get the numeric list separator for a given culture.
- char separator = MS.Internal.TokenizerHelper.GetNumericListSeparator(provider);
- return String.Format(provider,
- "{1:" + format + "}{0}{2:" + format + "}{0}{3:" + format + "}{0}{4:" + format + "}",
- separator,
- _x,
- _y,
- _width,
- _height);
- }
- #endregion Internal Properties
- //------------------------------------------------------
- //
- // Dependency Properties
- //
- //------------------------------------------------------
- #region Dependency Properties
- #endregion Dependency Properties
- //------------------------------------------------------
- //
- // Internal Fields
- //
- //------------------------------------------------------
- #region Internal Fields
- internal int _x;
- internal int _y;
- internal int _width;
- internal int _height;
- #endregion Internal Fields
- #region Constructors
- //------------------------------------------------------
- //
- // Constructors
- //
- //------------------------------------------------------
- #endregion Constructors
- }
- }