/// <summary> /// Initializes a new instance of the <see cref="D2D1ArcSegment"/> struct. /// </summary> /// <param name="point">The end point of the arc.</param> /// <param name="size">The x-radius and y-radius of the arc.</param> /// <param name="rotationAngle">A value that specifies how many degrees in the clockwise direction the ellipse is rotated relative to the current coordinate system.</param> /// <param name="sweepDirection">A value that specifies whether the arc sweep is clockwise or counterclockwise.</param> /// <param name="arcSize">A value that specifies whether the given arc is larger than 180 degrees.</param> public D2D1ArcSegment(D2D1Point2F point, D2D1SizeF size, float rotationAngle, D2D1SweepDirection sweepDirection, D2D1ArcSize arcSize) { this.point = point; this.size = size; this.rotationAngle = rotationAngle; this.sweepDirection = sweepDirection; this.arcSize = arcSize; }
/// <summary> /// Creates a scale transformation that has the specified scale factors and center point. /// </summary> /// <param name="size">The x-axis and y-axis scale factors of the scale transformation.</param> /// <param name="center">The point about which the scale is performed.</param> /// <returns>The new scale transformation.</returns> public static D2D1Matrix3X2F Scale(D2D1SizeF size, D2D1Point2F center) { D2D1Matrix3X2F scale; scale.m11 = size.Width; scale.m12 = 0.0f; scale.m21 = 0.0f; scale.m22 = size.Height; scale.m31 = center.X - (size.Width * center.X); scale.m32 = center.Y - (size.Height * center.Y); return(scale); }
/// <summary> /// Creates a scale transformation that has the specified scale factors. /// </summary> /// <param name="size">The x-axis and y-axis scale factors of the scale transformation.</param> /// <returns>The new scale transformation.</returns> public static D2D1Matrix3X2F Scale(D2D1SizeF size) { D2D1Matrix3X2F scale; scale.m11 = size.Width; scale.m12 = 0.0f; scale.m21 = 0.0f; scale.m22 = size.Height; scale.m31 = 0.0f; scale.m32 = 0.0f; return(scale); }
/// <summary> /// Creates a translation transformation that has the specified x and y displacements. /// </summary> /// <param name="size">The distance to translate along the x-axis and the y-axis.</param> /// <returns>A transformation matrix that translates an object the specified horizontal and vertical distance.</returns> public static D2D1Matrix3X2F Translation(D2D1SizeF size) { D2D1Matrix3X2F translation; translation.m11 = 1.0f; translation.m12 = 0.0f; translation.m21 = 0.0f; translation.m22 = 1.0f; translation.m31 = size.Width; translation.m32 = size.Height; return(translation); }