pub struct Lottie {
pub src: Option<String>,
pub data: Option<String>,
pub speed: f32,
pub repeat: bool,
pub frames_dir: Option<String>,
pub timing: TimingConfig,
pub style: CssStyle,
pub timeline: Vec<TimelineStep>,
pub stagger: Option<f32>,
}Expand description
A Lottie animation component that renders frame-by-frame from a .json Lottie file.
With the lottie-native feature (default), Lottie JSON files are rendered natively
via the thorvg CPU rasterizer — no external tools required. Priority:
frames_dir— backward-compatible pre-rendered PNG frames directory.- Native thorvg path — resolves
data(inline JSON) orsrc(file path).
Without lottie-native, only frames_dir works; all other inputs produce no output.
Fields§
§src: Option<String>Path to the Lottie JSON file.
data: Option<String>Inline Lottie JSON data.
speed: f32Playback speed multiplier (1.0 = normal, 2.0 = double speed).
repeat: boolWhether to loop the animation.
frames_dir: Option<String>Directory containing pre-rendered frames (PNG files named 0000.png, 0001.png, …). If provided, the component loads frames directly from this directory. Takes priority over the native thorvg path.
timing: TimingConfig§style: CssStyle§timeline: Vec<TimelineStep>§stagger: Option<f32>Trait Implementations§
Source§impl Animatable for Lottie
impl Animatable for Lottie
fn animation_effects(&self) -> &[AnimationEffect]
Source§fn timeline_steps(&self) -> &[TimelineStep]
fn timeline_steps(&self) -> &[TimelineStep]
Timed animation steps (
timeline field): each step’s animations are
resolved with delay += step.at. Empty by default.Source§impl<'de> Deserialize<'de> for Lottie
impl<'de> Deserialize<'de> for Lottie
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for Lottie
impl JsonSchema for Lottie
Source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref keyword. Read moreSource§impl Painter for Lottie
impl Painter for Lottie
Source§fn paint_content(
&self,
canvas: &Canvas,
layout: &BoxLayout,
_props: &AnimatedProperties,
ctx: &PaintCtx,
)
fn paint_content( &self, canvas: &Canvas, layout: &BoxLayout, _props: &AnimatedProperties, ctx: &PaintCtx, )
Paint the component’s content into the canvas. The canvas is
already translated to the content-box origin and clipped if
overflow: hidden was set. Generic decorations (bg, border,
shadow) are already painted by the engine. Read moreSource§fn intrinsic_size(
&self,
_available: AvailableSize,
_ctx: &MeasureCtx,
) -> Option<(f32, f32)>
fn intrinsic_size( &self, _available: AvailableSize, _ctx: &MeasureCtx, ) -> Option<(f32, f32)>
Optional intrinsic measurement for leaves like
text, image,
codeblock. Return None to let taffy compute the size from the
CSS style alone. available mirrors taffy’s AvailableSpace.Auto Trait Implementations§
impl Freeze for Lottie
impl RefUnwindSafe for Lottie
impl Send for Lottie
impl Sync for Lottie
impl Unpin for Lottie
impl UnsafeUnpin for Lottie
impl UnwindSafe for Lottie
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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