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>
impl<T: ExpressionVariantValue> KeyFrameAnimationInstance<T>
Sourcepub 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>>
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>
impl<T: ExpressionVariantValue> IAnimationInstance for KeyFrameAnimationInstance<T>
Source§fn target_object(&self) -> ServerObjectId
fn target_object(&self) -> ServerObjectId
The object whose property is animated.
Source§fn resolve(&self, compositor: &Rc<ServerCompositor>)
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
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,
)
fn initialize( &self, started_at: Duration, starting_value: ExpressionVariant, property: &'static CompositionProperty, )
Attaches the instance to the property it animates.
fn activate(&self)
fn deactivate(&self)
fn invalidate(&self)
Source§impl<T: ExpressionVariantValue> IServerClockItem for KeyFrameAnimationInstance<T>
impl<T: ExpressionVariantValue> IServerClockItem for KeyFrameAnimationInstance<T>
Auto Trait Implementations§
impl<T> !Freeze for KeyFrameAnimationInstance<T>
impl<T> !RefUnwindSafe for KeyFrameAnimationInstance<T>
impl<T> !Send for KeyFrameAnimationInstance<T>
impl<T> !Sync for KeyFrameAnimationInstance<T>
impl<T> !UnwindSafe for KeyFrameAnimationInstance<T>
impl<T> Unpin for KeyFrameAnimationInstance<T>
impl<T> UnsafeUnpin for KeyFrameAnimationInstance<T>where
&'static dyn IInterpolator<T>: UnsafeUnpin,
Vec<ServerKeyFrame<T>>: UnsafeUnpin,
Cell<T>: UnsafeUnpin,
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
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
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