### Struct

# Gsk Transform

since: 4.0

#### Description [src]

    struct GskTransform {
      /* No available fields */
    }

`GskTransform` is an object to describe transform matrices.

Unlike `graphene_matrix_t`, `GskTransform` retains the steps in how a transform was constructed, and allows inspecting them. It is modeled after the way CSS describes transforms.

`GskTransform` objects are immutable and cannot be changed after creation. This means code can safely expose them as properties of objects without having to worry about others changing them.

Available since: 4.0

#### Constructors

###### gsk_transform_new

No description available.

since: 4.0

#### Functions

###### gsk_transform_parse

Parses the given `string` into a transform and puts it in `out_transform`.

since: 4.0

#### Instance methods

###### gsk_transform_equal

Checks two transforms for equality.

since: 4.0

###### gsk_transform_get_category

Returns the category this transform belongs to.

since: 4.0

###### gsk_transform_invert

Inverts the given transform.

since: 4.0

###### gsk_transform_matrix

Multiplies `next` with the given `matrix`.

since: 4.0

###### gsk_transform_perspective

Applies a perspective projection transform.

since: 4.0

###### gsk_transform_print

Converts `self` into a human-readable string representation suitable for printing.

since: 4.0

###### gsk_transform_ref

Acquires a reference on the given `GskTransform`.

since: 4.0

###### gsk_transform_rotate

Rotates `next` `angle` degrees in 2D - or in 3D-speak, around the Z axis. The rotation happens around the origin point of (0, 0).

since: 4.0

###### gsk_transform_rotate_3d

Rotates `next` `angle` degrees around `axis`.

since: 4.0

###### gsk_transform_scale

Scales `next` in 2-dimensional space by the given factors.

since: 4.0

###### gsk_transform_scale_3d

Scales `next` by the given factors.

since: 4.0

###### gsk_transform_skew

Applies a skew transform.

since: 4.6

###### gsk_transform_to_2d

Converts a `GskTransform` to a 2D transformation matrix.

since: 4.0

###### gsk_transform_to_2d_components

Converts a `GskTransform` to 2D transformation factors.

since: 4.6

###### gsk_transform_to_affine

Converts a `GskTransform` to 2D affine transformation factors.

since: 4.0

###### gsk_transform_to_matrix

Computes the actual value of `self` and stores it in `out_matrix`.

since: 4.0

###### gsk_transform_to_string

Converts a matrix into a string that is suitable for printing.

since: 4.0

###### gsk_transform_to_translate

Converts a `GskTransform` to a translation operation.

since: 4.0

###### gsk_transform_transform

Applies all the operations from `other` to `next`.

since: 4.0

###### gsk_transform_transform_bounds

Transforms a `graphene_rect_t` using the given transform `self`.

since: 4.0

###### gsk_transform_transform_point

Transforms a `graphene_point_t` using the given transform `self`.

since: 4.0

###### gsk_transform_translate

Translates `next` in 2-dimensional space by `point`.

since: 4.0

###### gsk_transform_translate_3d

Translates `next` by `point`.

since: 4.0

###### gsk_transform_unref

Releases a reference on the given `GskTransform`.

since: 4.0