use serde::{Serialize, Deserialize};
use serde_json::Value as JsonValue;
#[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)]
pub struct DisableParams {}
impl DisableParams { pub const METHOD: &'static str = "Animation.disable"; }
impl crate::CdpCommand for DisableParams {
const METHOD: &'static str = "Animation.disable";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct EnableParams {}
impl EnableParams { pub const METHOD: &'static str = "Animation.enable"; }
impl crate::CdpCommand for EnableParams {
const METHOD: &'static str = "Animation.enable";
type Response = crate::EmptyReturns;
}
#[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,
}
impl GetCurrentTimeParams { pub const METHOD: &'static str = "Animation.getCurrentTime"; }
impl crate::CdpCommand for GetCurrentTimeParams {
const METHOD: &'static str = "Animation.getCurrentTime";
type Response = GetCurrentTimeReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct GetPlaybackRateReturns {
pub playbackRate: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct GetPlaybackRateParams {}
impl GetPlaybackRateParams { pub const METHOD: &'static str = "Animation.getPlaybackRate"; }
impl crate::CdpCommand for GetPlaybackRateParams {
const METHOD: &'static str = "Animation.getPlaybackRate";
type Response = GetPlaybackRateReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct ReleaseAnimationsParams {
pub animations: Vec<String>,
}
impl ReleaseAnimationsParams { pub const METHOD: &'static str = "Animation.releaseAnimations"; }
impl crate::CdpCommand for ReleaseAnimationsParams {
const METHOD: &'static str = "Animation.releaseAnimations";
type Response = crate::EmptyReturns;
}
#[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,
}
impl ResolveAnimationParams { pub const METHOD: &'static str = "Animation.resolveAnimation"; }
impl crate::CdpCommand for ResolveAnimationParams {
const METHOD: &'static str = "Animation.resolveAnimation";
type Response = ResolveAnimationReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SeekAnimationsParams {
pub animations: Vec<String>,
pub currentTime: f64,
}
impl SeekAnimationsParams { pub const METHOD: &'static str = "Animation.seekAnimations"; }
impl crate::CdpCommand for SeekAnimationsParams {
const METHOD: &'static str = "Animation.seekAnimations";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPausedParams {
pub animations: Vec<String>,
pub paused: bool,
}
impl SetPausedParams { pub const METHOD: &'static str = "Animation.setPaused"; }
impl crate::CdpCommand for SetPausedParams {
const METHOD: &'static str = "Animation.setPaused";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetPlaybackRateParams {
pub playbackRate: f64,
}
impl SetPlaybackRateParams { pub const METHOD: &'static str = "Animation.setPlaybackRate"; }
impl crate::CdpCommand for SetPlaybackRateParams {
const METHOD: &'static str = "Animation.setPlaybackRate";
type Response = crate::EmptyReturns;
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
pub struct SetTimingParams {
pub animationId: String,
pub duration: f64,
pub delay: f64,
}
impl SetTimingParams { pub const METHOD: &'static str = "Animation.setTiming"; }
impl crate::CdpCommand for SetTimingParams {
const METHOD: &'static str = "Animation.setTiming";
type Response = crate::EmptyReturns;
}