/// <summary> /// Initializes a new instance of the <see cref="Rectanglel"/> using the specified location and size. /// </summary> /// <param name="location">The lower-left corner of the rectangle.</param> /// <param name="size">The size of the rectangle.</param> public Rectanglel(Point2l location, Size2l size) { X = location.X; Y = location.Y; Width = size.Width; Height = size.Height; }
/// <summary> /// Initializes a new instance of the <see cref="Size3l"/> using the specified size and value. /// </summary> /// <param name="value">A size containing the values with which to initialize the Width and Height components</param> /// <param name="depth">Value for the Depth component of the size.</param> public Size3l(Size2l value, long depth) { Contract.Requires(0 <= depth); Width = value.Width; Height = value.Height; Depth = depth; }
/// <summary> /// Initializes a new instance of the <see cref="Ellipsel"/> using the specified location and radius. /// </summary> /// <param name="center">The center of the ellipse.</param> /// <param name="size">The size of the ellipse.</param> public Ellipsel(Point2l center, Size2l size) { X = center.X; Y = center.Y; Width = size.Width; Height = size.Height; }
/// <summary> /// Constrains each component to a given range. /// </summary> /// <param name="value">A size to constrain.</param> /// <param name="min">The minimum values for each component.</param> /// <param name="max">The maximum values for each component.</param> /// <returns>A size with each component constrained to the given range.</returns> public static Size2l Clamp(Size2l value, Size2l min, Size2l max) { return(new Size2l(Functions.Clamp(value.Width, min.Width, max.Width), Functions.Clamp(value.Height, min.Height, max.Height))); }
/// <summary> /// Returns a size that contains the highest value from each pair of components. /// </summary> /// <param name="value1">The first size.</param> /// <param name="value2">The second size.</param> /// <returns>The highest of each component in left and the matching component in right.</returns> public static Size2l Max(Size2l value1, Size2l value2) { return(new Size2l(Functions.Max(value1.Width, value2.Width), Functions.Max(value1.Height, value2.Height))); }
/// <summary> /// Transforms the components of a size and returns the result. /// </summary> /// <param name="value">The size to transform.</param> /// <param name="transformer">A transform function to apply to each component.</param> /// <returns>The result of transforming each component of value.</returns> public static Size2i Transform(Size2l value, Func <long, int> transformer) { return(new Size2i(transformer(value.Width), transformer(value.Height))); }
/// <summary> /// Transforms the components of a size and returns the result. /// </summary> /// <param name="value">The size to transform.</param> /// <param name="transformer">A transform function to apply to each component.</param> /// <returns>The result of transforming each component of value.</returns> public static Size2d Transform(Size2l value, Func <long, double> transformer) { return(new Size2d(transformer(value.Width), transformer(value.Height))); }
/// <summary> /// Returns a value that indicates whether two sizes are equal. /// </summary> /// <param name="left">The first size to compare.</param> /// <param name="right">The second size to compare.</param> /// <returns>true if the left and right are equal; otherwise, false.</returns> public static bool Equals(Size2l left, Size2l right) { return(left == right); }
/// <summary> /// Divides a size by a scalar and returns the result. /// </summary> /// <param name="size">The size to be divided (the dividend).</param> /// <param name="scalar">The scalar to divide by (the divisor).</param> /// <returns>The result of dividing left by right (the quotient).</returns> public static Size2l Divide(Size2l size, long scalar) { Contract.Requires(0 <= scalar); return(new Size2l(size.Width / scalar, size.Height / scalar)); }
/// <summary> /// Returns the product of a size and scalar. /// </summary> /// <param name="size">The size to multiply.</param> /// <param name="scalar">The scalar to multiply.</param> /// <returns>The product of the left and right parameters.</returns> public static Size2l Multiply(Size2l size, long scalar) { Contract.Requires(0 <= scalar); return(new Size2l(size.Width * scalar, size.Height * scalar)); }
/// <summary> /// Writes the given <see cref="Size2l"/> to an <see cref="Ibasa.IO.BinaryWriter">. /// </summary> public static void Write(this Ibasa.IO.BinaryWriter writer, Size2l size) { writer.Write(size.Width); writer.Write(size.Height); }