### Struct

# Gsk Transform

#### Description [src]

    struct GskTransform {
      /* No available fields */
    }

Describes a 3D transform.

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.

#### Constructors

###### gsk_transform_new

Creates a new identity transform.

#### Functions

###### gsk_transform_parse

Parses a given into a transform.

#### Instance methods

###### gsk_transform_equal

Checks two transforms for equality.

###### gsk_transform_get_category

Returns the category this transform belongs to.

###### gsk_transform_invert

Inverts the given transform.

###### gsk_transform_matrix

Multiplies `next` with the given `matrix`.

###### gsk_transform_matrix_2d

Multiplies `next` with the matrix [ xx yx x0; xy yy y0; 0 0 1 ].

since: 4.20

###### gsk_transform_perspective

Applies a perspective projection transform.

###### gsk_transform_print

Converts the transform into a human-readable representation.

###### gsk_transform_ref

Acquires a reference on the given transform.

###### gsk_transform_rotate

Rotates `next` by an angle around the Z axis.

###### gsk_transform_rotate_3d

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

###### gsk_transform_scale

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

###### gsk_transform_scale_3d

Scales `next` by the given factors.

###### gsk_transform_skew

Applies a skew transform.

since: 4.6

###### gsk_transform_to_2d

Converts a transform to a 2D transformation matrix.

###### gsk_transform_to_2d_components

Converts a transform to 2D transformation factors.

since: 4.6

###### gsk_transform_to_affine

Converts a transform to 2D affine transformation factors.

###### gsk_transform_to_matrix

Computes the 4x4 matrix for the transform.

###### gsk_transform_to_string

Converts the transform into a human-readable string.

###### gsk_transform_to_translate

Converts a transform to a translation operation.

###### gsk_transform_transform

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

###### gsk_transform_transform_bounds

Transforms a rectangle using the given transform.

###### gsk_transform_transform_point

Transforms a point using the given transform.

###### gsk_transform_translate

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

###### gsk_transform_translate_3d

Translates `next` by `point`.

###### gsk_transform_unref

Releases a reference on the given transform.