Skip to main content

KeyFrameAnimationInstance

Struct KeyFrameAnimationInstance 

Source
pub struct KeyFrameAnimationInstance<T: ExpressionVariantValue> { /* private fields */ }
Expand description

Server-side counterpart of KeyFrameAnimation with values baked-in

Times are kept in ticks, as upstream computes with TimeSpan ticks; the elapsed time of an evaluation before the start of the animation is negative.

Implementations§

Source§

impl<T: ExpressionVariantValue> KeyFrameAnimationInstance<T>

Source

pub fn new( interpolator: &'static dyn IInterpolator<T>, key_frames: Vec<ServerKeyFrame<T>>, snapshot: Rc<PropertySetSnapshot>, final_value: Option<ExpressionVariant>, target: ServerObjectId, delay_behavior: AnimationDelayBehavior, delay_time: Duration, direction: PlaybackDirection, duration: Duration, iteration_behavior: AnimationIterationBehavior, iteration_count: i32, stop_behavior: AnimationStopBehavior, ) -> Rc<KeyFrameAnimationInstance<T>>

Panics when there are no key frames or the duration is not positive (InvalidOperationException upstream).

Trait Implementations§

Source§

impl<T: ExpressionVariantValue> IAnimationInstance for KeyFrameAnimationInstance<T>

Source§

fn target_object(&self) -> ServerObjectId

The object whose property is animated.
Source§

fn resolve(&self, compositor: &Rc<ServerCompositor>)

Resolves the server objects the instance refers to by id, on the compositor that drives it. Called once, on the server, before the instance is initialized; an instance that refers to no object needs nothing.
Source§

fn evaluate( &self, now: Duration, current_value: ExpressionVariant, ) -> ExpressionVariant

The value of the animation at now.
Source§

fn initialize( &self, started_at: Duration, starting_value: ExpressionVariant, property: &'static CompositionProperty, )

Attaches the instance to the property it animates.
Source§

fn activate(&self)

Source§

fn deactivate(&self)

Source§

fn invalidate(&self)

Source§

impl<T: ExpressionVariantValue> IServerClockItem for KeyFrameAnimationInstance<T>

Source§

fn on_tick(&self)

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.