Skip to main content

PanZoomController

Struct PanZoomController 

Source
pub struct PanZoomController { /* private fields */ }
Expand description

A cloneable handle onto a PanZoomView: drive it with jump_to/fit_to_bounds/ fit_rect and read where it stands with transform. Every clone shares one state, so the handle an app keeps in its state and the one attached to the view are the same.

Commands are recorded, not applied: the widget applies the latest one at its next layout or paint (a later command replaces an unapplied earlier one), clamping the scale to the view’s bounds. One controller drives one view; attaching it to two makes them race for its commands.

Implementations§

Source§

impl PanZoomController

Source

pub fn new() -> Self

A controller attached to nothing yet, reading PanZoomTransform::IDENTITY.

Source

pub fn transform(&self) -> PanZoomTransform

The transform the attached widget last published (identity until one attaches and lays out).

Source

pub fn viewport_size(&self) -> Size

The attached widget’s last laid-out size (zero until it lays out).

Source

pub fn content_size(&self) -> Size

The child’s last laid-out natural size (zero until it lays out).

Source

pub fn jump_to(&self, scale: f64, offset: Vec2)

Move to scale (clamped to the view’s bounds) with the child’s origin at view-local offset.

Source

pub fn fit_to_bounds(&self)

Fit the child’s whole laid-out bounds into the view, centred, at the largest scale that shows all of it (clamped to the view’s bounds).

Source

pub fn fit_rect(&self, rect: Rect)

Fit rect, in the child’s content space, into the view, centred, at the largest scale that shows all of it (clamped to the view’s bounds).

Trait Implementations§

Source§

impl Clone for PanZoomController

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PanZoomController

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PanZoomController

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> StorageAccess<T> for T

Source§

fn as_borrowed(&self) -> &T

Borrows the value.
Source§

fn into_taken(self) -> T

Takes the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.