### Method

# Pango Matrix transform_rectangle

since: 1.16

#### Declaration [src]

    void
    pango_matrix_transform_rectangle (
      const PangoMatrix* matrix,
      PangoRectangle* rect
    )

#### Description [src]

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

This function is useful for example when you want to draw a rotated `PangoLayout` to an image buffer, and want to know how large the image should be and how much you should shift the layout when rendering.

If you have a rectangle in device units (pixels), use `pango_matrix_transform_pixel_rectangle()`.

If you have the rectangle in Pango units and want to convert to transformed pixel bounding box, it is more accurate to transform it first (using this function) and pass the result to pango_extents_to_pixels(), first argument, for an inclusive rounded rectangle. However, there are valid reasons that you may want to convert to pixels first and then transform, for example when the transformed coordinates may overflow in Pango units (large matrix translation for example).

Available since: 1.16

#### Parameters

`matrix`

  Type: `PangoMatrix`

  A `PangoMatrix`.

  The argument can be `NULL`.

`rect`

  Type: `PangoRectangle`

  In/out bounding box in Pango units.

  The argument will be modified by the function.
  The argument can be `NULL`.
  The caller of the method takes ownership of the returned data, and is responsible for freeing it.