Expand description
Code-built animation & timing: construct Storyboards,
the common animation classes (DoubleAnimation / ColorAnimation /
ThicknessAnimation / PointAnimation), their key-frame variants, and the
easing-function family from Rust, then run them off the
View clock.
Each handle here owns a freshly-created Noesis object holding a single +1
reference, released on Drop via noesis_base_component_release, the
same idiom as crate::brushes. Adding an animation to a Storyboard, or
a key frame / easing function to its parent, makes Noesis take its own
reference, so the Rust builder handle may be dropped after wiring.
§Running an animation
Animations advance off the view’s TimeManager, which is pumped by
View::update. Build the element tree, create a
View, then either:
- Storyboard route: set
Animation::set_target_name+Animation::set_target_propertyon each child,Storyboard::add_childthem, andStoryboard::beginagainst the connected root element; or - Direct route:
Animation::begin_ona single animation onto a named element’s dependency property (aBeginAnimation/ApplyAnimationClockequivalent off the element’s viewTimeManager).
Then pump view.update(t) for increasing t across the duration and read
the animated value back through Noesis (e.g.
FrameworkElement::get_f32).
Structs§
- Begin
Storyboard - A
BeginStoryboardtrigger action: begins aStoryboardwith a chosenHandoffBehaviorwhen the owning trigger fires. Useful inside a trigger’s action list; code-drivenStoryboard::begincovers the rest. - Boolean
Animation Using KeyFrames - Animates a
boolproperty through discrete key frames (a bool can’t be interpolated, so only discrete frames exist). - Color
Animation - Interpolates a
Colorproperty linearly betweenFromandTo. Colors are[r, g, b, a], each0..=1. - Color
Animation Builder - Fluent builder for a
ColorAnimation. Sets the colorfrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Color
Animation Using KeyFrames - Animates a
Colorproperty through a sequence of color key frames. - Double
Animation - Interpolates a
floatproperty linearly betweenFromandToover the duration. - Double
Animation Builder - Fluent builder for a
DoubleAnimation. Sets the valuefrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Double
Animation Using KeyFrames - Animates a
floatproperty through a sequence of discrete / linear / eased key frames. - Easing
Function - An easing function applied to a From/To animation or an easing key frame.
- Int16
Animation - Interpolates an
int16property betweenFromandTo(Noesis rounds the interpolated value). - Int16
Animation Builder - Fluent builder for a
Int16Animation. Sets the valuefrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Int16
Animation Using KeyFrames - Animates an
int16property through discrete / linear / eased / splined key frames. - Int32
Animation - Interpolates an
int32property betweenFromandTo. - Int32
Animation Builder - Fluent builder for a
Int32Animation. Sets the valuefrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Int32
Animation Using KeyFrames - Animates an
int32property through discrete / linear / eased / splined key frames. - Int64
Animation - Interpolates an
int64property betweenFromandTo. - Int64
Animation Builder - Fluent builder for a
Int64Animation. Sets the valuefrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Int64
Animation Using KeyFrames - Animates an
int64property through discrete / linear / eased / splined key frames. - KeySpline
- The two cubic-Bezier control points (each in the unit square) that shape a
spline key frame’s progress curve. Used with
KeyFrameKind::SplineviaKeyFrameInterp::Spline. - Matrix
Animation Using KeyFrames - Animates a
Matrix(MatrixTransform) property through discrete key frames. A matrix is not componentwise interpolated, so only discrete frames exist. Matrices are[m00, m01, m10, m11, m20, m21]. - Object
Animation Using KeyFrames - Animates an
Object(arbitraryBaseComponent) property through discrete key frames. Objects can’t be interpolated, so only discrete frames exist. - Owned
Component - An owned
Noesis::BaseComponenthandle handed back from anObjectAnimationUsingKeyFrameskey-frame value read. - Parallel
Timeline - A code-built, nestable timeline group whose children (any
Timeline, including animations or nestedParallelTimelines) run in parallel off the group’s clock. Shares theTimelineknobs (duration, repeat, auto-reverse, …) with every animation type. - Point
Animation - Interpolates a
Pointproperty ((x, y)). - Point
Animation Builder - Fluent builder for a
PointAnimation. Sets the pointfrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Point
Animation Using KeyFrames - Animates a
Pointproperty ((x, y)) through discrete / linear / eased / splined key frames. - Rect
Animation - Interpolates a
Rectproperty betweenFromandTo. Rects are[x, y, width, height]. - Rect
Animation Builder - Fluent builder for a
RectAnimation. Sets the rectfrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Rect
Animation Using KeyFrames - Animates a
Rectproperty through discrete / linear / eased / splined key frames. - Size
Animation - Interpolates a
Sizeproperty betweenFromandTo. Sizes are[width, height]. - Size
Animation Builder - Fluent builder for a
SizeAnimation. Sets the sizefrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Size
Animation Using KeyFrames - Animates a
Sizeproperty through discrete / linear / eased / splined key frames. - Storyboard
- A container timeline that targets and runs its child animations.
- String
Animation Using KeyFrames - Animates a
Stringproperty through discrete key frames (a string can’t be interpolated, so only discrete frames exist). - Thickness
Animation - Interpolates a
Thicknessproperty ([left, top, right, bottom]). - Thickness
Animation Builder - Fluent builder for a
ThicknessAnimation. Sets the thicknessfrom/to/byplus the common timeline knobs (duration, begin time, auto-reverse, repeat, fill behavior, speed) and an easing function, thenbuilds the animation. - Thickness
Animation Using KeyFrames - Animates a
Thicknessproperty ([left, top, right, bottom]) through discrete / linear / eased / splined key frames.
Enums§
- Easing
Kind - The concrete easing curve. Ordinals match the
kindswitch incpp/noesis_animation.cpp. - Easing
Mode - How an easing function interpolates over the animation’s progress. Ordinals
match
Noesis::EasingMode. - Fill
Behavior - How a timeline behaves once it reaches the end of its active period.
Ordinals match
Noesis::FillBehavior. - Handoff
Behavior - How a newly-started animation interacts with one already running on the same
property. Ordinals match
Noesis::HandoffBehavior. - KeyFrame
Interp - The interpolation aid passed alongside a key frame: an
EasingFunctionforKeyFrameKind::Easing, aKeySplineforKeyFrameKind::Spline, or nothing for discrete / linear frames. - KeyFrame
Kind - The interpolation method of a single key frame. Ordinals match the
kindswitch incpp/noesis_animation.cpp.
Traits§
- Animation
- An animation timeline that can target a property and be run via a
Storyboardor directly withbegin_on. - AsComponent
- A handle that exposes its borrowed
Noesis::BaseComponent*. Implemented by every owning wrapper in this module, letting any of them be used as anObjectAnimationUsingKeyFrameskey-frame value. - Timeline
- Common
Timelineknobs shared by every animation type (duration, repeat, auto-reverse, …). Implemented through the object’s rawTimeline*.