Struct gsk4::Transform [−][src]
pub struct Transform(_);
Expand description
Transform
is an object to describe transform matrices.
Unlike graphene_matrix_t
, Transform
retains the steps in how
a transform was constructed, and allows inspecting them. It is modeled
after the way CSS describes transforms.
Transform
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.
Implementations
Inverts the given transform.
If self
is not invertible, None
is returned.
Note that inverting None
also returns None
, which is
the correct inverse of None
. If you need to differentiate
between those cases, you should check self
is not None
before calling this function.
Returns
The inverted transform
Applies a perspective projection transform.
This transform scales points in X and Y based on their Z value, scaling points with positive Z values away from the origin, and those with negative Z values towards the origin. Points on the z=0 plane are unchanged.
depth
distance of the z=0 plane. Lower values give a more flattened pyramid and therefore a more pronounced perspective effect.
Returns
The new transform
Scales self
in 2-dimensional space by the given factors.
Use scale_3d()
to scale in all 3 dimensions.
factor_x
scaling factor on the X axis
factor_y
scaling factor on the Y axis
Returns
The new transform
Converts a Transform
to a 2D transformation matrix.
self
must be a 2D transformation. If you are not
sure, use category()
>=
TransformCategory::_2d
to check.
The returned values have the following layout:
| xx yx | | a b 0 |
| xy yy | = | c d 0 |
| dx dy | | tx ty 1 |
This function can be used to convert between a Transform
and a matrix type from other 2D drawing libraries, in particular
Cairo.
Returns
out_xx
return location for the xx member
out_yx
return location for the yx member
out_xy
return location for the xy member
out_yy
return location for the yy member
out_dx
return location for the x0 member
out_dy
return location for the y0 member
Converts a Transform
to 2D affine transformation factors.
self
must be a 2D transformation. If you are not
sure, use
category()
>= TransformCategory::_2dAffine
to check.
Returns
out_scale_x
return location for the scale factor in the x direction
out_scale_y
return location for the scale factor in the y direction
out_dx
return location for the translation in the x direction
out_dy
return location for the translation in the y direction
Computes the actual value of self
and stores it in out_matrix
.
The previous value of out_matrix
will be ignored.
Returns
out_matrix
The matrix to set
Converts a Transform
to a translation operation.
self
must be a 2D transformation. If you are not
sure, use
category()
>= TransformCategory::_2dTranslate
to check.
Returns
out_dx
return location for the translation in the x direction
out_dy
return location for the translation in the y direction
Parses the given string
into a transform and puts it in
out_transform
.
Strings printed via Gsk::
Transform::to_string()``
can be read in again successfully using this function.
If string
does not describe a valid transform, false
is
returned and None
is put in out_transform
.
string
the string to parse
Returns
true
if string
described a valid transform.
out_transform
The location to put the transform in
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for Transform
impl UnwindSafe for Transform
Blanket Implementations
Mutably borrows from an owned value. Read more