cairoMatrixInit(xx, yx, xy, yy, x0, y0)
cairoMatrixInitIdentity()
cairoMatrixInitTranslate(tx, ty)
cairoMatrixInitScale(sx, sy)
cairoMatrixInitRotate(radians)
cairoMatrixTranslate(matrix, tx, ty)
cairoMatrixScale(matrix, sx, sy)
cairoMatrixRotate(matrix, radians)
cairoMatrixInvert(matrix)
cairoMatrixMultiply(result, a, b)
cairoMatrixTransformDistance(matrix, dx, dy)
cairoMatrixTransformPoint(matrix, x, y)
CairoMatrix
is used throughout cairo to convert between different
coordinate spaces. A CairoMatrix
holds an affine transformation,
such as a scale, rotation, shear, or a combination of these.
The transformation of a point (x
,y
)
is given by:
x_new = xx * x + xy * y + x0; y_new = yx * x + yy * y + y0;The current transformation matrix of a
Cairo
, represented as a
CairoMatrix
, defines the transformation from user-space
coordinates to device-space coordinates. See cairoGetMatrix
and
cairoSetMatrix
.