Struct Matrix
Wrapper for cairo's cairo_matrix_t.
A cairo_matrix_t holds an affine transformation, such as a scale
,
rotation, shear, or a combination of those. The transformation of
a point
(x, y) is given by:
x_new = xx * x + xy * y + x0;
y_new = yx * x + yy * y + y0;
Constructors
Name |
Description |
this
|
Sets matrix to be the affine transformation given by xx , yx , xy , yy , x0 , y0 .
The transformation is given by:
|
Methods
Name |
Description |
initIdentity
|
Modifies matrix to be an identity transformation.
|
initRotate
|
Initialized matrix to a transformation that rotates by radians .
|
initScale
|
nitializes matrix to a transformation that scales by sx and sy
in the X and Y dimensions, respectively.
|
initTranslate
|
Initializes matrix to a transformation that translates by tx
and ty in the X and Y dimensions, respectively.
|
invert
|
Changes matrix to be the inverse of its original value.
Not all transformation matrices have inverses; if the matrix
collapses points together (it is degenerate), then it has no
inverse and this function will fail.
|
opBinary
|
Multiplies the affine transformations in a and b together and
returns the result. The effect of the resulting transformation
is to first apply the transformation in a to the coordinates
and then apply the transformation in b to the coordinates.
|
rotate
|
Applies rotation by radians to the transformation in matrix.
The effect of the new transformation is to first rotate the
coordinates by radians , then apply the original transformation
to the coordinates.
|
scale
|
Applies scaling by sx , sy to the transformation in matrix.
The effect of the new transformation is to first scale the
coordinates by sx and sy , then apply the original transformation
to the coordinates.
|
transformDistance
|
Transforms the distance vector (dx,dy) by matrix. This is similar
to transformPoint except that the translation
components of the transformation are ignored. The calculation
of the returned vector is as follows:
|
transformPoint
|
Transforms the point (x, y) by matrix.
|
translate
|
Applies a translation by tx , ty to the transformation in matrix.
The effect of the new transformation is to first translate the
coordinates by tx and ty , then apply the original transformation
to the coordinates.
|
Authors
Johannes Pfau | cairoD |
Andrej Mitrovic | cairoD |
cairo team | cairo |