Struct geng::prelude::Transformed2d
pub struct Transformed2d<'a, F, T>{
pub inner: &'a T,
pub transform: mat3<F>,
}
Expand description
A reference to a 2d object with additional transformation applied
Fields§
§inner: &'a T
Reference to the actual object
transform: mat3<F>
Additional transformation
Implementations§
§impl<'a, F, T> Transformed2d<'a, F, T>
impl<'a, F, T> Transformed2d<'a, F, T>
pub fn new(inner: &'a T, transform: mat3<F>) -> Transformed2d<'a, F, T>
pub fn new(inner: &'a T, transform: mat3<F>) -> Transformed2d<'a, F, T>
Apply additional transformation to the given object
Trait Implementations§
source§impl<'a, T> Draw2d for Transformed2d<'a, f32, T>
impl<'a, T> Draw2d for Transformed2d<'a, f32, T>
fn draw2d_transformed( &self, helper: &Helper, framebuffer: &mut Framebuffer<'_>, camera: &dyn AbstractCamera2d, transform: mat3<f32> )
fn draw2d( &self, helper: &Helper, framebuffer: &mut Framebuffer<'_>, camera: &dyn AbstractCamera2d )
§impl<'a, F, T> Transform2d<F> for Transformed2d<'a, F, T>
impl<'a, F, T> Transform2d<F> for Transformed2d<'a, F, T>
§fn bounding_quad(&self) -> Quad<F>
fn bounding_quad(&self) -> Quad<F>
Object’s bounding Quad
§fn apply_transform(&mut self, transform: mat3<F>)
fn apply_transform(&mut self, transform: mat3<F>)
Apply transformation matrix to this object
Auto Trait Implementations§
impl<'a, F, T: ?Sized> RefUnwindSafe for Transformed2d<'a, F, T>where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<'a, F, T: ?Sized> Send for Transformed2d<'a, F, T>
impl<'a, F, T: ?Sized> Sync for Transformed2d<'a, F, T>
impl<'a, F, T: ?Sized> Unpin for Transformed2d<'a, F, T>where
F: Unpin,
impl<'a, F, T: ?Sized> UnwindSafe for Transformed2d<'a, F, T>where
F: UnwindSafe,
T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
§impl<F, T> Transform2dExt<F> for T
impl<F, T> Transform2dExt<F> for T
§fn transform(self, transform: mat3<F>) -> Selfwhere
Self: Sized,
fn transform(self, transform: mat3<F>) -> Selfwhere
Self: Sized,
Apply transformation to the object, returning a modified value to allow chaining methods
§fn align_bounding_box(self, alignment: vec2<F>) -> Selfwhere
Self: Sized,
fn align_bounding_box(self, alignment: vec2<F>) -> Selfwhere
Self: Sized,
Align bounding box of this object, making its origin located at (0, 0) Read more
§fn rotate(self, angle: Angle<F>) -> Selfwhere
Self: Sized,
fn rotate(self, angle: Angle<F>) -> Selfwhere
Self: Sized,
Rotate object around (0, 0) by given angle
§fn scale(self, factor: vec2<F>) -> Selfwhere
Self: Sized,
fn scale(self, factor: vec2<F>) -> Selfwhere
Self: Sized,
Scale object around (0, 0) by given factor
§fn scale_uniform(self, factor: F) -> Selfwhere
Self: Sized,
fn scale_uniform(self, factor: F) -> Selfwhere
Self: Sized,
Scale object around (0, 0) by given factor uniformly along both axis
§fn transformed(&self) -> Transformed2d<'_, F, Self>
fn transformed(&self) -> Transformed2d<'_, F, Self>
Create a reference to this object with additional transformation applied
§fn bounding_box(&self) -> Aabb2<F>
fn bounding_box(&self) -> Aabb2<F>
§fn fit_into(self, target: impl FitTarget2d<F>) -> Selfwhere
Self: Sized,
fn fit_into(self, target: impl FitTarget2d<F>) -> Selfwhere
Self: Sized,
Make this object’s bounding Quad fit into given target