Enum gsk4::TransformCategory
source · #[non_exhaustive]
pub enum TransformCategory {
Unknown,
Any,
_3d,
_2d,
_2dAffine,
_2dTranslate,
Identity,
}
Expand description
The categories of matrices relevant for GSK and GTK.
Note that any category includes matrices of all later categories.
So if you want to for example check if a matrix is a 2D matrix,
category >= GSK_TRANSFORM_CATEGORY_2D
is the way to do this.
Also keep in mind that rounding errors may cause matrices to not
conform to their categories. Otherwise, matrix operations done via
multiplication will not worsen categories. So for the matrix
multiplication C = A * B
, category(C) = MIN (category(A), category(B))
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unknown
The category of the matrix has not been determined.
Any
Analyzing the matrix concluded that it does not fit in any other category.
_3d
The matrix is a 3D matrix. This means that the w column (the last column) has the values (0, 0, 0, 1).
_2d
The matrix is a 2D matrix. This is equivalent
to graphene_matrix_is_2d() returning true
. In particular, this
means that Cairo can deal with the matrix.
_2dAffine
The matrix is a combination of 2D scale and 2D translation operations. In particular, this means that any rectangle can be transformed exactly using this matrix.
_2dTranslate
The matrix is a 2D translation.
Identity
The matrix is the identity matrix.
Trait Implementations§
source§impl Clone for TransformCategory
impl Clone for TransformCategory
source§fn clone(&self) -> TransformCategory
fn clone(&self) -> TransformCategory
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TransformCategory
impl Debug for TransformCategory
source§impl Display for TransformCategory
impl Display for TransformCategory
source§impl<'a> FromValue<'a> for TransformCategory
impl<'a> FromValue<'a> for TransformCategory
§type Checker = GenericValueTypeChecker<TransformCategory>
type Checker = GenericValueTypeChecker<TransformCategory>
source§unsafe fn from_value(value: &'a Value) -> Self
unsafe fn from_value(value: &'a Value) -> Self
Value
. Read moresource§impl Hash for TransformCategory
impl Hash for TransformCategory
source§impl Ord for TransformCategory
impl Ord for TransformCategory
source§fn cmp(&self, other: &TransformCategory) -> Ordering
fn cmp(&self, other: &TransformCategory) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
source§impl PartialEq<TransformCategory> for TransformCategory
impl PartialEq<TransformCategory> for TransformCategory
source§fn eq(&self, other: &TransformCategory) -> bool
fn eq(&self, other: &TransformCategory) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<TransformCategory> for TransformCategory
impl PartialOrd<TransformCategory> for TransformCategory
source§fn partial_cmp(&self, other: &TransformCategory) -> Option<Ordering>
fn partial_cmp(&self, other: &TransformCategory) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for TransformCategory
impl StaticType for TransformCategory
source§fn static_type() -> Type
fn static_type() -> Type
Self
.source§impl ToValue for TransformCategory
impl ToValue for TransformCategory
source§impl ValueType for TransformCategory
impl ValueType for TransformCategory
§type Type = TransformCategory
type Type = TransformCategory
Type
from. Read moreimpl Copy for TransformCategory
impl Eq for TransformCategory
impl StructuralEq for TransformCategory
impl StructuralPartialEq for TransformCategory
Auto Trait Implementations§
impl RefUnwindSafe for TransformCategory
impl Send for TransformCategory
impl Sync for TransformCategory
impl Unpin for TransformCategory
impl UnwindSafe for TransformCategory
Blanket Implementations§
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> ToClosureReturnValue for Twhere
T: ToValue,
impl<T> ToClosureReturnValue for Twhere T: ToValue,
fn to_closure_return_value(&self) -> Option<Value>
source§impl<T> ToSendValue for Twhere
T: Send + ToValue + ?Sized,
impl<T> ToSendValue for Twhere T: Send + ToValue + ?Sized,
source§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.