/* * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; namespace ElmSharp { /// /// The Size is a struct that defining height and width as a pair of generic type. /// public struct Size : IEquatable { /// /// Magnitude along the horizontal axis, in platform-defined units. /// public int Width; /// /// Magnitude along the vertical axis, in platform-specific units. /// public int Height; /// /// Initializes a new instance of the Size structure from the specified dimensions. /// /// The width to set /// The height to set public Size(int width, int height) { Width = width; Height = height; } /// /// A human-readable representation of the . /// /// The string is formatted as "{{Width={0} Height={1}}}". public override string ToString() { return string.Format("{{Width={0} Height={1}}}", Width, Height); } public override int GetHashCode() { unchecked { return Width.GetHashCode() ^ (Height.GetHashCode() * 397); } } public override bool Equals(object obj) { if (!(obj is Size)) return false; return Equals((Size)obj); } public bool Equals(Size other) { return Width.Equals(other.Width) && Height.Equals(other.Height); } /// /// Whether the two s are equal. /// /// A on the left hand side. /// A on the right hand side. /// True if the two s have equal values. public static bool operator ==(Size s1, Size s2) { return s1.Equals(s2); } /// /// Whether two s are not equal. /// /// A on the left hand side. /// A on the right hand side. /// True if the two s do not have equal values. public static bool operator !=(Size s1, Size s2) { return !s1.Equals(s2); } } }