browser_protocol/animation/
mod.rs1use serde::{Serialize, Deserialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize, Default)]
6#[serde(rename_all = "camelCase")]
7pub struct Animation {
8 pub id: String,
11 pub name: String,
14 pub pausedState: bool,
17 pub playState: String,
20 pub playbackRate: f64,
23 pub startTime: f64,
29 pub currentTime: f64,
32 #[serde(rename = "type")]
35 pub type_: String,
36 #[serde(skip_serializing_if = "Option::is_none")]
39 pub source: Option<AnimationEffect>,
40 #[serde(skip_serializing_if = "Option::is_none")]
44 pub cssId: Option<String>,
45 #[serde(skip_serializing_if = "Option::is_none")]
48 pub viewOrScrollTimeline: Option<ViewOrScrollTimeline>,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize, Default)]
54#[serde(rename_all = "camelCase")]
55pub struct ViewOrScrollTimeline {
56 #[serde(skip_serializing_if = "Option::is_none")]
59 pub sourceNodeId: Option<crate::dom::BackendNodeId>,
60 #[serde(skip_serializing_if = "Option::is_none")]
64 pub startOffset: Option<f64>,
65 #[serde(skip_serializing_if = "Option::is_none")]
69 pub endOffset: Option<f64>,
70 #[serde(skip_serializing_if = "Option::is_none")]
75 pub subjectNodeId: Option<crate::dom::BackendNodeId>,
76 pub axis: crate::dom::ScrollOrientation,
79}
80
81#[derive(Debug, Clone, Serialize, Deserialize, Default)]
84#[serde(rename_all = "camelCase")]
85pub struct AnimationEffect {
86 pub delay: f64,
89 pub endDelay: f64,
92 pub iterationStart: f64,
95 #[serde(skip_serializing_if = "Option::is_none")]
98 pub iterations: Option<f64>,
99 pub duration: f64,
105 pub direction: String,
108 pub fill: String,
111 #[serde(skip_serializing_if = "Option::is_none")]
114 pub backendNodeId: Option<crate::dom::BackendNodeId>,
115 #[serde(skip_serializing_if = "Option::is_none")]
118 pub keyframesRule: Option<KeyframesRule>,
119 pub easing: String,
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize, Default)]
127#[serde(rename_all = "camelCase")]
128pub struct KeyframesRule {
129 #[serde(skip_serializing_if = "Option::is_none")]
132 pub name: Option<String>,
133 pub keyframes: Vec<KeyframeStyle>,
136}
137
138#[derive(Debug, Clone, Serialize, Deserialize, Default)]
141#[serde(rename_all = "camelCase")]
142pub struct KeyframeStyle {
143 pub offset: String,
146 pub easing: String,
149}
150
151#[derive(Debug, Clone, Serialize, Deserialize, Default)]
154#[serde(rename_all = "camelCase")]
155pub struct GetCurrentTimeParams {
156 pub id: String,
159}
160
161#[derive(Debug, Clone, Serialize, Deserialize, Default)]
164#[serde(rename_all = "camelCase")]
165pub struct GetCurrentTimeReturns {
166 pub currentTime: f64,
169}
170
171#[derive(Debug, Clone, Serialize, Deserialize, Default)]
174#[serde(rename_all = "camelCase")]
175pub struct GetPlaybackRateReturns {
176 pub playbackRate: f64,
179}
180
181#[derive(Debug, Clone, Serialize, Deserialize, Default)]
184#[serde(rename_all = "camelCase")]
185pub struct ReleaseAnimationsParams {
186 pub animations: Vec<String>,
189}
190
191#[derive(Debug, Clone, Serialize, Deserialize, Default)]
194#[serde(rename_all = "camelCase")]
195pub struct ResolveAnimationParams {
196 pub animationId: String,
199}
200
201#[derive(Debug, Clone, Serialize, Deserialize, Default)]
204#[serde(rename_all = "camelCase")]
205pub struct ResolveAnimationReturns {
206 pub remoteObject: crate::runtime::RemoteObject,
209}
210
211#[derive(Debug, Clone, Serialize, Deserialize, Default)]
214#[serde(rename_all = "camelCase")]
215pub struct SeekAnimationsParams {
216 pub animations: Vec<String>,
219 pub currentTime: f64,
222}
223
224#[derive(Debug, Clone, Serialize, Deserialize, Default)]
227#[serde(rename_all = "camelCase")]
228pub struct SetPausedParams {
229 pub animations: Vec<String>,
232 pub paused: bool,
235}
236
237#[derive(Debug, Clone, Serialize, Deserialize, Default)]
240#[serde(rename_all = "camelCase")]
241pub struct SetPlaybackRateParams {
242 pub playbackRate: f64,
245}
246
247#[derive(Debug, Clone, Serialize, Deserialize, Default)]
250#[serde(rename_all = "camelCase")]
251pub struct SetTimingParams {
252 pub animationId: String,
255 pub duration: f64,
258 pub delay: f64,
261}