pub struct Svg {
pub src: Option<String>,
pub data: Option<String>,
pub timing: TimingConfig,
pub style: CssStyle,
pub timeline: Vec<TimelineStep>,
pub stagger: Option<f32>,
pub draw: bool,
pub draw_stroke_width: f32,
pub draw_overlap: f32,
pub reveal: SvgReveal,
pub path_morph: Option<SvgPathMorph>,
}Fields§
§src: Option<String>§data: Option<String>§timing: TimingConfig§style: CssStyle§timeline: Vec<TimelineStep>§stagger: Option<f32>§draw: boolTake the draw-on path even outside an animation’s own window. It needs a driver:
a draw_in/stroke_reveal preset or keyframes on draw_progress. On its own it
leaves draw_progress at rest, which paints the finished mark — validate rejects
that rather than let the flag look as though it did something.
draw_stroke_width: f32Stroke width used when tracing fill-only paths (no stroke in the SVG).
draw_overlap: f32Overlap factor between paths during draw-on animation. 0.0 = strictly sequential (default); 1.0 = all paths drawn in parallel.
reveal: SvgRevealHow draw-on animation reveals paths: stroke traces contours (default,
unchanged), fill sweeps a mask across each path’s full painted shape.
path_morph: Option<SvgPathMorph>Animates a single path’s d attribute inside this inline SVG document
between keyframe shapes. Independent of draw/draw_progress: it
changes the geometry that gets drawn, not how much of it is revealed.
Trait Implementations§
Source§impl Animatable for Svg
impl Animatable for Svg
fn animation_effects(&self) -> &[AnimationEffect]
fn timeline_steps(&self) -> &[TimelineStep]
Source§impl<'de> Deserialize<'de> for Svg
impl<'de> Deserialize<'de> for Svg
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>,
Source§impl JsonSchema for Svg
impl JsonSchema for Svg
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl Painter for Svg
impl Painter for Svg
fn paint_content( &self, canvas: &Canvas, layout: &BoxLayout, props: &AnimatedProperties, ctx: &PaintCtx, )
fn intrinsic_size( &self, _available: AvailableSize, _ctx: &MeasureCtx, ) -> Option<(f32, f32)>
Auto Trait Implementations§
impl Freeze for Svg
impl RefUnwindSafe for Svg
impl Send for Svg
impl Sync for Svg
impl Unpin for Svg
impl UnsafeUnpin for Svg
impl UnwindSafe for Svg
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
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> ⓘ
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> ⓘ
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