pub trait MatrixHelpers<Src, Dst> {
Show 13 methods
// Required methods
fn preserves_2d_axis_alignment(&self) -> bool;
fn has_perspective_component(&self) -> bool;
fn has_2d_inverse(&self) -> bool;
fn exceeds_2d_scale(&self, limit: f64) -> bool;
fn inverse_project(
&self,
target: &Point2D<f32, Dst>,
) -> Option<Point2D<f32, Src>>;
fn inverse_rect_footprint(
&self,
rect: &Box2D<f32, Dst>,
) -> Option<Box2D<f32, Src>>;
fn transform_kind(&self) -> TransformedRectKind;
fn is_simple_translation(&self) -> bool;
fn is_simple_2d_translation(&self) -> bool;
fn is_2d_scale_translation(&self) -> bool;
fn determinant_2d(&self) -> f32;
fn flatten_z_output(&mut self);
fn cast_unit<NewSrc, NewDst>(&self) -> Transform3D<f32, NewSrc, NewDst>;
}
Required Methods§
Sourcefn preserves_2d_axis_alignment(&self) -> bool
fn preserves_2d_axis_alignment(&self) -> bool
A port of the preserves2dAxisAlignment function in Skia. Defined in the SkMatrix44 class.
fn has_perspective_component(&self) -> bool
fn has_2d_inverse(&self) -> bool
Sourcefn exceeds_2d_scale(&self, limit: f64) -> bool
fn exceeds_2d_scale(&self, limit: f64) -> bool
Check if the matrix post-scaling on either the X or Y axes could cause geometry transformed by this matrix to have scaling exceeding the supplied limit.
fn inverse_project( &self, target: &Point2D<f32, Dst>, ) -> Option<Point2D<f32, Src>>
fn inverse_rect_footprint( &self, rect: &Box2D<f32, Dst>, ) -> Option<Box2D<f32, Src>>
fn transform_kind(&self) -> TransformedRectKind
fn is_simple_translation(&self) -> bool
fn is_simple_2d_translation(&self) -> bool
fn is_2d_scale_translation(&self) -> bool
Sourcefn determinant_2d(&self) -> f32
fn determinant_2d(&self) -> f32
Return the determinant of the 2D part of the matrix.
Sourcefn flatten_z_output(&mut self)
fn flatten_z_output(&mut self)
Turn Z transformation into identity. This is useful when crossing “flat” transform styled stacking contexts upon traversing the coordinate systems.
fn cast_unit<NewSrc, NewDst>(&self) -> Transform3D<f32, NewSrc, NewDst>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<Src, Dst> MatrixHelpers<Src, Dst> for Transform3D<f32, Src, Dst>
impl<Src, Dst> MatrixHelpers<Src, Dst> for Transform3D<f32, Src, Dst>
Source§fn inverse_project(
&self,
target: &Point2D<f32, Dst>,
) -> Option<Point2D<f32, Src>>
fn inverse_project( &self, target: &Point2D<f32, Dst>, ) -> Option<Point2D<f32, Src>>
Find out a point in Src
that would be projected into the target
.