pub struct ViewTransform {
pub scale: f64,
pub offset: DVec2,
}Expand description
Re-exported for embedders that paint chrome or read the view transform
without depending on renamite-behavior-common directly.
Screen ↔ world mapping. Px tolerance in world units.
Fields§
§scale: f64§offset: DVec2Implementations§
Source§impl ViewTransform
impl ViewTransform
pub fn identity() -> ViewTransform
pub fn screen_to_world(&self, p: DVec2) -> DVec2
pub fn world_to_screen(&self, p: DVec2) -> DVec2
Sourcepub fn world_tolerance(&self, px: f64) -> f64
pub fn world_tolerance(&self, px: f64) -> f64
Tolerance in world units for a sub-pixel screen tolerance (0.25px).
Sourcepub fn zoom_at(&mut self, screen_pos: DVec2, factor: f64, min: f64, max: f64)
pub fn zoom_at(&mut self, screen_pos: DVec2, factor: f64, min: f64, max: f64)
Zoom about screen_pos by factor, clamped to [min, max].
Shared by canvas viewport and machine graph to stay DRY.
pub fn pan_by(&mut self, delta: DVec2)
Trait Implementations§
Source§impl Clone for ViewTransform
impl Clone for ViewTransform
Source§fn clone(&self) -> ViewTransform
fn clone(&self) -> ViewTransform
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 ViewTransform
Source§impl Debug for ViewTransform
impl Debug for ViewTransform
Source§impl<'de> Deserialize<'de> for ViewTransform
impl<'de> Deserialize<'de> for ViewTransform
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ViewTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ViewTransform, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ViewTransform
impl PartialEq for ViewTransform
Source§impl Serialize for ViewTransform
impl Serialize for ViewTransform
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 ViewTransform
Auto Trait Implementations§
impl Freeze for ViewTransform
impl RefUnwindSafe for ViewTransform
impl Send for ViewTransform
impl Sync for ViewTransform
impl Unpin for ViewTransform
impl UnsafeUnpin for ViewTransform
impl UnwindSafe for ViewTransform
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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.