pub struct Animator { /* private fields */ }Expand description
A clip plus a playhead.
Implementations§
Source§impl Animator
impl Animator
pub fn new(clip: impl Into<Clip>, _cx: &mut Context<'_, Self>) -> Self
Sourcepub fn autoplay(self, cx: &mut Context<'_, Self>) -> Self
pub fn autoplay(self, cx: &mut Context<'_, Self>) -> Self
Start playing as soon as it is created.
pub fn clip(&self) -> &Clip
Sourcepub fn time_at(&self, now: Instant) -> f32
pub fn time_at(&self, now: Instant) -> f32
Where the playhead would be at now. The pure form — tests drive
this instead of sleeping.
Sourcepub fn progress(&self) -> f32
pub fn progress(&self) -> f32
0..=1 through the clip. Endless clips report their position within the current pass.
Sourcepub fn is_playing(&self) -> bool
pub fn is_playing(&self) -> bool
Whether the clock is running. A clip that has played to its end
reports false even before anything cleans up.
Sourcepub fn frame(&self, window: &mut Window) -> Frame
pub fn frame(&self, window: &mut Window) -> Frame
The values for this instant, and a request for the next frame while
the clip is still moving. Call it from render.
Sourcepub fn frame_at(&self, now: Instant) -> Frame
pub fn frame_at(&self, now: Instant) -> Frame
The values at now, with no window and no repaint request.
pub fn play(&mut self, cx: &mut Context<'_, Self>)
pub fn pause(&mut self, cx: &mut Context<'_, Self>)
pub fn toggle(&mut self, cx: &mut Context<'_, Self>)
Sourcepub fn seek(&mut self, ms: f32, cx: &mut Context<'_, Self>)
pub fn seek(&mut self, ms: f32, cx: &mut Context<'_, Self>)
Move the playhead. Keeps playing if it was playing.
Sourcepub fn seek_progress(&mut self, progress: f32, cx: &mut Context<'_, Self>)
pub fn seek_progress(&mut self, progress: f32, cx: &mut Context<'_, Self>)
Move the playhead by fraction of the clip, 0..=1. Endless clips have no fraction to scrub, so this does nothing for them.
Sourcepub fn reverse(&mut self, cx: &mut Context<'_, Self>)
pub fn reverse(&mut self, cx: &mut Context<'_, Self>)
Flip direction, leaving the playhead where it is.
pub fn is_reversed(&self) -> bool
pub fn set_speed(&mut self, speed: f32, cx: &mut Context<'_, Self>)
pub fn speed(&self) -> f32
Trait Implementations§
impl EventEmitter<AnimatorEvent> for Animator
Auto Trait Implementations§
impl Freeze for Animator
impl RefUnwindSafe for Animator
impl Send for Animator
impl Sync for Animator
impl Unpin for Animator
impl UnsafeUnpin for Animator
impl UnwindSafe for Animator
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> 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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more