use serde::{Serialize, Deserialize};
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct Animation {
pub id: String,
pub name: String,
pub pausedState: bool,
pub playState: String,
pub playbackRate: f64,
pub startTime: f64,
pub currentTime: f64,
#[serde(rename = "type")]
pub type_: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub source: Option<AnimationEffect>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cssId: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub viewOrScrollTimeline: Option<ViewOrScrollTimeline>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ViewOrScrollTimeline {
#[serde(skip_serializing_if = "Option::is_none")]
pub sourceNodeId: Option<crate::dom::BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub startOffset: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub endOffset: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub subjectNodeId: Option<crate::dom::BackendNodeId>,
pub axis: crate::dom::ScrollOrientation,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct AnimationEffect {
pub delay: f64,
pub endDelay: f64,
pub iterationStart: f64,
#[serde(skip_serializing_if = "Option::is_none")]
pub iterations: Option<f64>,
pub duration: f64,
pub direction: String,
pub fill: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub backendNodeId: Option<crate::dom::BackendNodeId>,
#[serde(skip_serializing_if = "Option::is_none")]
pub keyframesRule: Option<KeyframesRule>,
pub easing: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct KeyframesRule {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
pub keyframes: Vec<KeyframeStyle>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct KeyframeStyle {
pub offset: String,
pub easing: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCurrentTimeParams {
pub id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetCurrentTimeReturns {
pub currentTime: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetPlaybackRateReturns {
pub playbackRate: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReleaseAnimationsParams {
pub animations: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResolveAnimationParams {
pub animationId: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ResolveAnimationReturns {
pub remoteObject: crate::runtime::RemoteObject,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SeekAnimationsParams {
pub animations: Vec<String>,
pub currentTime: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPausedParams {
pub animations: Vec<String>,
pub paused: bool,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPlaybackRateParams {
pub playbackRate: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetTimingParams {
pub animationId: String,
pub duration: f64,
pub delay: f64,
}