Trait webrender::util::MatrixHelpers
source · 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>
Object Safety§
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
.