cairo_matrix_transform_distance.Rd
Transforms the distance vector (dx,dy) by matrix. This is similar to cairo_matrix_transform_point() except that the translation components of the transformation are ignored. The calculation of the returned vector is as follows:
cairo_matrix_transform_distance(matrix, dx, dy)
matrix | [ |
---|---|
dx | [ |
dy | [ |
<programlisting> dx2 = dx1 * a + dy1 * c; dy2 = dx1 * b + dy1 * d; </programlisting>
Affine transformations are position invariant, so the same vector always transforms to the same vector. If (x1,y1) transforms to (x2,y2) then (x1+dx1,y1+dy1) will transform to (x1+dx2,y1+dy2) for all values of x1 and x2.
Since: 1.0
C function prototype: void cairo_matrix_transform_distance (const cairo_matrix_t *matrix, double *dx, double *dy)
Other cairo-matrix:
cairo_matrix_init_rotate()
,
cairo_matrix_init_scale()
,
cairo_matrix_init_translate()
,
cairo_matrix_init()
,
cairo_matrix_invert()
,
cairo_matrix_multiply()
,
cairo_matrix_rotate()
,
cairo_matrix_scale()
,
cairo_matrix_transform_point()
,
cairo_matrix_translate()