### Struct

# Pango Matrix

since: 1.6

#### Description [src]

    struct PangoMatrix {
      double xx;
      double xy;
      double yx;
      double yy;
      double x0;
      double y0;
    }

A `PangoMatrix` specifies a transformation between user-space and device coordinates.

The transformation is given by

    x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;
    y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;

###### Structure members

`xx`

  1st component of the transformation matrix.

`xy`

  2nd component of the transformation matrix.

`yx`

  3rd component of the transformation matrix.

`yy`

  4th component of the transformation matrix.

`x0`

  X translation.

`y0`

  Y translation.

Available since: 1.6

#### Instance methods

###### pango_matrix_concat

Changes the transformation represented by `matrix` to be the transformation given by first applying transformation given by `new_matrix` then applying the original transformation.

since: 1.6

###### pango_matrix_copy

Copies a `PangoMatrix`.

since: 1.6

###### pango_matrix_free

Free a `PangoMatrix`.

since: 1.6

###### pango_matrix_get_font_scale_factor

Returns the scale factor of a matrix on the height of the font.

since: 1.12

###### pango_matrix_get_font_scale_factors

Calculates the scale factor of a matrix on the width and height of the font.

since: 1.38

###### pango_matrix_get_slant_ratio

Gets the slant ratio of a matrix.

since: 1.50

###### pango_matrix_rotate

Changes the transformation represented by `matrix` to be the transformation given by first rotating by `degrees` degrees counter-clockwise then applying the original transformation.

since: 1.6

###### pango_matrix_scale

Changes the transformation represented by `matrix` to be the transformation given by first scaling by `sx` in the X direction and `sy` in the Y direction then applying the original transformation.

since: 1.6

###### pango_matrix_transform_distance

Transforms the distance vector (`dx`,`dy`) by `matrix`.

since: 1.16

###### pango_matrix_transform_pixel_rectangle

First transforms the `rect` using `matrix`, then calculates the bounding box of the transformed rectangle.

since: 1.16

###### pango_matrix_transform_point

Transforms the point (`x`, `y`) by `matrix`.

since: 1.16

###### pango_matrix_transform_rectangle

First transforms `rect` using `matrix`, then calculates the bounding box of the transformed rectangle.

since: 1.16

###### pango_matrix_translate

Changes the transformation represented by `matrix` to be the transformation given by first translating by (`tx`, `ty`) then applying the original transformation.

since: 1.6