IMatrix

References
Defines a matrix used for transforms in Graphics and Brushes
Remarks: A matrix is defined by six elements that are used to transform a coordinate system. The elements of the matrix are defined as:

| xx yx 0 | | xy yy 0 | | x0 y0 1 |

Properties

ControlObject

object ControlObject { get; }
Gets the control object for this widget
inherited fromIControlObjectSource

Elements

#
float[] Elements { get; }
Gets the elements of this matrix

X0

#
float X0 { get; set; }
Gets or sets the value at position [3,1] in the matrix

Xx

#
float Xx { get; set; }
Gets or sets the value at position [1,1] in the matrix

Xy

#
float Xy { get; set; }
Gets or sets the value at position [2,1] in the matrix

Y0

#
float Y0 { get; set; }
Gets or sets the value at position [3,2] in the matrix

Yx

#
float Yx { get; set; }
Gets or sets the value at position [1,2] in the matrix

Yy

#
float Yy { get; set; }
Gets or sets the value at position [2,2] in the matrix

Methods

Append

#
void Append(IMatrix matrix)
Append the specified matrix to this matrix

Prepend

#
void Prepend(IMatrix matrix)
Prepend the specified matrix to this matrix

Rotate

#
void Rotate(float angle)
Prepend a rotation to the matrix around the origin (0,0)
angle (float)Angle in degrees to rotate. A positive value indicates a clockwise rotation, whereas a negative value will rotate counter clockwise

RotateAt

#
void RotateAt(float angle, float centerX, float centerY)
Prepend a rotation around the specified point to the matrix
angle (float)Angle in degrees to rotate. A positive value indicates a clockwise rotation, whereas a negative value will rotate counter clockwise
centerX (float)X co-ordinate of the point to rotate around
centerY (float)Y co-ordinate of the point to rotate around

Scale

#
void Scale(float scaleX, float scaleY)
Prepend a scale to the matrix from the origin (0, 0)
scaleX (float)The amount to multiply coordinates along the x axis
scaleY (float)The amount to multiply coordinates along the y axis

ScaleAt

#
void ScaleAt(float scaleX, float scaleY, float centerX, float centerY)
Prepend a scale to the matrix from the specified point
scaleX (float)The amount to multiply coordinates along the x axis
scaleY (float)The amount to multiply coordinates along the y axis
centerX (float)X co-ordinate of the point to scale from
centerY (float)Y co-ordinate of the point to scale from

Skew

#
void Skew(float skewX, float skewY)
Prepend a skew to the matrix
skewX (float)Amount to skew along the X axis, 1.0 does not skew
skewY (float)Amount to skew along the Y axis, 1.0 does not skew

TransformPoint

#
PointF TransformPoint(Point point)
Transforms the specified point using this matrix transform
point (Point)Point to transform
The value of the point transformed by this matrix

TransformPoint

#
PointF TransformPoint(PointF point)
Transforms the specified point using this matrix transform
point (PointF)Point to transform
The value of the point transformed by this matrix

Translate

#
void Translate(float offsetX, float offsetY)
Prepend a translation to the matrix
offsetX (float)The amount to offset along the x axis
offsetY (float)The amount to offset along the y axis