### Struct

# GskTransform

#### 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.

#### Constructors

###### gsk_transform_new

#### 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_perspective

Applies a perspective projection transform.

###### gsk_transform_print

Converts `self`

into a human-readable string representation suitable
for printing.

###### gsk_transform_ref

Acquires a reference on the given `GskTransform`

.

###### gsk_transform_rotate

Rotates `next`

`angle`

degrees in 2D - or in 3D-speak, 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_to_2d

Converts a `GskTransform`

to a 2D transformation matrix.

###### gsk_transform_to_affine

Converts a `GskTransform`

to 2D affine transformation factors.

###### gsk_transform_to_matrix

Computes the actual value of `self`

and stores it in `out_matrix`

.

###### gsk_transform_to_string

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

###### gsk_transform_to_translate

Converts a `GskTransform`

to a translation operation.

###### gsk_transform_transform

Applies all the operations from `other`

to `next`

.

###### gsk_transform_transform_bounds

Transforms a `graphene_rect_t`

using the given transform `self`

.

###### gsk_transform_transform_point

Transforms a `graphene_point_t`

using the given transform `self`

.

###### 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 `GskTransform`

.

#### Functions

###### gsk_transform_parse

Parses the given `string`

into a transform and puts it in
`out_transform`

.