Manipulating the current transformation matrix
The current transformation matrix, ctm, is a two-dimensional affine transformation that maps all coordinates and other drawing instruments from the user space into the surface’s canonical coordinate system, also known as the device space.
<cairo-t>) (tx <double>) (ty <double>)Modifies the current transformation matrix (CTM) by translating the
user-space origin by (tx, ty). This offset is interpreted as
a user-space coordinate according to the CTM in place before the new
call to cairo-translate. In other words, the translation of the
user-space origin takes place after any existing transformation.
a cairo context
amount to translate in the X direction
amount to translate in the Y direction
<cairo-t>) (sx <double>) (sy <double>)Modifies the current transformation matrix (CTM) by scaling the X and Y user-space axes by sx and sy respectively. The scaling of the axes takes place after any existing transformation of user space.
a cairo context
scale factor for the X dimension
scale factor for the Y dimension
<cairo-t>) (angle <double>)Modifies the current transformation matrix (CTM) by rotating the user-space axes by angle radians. The rotation of the axes takes places after any existing transformation of user space. The rotation direction for positive angles is from the positive X axis toward the positive Y axis.
a cairo context
angle (in radians) by which the user-space axes will be rotated
<cairo-t>) (matrix <cairo-matrix-t>)Modifies the current transformation matrix (CTM) by applying matrix as an additional transformation. The new transformation of user space takes place after any existing transformation.
a cairo context
a transformation to be applied to the user-space axes
<cairo-t>) (matrix <cairo-matrix-t>)Modifies the current transformation matrix (CTM) by setting it equal to matrix.
a cairo context
a transformation matrix from user space to device space
<cairo-t>) (matrix <cairo-matrix-t>)Stores the current transformation matrix (CTM) into matrix.
a cairo context
return value for the matrix
<cairo-t>)Resets the current transformation matrix (CTM) by setting it equal to the identity matrix. That is, the user-space and device-space axes will be aligned and one user-space unit will transform to one device-space unit.
a cairo context
<cairo-t>) ⇒ (x <double>) (y <double>)Transform a coordinate from user space to device space by multiplying the given point by the current transformation matrix (CTM).
a cairo context
X value of coordinate (in/out parameter)
Y value of coordinate (in/out parameter)
<cairo-t>) ⇒ (dx <double>) (dy <double>)Transform a distance vector from user space to device space. This
function is similar to cairo-user-to-device except that the
translation components of the CTM will be ignored when transforming
(dx,dy).
a cairo context
X component of a distance vector (in/out parameter)
Y component of a distance vector (in/out parameter)
<cairo-t>) ⇒ (x <double>) (y <double>)Transform a coordinate from device space to user space by multiplying the given point by the inverse of the current transformation matrix (CTM).
a cairo
X value of coordinate (in/out parameter)
Y value of coordinate (in/out parameter)
<cairo-t>) ⇒ (dx <double>) (dy <double>)Transform a distance vector from device space to user space. This
function is similar to cairo-device-to-user except that the
translation components of the inverse CTM will be ignored when
transforming (dx,dy).
a cairo context
X component of a distance vector (in/out parameter)
Y component of a distance vector (in/out parameter)