Skip to main content

TransformTrackingHelper

Struct TransformTrackingHelper 

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

Tracks the transform of a visual to the root of its visual tree: tells when it changes because the bounds of the visual or of one of its ancestors changed, or because the visual was attached or detached.

The helper does not keep the tracked visual alive; the visual keeps the helper alive for as long as it is tracked.

Implementations§

Source§

impl TransformTrackingHelper

Source

pub fn new(defer_after_render_pass: bool) -> Rc<TransformTrackingHelper>

Creates the helper. With defer_after_render_pass a change of bounds is processed after the next render pass, otherwise right before it.

Source

pub fn set_visual(&self, visual: Option<&Ref<Visual>>)

Sets the visual to track, or stops tracking.

Source

pub fn matrix(&self) -> Option<Matrix>

The transform of the tracked visual to its visual root, if it is attached to one.

Source

pub fn matrix_changed( &self, handler: impl Fn() + 'static, ) -> Rc<dyn IDisposable>

Raised when matrix has changed. Disposing the returned handle unsubscribes.

Source

pub fn dispose(&self)

Stops tracking the visual.

Source

pub fn track( visual: &Ref<Visual>, defer_after_render_pass: bool, cb: impl Fn(&Ref<Visual>, Option<Matrix>) + 'static, ) -> Rc<dyn IDisposable>

Tracks the transform of a visual, calling cb with the visual and its transform whenever it changes. Disposing the returned handle stops tracking.

Source

pub fn observe( visual: &Ref<Visual>, defer_after_render_pass: bool, ) -> Rc<dyn IObservable<Option<Matrix>>>

Returns an observable of the transform of a visual to its visual root.

Trait Implementations§

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> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
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, 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.