ladybird/Libraries/LibWeb/Animations/AnimationEffect.idl
Shannon Booth df6c3fcfaa LibWeb/Bindings: Remove GenerateAsRequired handling from IDL generator
This was used before we generated dictionary definitions using the IDL
generator, and no longer serves the purpose it used to.
2026-05-26 21:43:57 +02:00

50 lines
1.8 KiB
Text

// https://drafts.csswg.org/web-animations-1/#the-effecttiming-dictionaries
// https://drafts.csswg.org/web-animations-2/#the-effecttiming-dictionaries
dictionary EffectTiming {
double delay = 0;
double endDelay = 0;
FillMode fill = "auto";
double iterationStart = 0.0;
unrestricted double iterations = 1.0;
// FIXME: Support playbackRate
(unrestricted double or CSSNumericValue or DOMString) duration = "auto";
PlaybackDirection direction = "normal";
DOMString easing = "linear";
};
// https://drafts.csswg.org/web-animations-1/#dictdef-optionaleffecttiming
// https://drafts.csswg.org/web-animations-2/#ref-for-dictdef-optionaleffecttiming
dictionary OptionalEffectTiming {
double delay;
double endDelay;
FillMode fill;
double iterationStart;
unrestricted double iterations;
// FIXME: Support playbackRate
(unrestricted double or DOMString) duration;
PlaybackDirection direction;
DOMString easing;
};
// https://drafts.csswg.org/web-animations-1/#the-fillmode-enumeration
enum FillMode { "none", "forwards", "backwards", "both", "auto" };
// https://drafts.csswg.org/web-animations-1/#the-playbackdirection-enumeration
enum PlaybackDirection { "normal", "reverse", "alternate", "alternate-reverse" };
// https://drafts.csswg.org/web-animations-1/#the-computedeffecttiming-dictionary
dictionary ComputedEffectTiming : EffectTiming {
CSSNumberish endTime;
CSSNumberish activeDuration;
CSSNumberish? localTime;
double? progress;
unrestricted double? currentIteration;
};
// https://drafts.csswg.org/web-animations-1/#the-animationeffect-interface
[Exposed=Window]
interface AnimationEffect {
EffectTiming getTiming();
ComputedEffectTiming getComputedTiming();
undefined updateTiming(optional OptionalEffectTiming timing = {});
};