orinium_browser/engine/animation/
mod.rs1pub mod easing;
8pub mod parse;
9pub mod runtime;
10pub mod types;
11
12pub use runtime::{AnimationInputs, AnimationRuntime, ElementAnimationState, SampleResult};
13
14use std::collections::HashMap;
15
16use crate::engine::css::values::CssValue;
17use crate::engine::layouter::dom_snapshot::NodeId;
18
19pub type AnimatedOverrides = HashMap<NodeId, HashMap<String, CssValue>>;
21
22#[cfg(test)]
23mod tests {
24 use super::*;
25 use crate::engine::layouter::css_resolver::KeyframesRegistry;
26 use crate::engine::layouter::types::ColorScheme;
27
28 #[test]
29 fn sample_defaults_to_idle() {
30 let mut runtime = AnimationRuntime::new();
31 let inputs = AnimationInputs::new();
32 let kf = KeyframesRegistry::new();
33 let result = runtime.sample(0.0, true, &inputs, &kf, ColorScheme::Light);
34 assert!(!result.active);
35 assert!(!result.dirty);
36 assert!(result.overrides.is_empty());
37 }
38}