pub struct ViewportTransform {
pub translation: [f32; 2],
pub scale: f32,
}Expand description
A uniform 2D camera transform used by interactive viewports.
Screen coordinates are calculated as world * scale + translation.
Fields§
§translation: [f32; 2]Translation from world origin to screen origin in logical points.
scale: f32Uniform scale. Invalid values normalize to 1.0 before use.
Implementations§
Source§impl ViewportTransform
impl ViewportTransform
pub const IDENTITY: ViewportTransform
pub fn new( translation_x: f32, translation_y: f32, scale: f32, ) -> ViewportTransform
pub fn normalized(self) -> ViewportTransform
pub fn world_to_screen(self, world: [f32; 2]) -> [f32; 2]
pub fn screen_to_world(self, screen: [f32; 2]) -> [f32; 2]
Sourcepub fn with_scale_around(
self,
screen_focal_point: [f32; 2],
scale: f32,
) -> ViewportTransform
pub fn with_scale_around( self, screen_focal_point: [f32; 2], scale: f32, ) -> ViewportTransform
Changes scale while keeping the world point below screen_focal_point
fixed on screen.
Trait Implementations§
Source§impl Clone for ViewportTransform
impl Clone for ViewportTransform
Source§fn clone(&self) -> ViewportTransform
fn clone(&self) -> ViewportTransform
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ViewportTransform
Source§impl Debug for ViewportTransform
impl Debug for ViewportTransform
Source§impl Default for ViewportTransform
impl Default for ViewportTransform
Source§fn default() -> ViewportTransform
fn default() -> ViewportTransform
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ViewportTransform
impl<'de> Deserialize<'de> for ViewportTransform
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ViewportTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ViewportTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Hash for ViewportTransform
impl Hash for ViewportTransform
Source§impl PartialEq for ViewportTransform
impl PartialEq for ViewportTransform
Source§impl Serialize for ViewportTransform
impl Serialize for ViewportTransform
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for ViewportTransform
Auto Trait Implementations§
impl Freeze for ViewportTransform
impl RefUnwindSafe for ViewportTransform
impl Send for ViewportTransform
impl Sync for ViewportTransform
impl Unpin for ViewportTransform
impl UnsafeUnpin for ViewportTransform
impl UnwindSafe for ViewportTransform
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.