-
-
Notifications
You must be signed in to change notification settings - Fork 344
/
animation.go
325 lines (233 loc) · 8.92 KB
/
animation.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
// This file is generated by "./lib/proto/generate"
package proto
/*
Animation
*/
// AnimationAnimationType enum
type AnimationAnimationType string
const (
// AnimationAnimationTypeCSSTransition enum const
AnimationAnimationTypeCSSTransition AnimationAnimationType = "CSSTransition"
// AnimationAnimationTypeCSSAnimation enum const
AnimationAnimationTypeCSSAnimation AnimationAnimationType = "CSSAnimation"
// AnimationAnimationTypeWebAnimation enum const
AnimationAnimationTypeWebAnimation AnimationAnimationType = "WebAnimation"
)
// AnimationAnimation Animation instance.
type AnimationAnimation struct {
// ID `Animation`'s id.
ID string `json:"id"`
// Name `Animation`'s name.
Name string `json:"name"`
// PausedState `Animation`'s internal paused state.
PausedState bool `json:"pausedState"`
// PlayState `Animation`'s play state.
PlayState string `json:"playState"`
// PlaybackRate `Animation`'s playback rate.
PlaybackRate float64 `json:"playbackRate"`
// StartTime `Animation`'s start time.
StartTime float64 `json:"startTime"`
// CurrentTime `Animation`'s current time.
CurrentTime float64 `json:"currentTime"`
// Type Animation type of `Animation`.
Type AnimationAnimationType `json:"type"`
// Source (optional) `Animation`'s source animation node.
Source *AnimationAnimationEffect `json:"source,omitempty"`
// CSSID (optional) A unique ID for `Animation` representing the sources that triggered this CSS
// animation/transition.
CSSID string `json:"cssId,omitempty"`
}
// AnimationAnimationEffect AnimationEffect instance
type AnimationAnimationEffect struct {
// Delay `AnimationEffect`'s delay.
Delay float64 `json:"delay"`
// EndDelay `AnimationEffect`'s end delay.
EndDelay float64 `json:"endDelay"`
// IterationStart `AnimationEffect`'s iteration start.
IterationStart float64 `json:"iterationStart"`
// Iterations `AnimationEffect`'s iterations.
Iterations float64 `json:"iterations"`
// Duration `AnimationEffect`'s iteration duration.
Duration float64 `json:"duration"`
// Direction `AnimationEffect`'s playback direction.
Direction string `json:"direction"`
// Fill `AnimationEffect`'s fill mode.
Fill string `json:"fill"`
// BackendNodeID (optional) `AnimationEffect`'s target node.
BackendNodeID DOMBackendNodeID `json:"backendNodeId,omitempty"`
// KeyframesRule (optional) `AnimationEffect`'s keyframes.
KeyframesRule *AnimationKeyframesRule `json:"keyframesRule,omitempty"`
// Easing `AnimationEffect`'s timing function.
Easing string `json:"easing"`
}
// AnimationKeyframesRule Keyframes Rule
type AnimationKeyframesRule struct {
// Name (optional) CSS keyframed animation's name.
Name string `json:"name,omitempty"`
// Keyframes List of animation keyframes.
Keyframes []*AnimationKeyframeStyle `json:"keyframes"`
}
// AnimationKeyframeStyle Keyframe Style
type AnimationKeyframeStyle struct {
// Offset Keyframe's time offset.
Offset string `json:"offset"`
// Easing `AnimationEffect`'s timing function.
Easing string `json:"easing"`
}
// AnimationDisable Disables animation domain notifications.
type AnimationDisable struct {
}
// ProtoReq name
func (m AnimationDisable) ProtoReq() string { return "Animation.disable" }
// Call sends the request
func (m AnimationDisable) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationEnable Enables animation domain notifications.
type AnimationEnable struct {
}
// ProtoReq name
func (m AnimationEnable) ProtoReq() string { return "Animation.enable" }
// Call sends the request
func (m AnimationEnable) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationGetCurrentTime Returns the current time of the an animation.
type AnimationGetCurrentTime struct {
// ID Id of animation.
ID string `json:"id"`
}
// ProtoReq name
func (m AnimationGetCurrentTime) ProtoReq() string { return "Animation.getCurrentTime" }
// Call the request
func (m AnimationGetCurrentTime) Call(c Client) (*AnimationGetCurrentTimeResult, error) {
var res AnimationGetCurrentTimeResult
return &res, call(m.ProtoReq(), m, &res, c)
}
// AnimationGetCurrentTimeResult Returns the current time of the an animation.
type AnimationGetCurrentTimeResult struct {
// CurrentTime Current time of the page.
CurrentTime float64 `json:"currentTime"`
}
// AnimationGetPlaybackRate Gets the playback rate of the document timeline.
type AnimationGetPlaybackRate struct {
}
// ProtoReq name
func (m AnimationGetPlaybackRate) ProtoReq() string { return "Animation.getPlaybackRate" }
// Call the request
func (m AnimationGetPlaybackRate) Call(c Client) (*AnimationGetPlaybackRateResult, error) {
var res AnimationGetPlaybackRateResult
return &res, call(m.ProtoReq(), m, &res, c)
}
// AnimationGetPlaybackRateResult Gets the playback rate of the document timeline.
type AnimationGetPlaybackRateResult struct {
// PlaybackRate Playback rate for animations on page.
PlaybackRate float64 `json:"playbackRate"`
}
// AnimationReleaseAnimations Releases a set of animations to no longer be manipulated.
type AnimationReleaseAnimations struct {
// Animations List of animation ids to seek.
Animations []string `json:"animations"`
}
// ProtoReq name
func (m AnimationReleaseAnimations) ProtoReq() string { return "Animation.releaseAnimations" }
// Call sends the request
func (m AnimationReleaseAnimations) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationResolveAnimation Gets the remote object of the Animation.
type AnimationResolveAnimation struct {
// AnimationID Animation id.
AnimationID string `json:"animationId"`
}
// ProtoReq name
func (m AnimationResolveAnimation) ProtoReq() string { return "Animation.resolveAnimation" }
// Call the request
func (m AnimationResolveAnimation) Call(c Client) (*AnimationResolveAnimationResult, error) {
var res AnimationResolveAnimationResult
return &res, call(m.ProtoReq(), m, &res, c)
}
// AnimationResolveAnimationResult Gets the remote object of the Animation.
type AnimationResolveAnimationResult struct {
// RemoteObject Corresponding remote object.
RemoteObject *RuntimeRemoteObject `json:"remoteObject"`
}
// AnimationSeekAnimations Seek a set of animations to a particular time within each animation.
type AnimationSeekAnimations struct {
// Animations List of animation ids to seek.
Animations []string `json:"animations"`
// CurrentTime Set the current time of each animation.
CurrentTime float64 `json:"currentTime"`
}
// ProtoReq name
func (m AnimationSeekAnimations) ProtoReq() string { return "Animation.seekAnimations" }
// Call sends the request
func (m AnimationSeekAnimations) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationSetPaused Sets the paused state of a set of animations.
type AnimationSetPaused struct {
// Animations Animations to set the pause state of.
Animations []string `json:"animations"`
// Paused Paused state to set to.
Paused bool `json:"paused"`
}
// ProtoReq name
func (m AnimationSetPaused) ProtoReq() string { return "Animation.setPaused" }
// Call sends the request
func (m AnimationSetPaused) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationSetPlaybackRate Sets the playback rate of the document timeline.
type AnimationSetPlaybackRate struct {
// PlaybackRate Playback rate for animations on page
PlaybackRate float64 `json:"playbackRate"`
}
// ProtoReq name
func (m AnimationSetPlaybackRate) ProtoReq() string { return "Animation.setPlaybackRate" }
// Call sends the request
func (m AnimationSetPlaybackRate) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationSetTiming Sets the timing of an animation node.
type AnimationSetTiming struct {
// AnimationID Animation id.
AnimationID string `json:"animationId"`
// Duration Duration of the animation.
Duration float64 `json:"duration"`
// Delay Delay of the animation.
Delay float64 `json:"delay"`
}
// ProtoReq name
func (m AnimationSetTiming) ProtoReq() string { return "Animation.setTiming" }
// Call sends the request
func (m AnimationSetTiming) Call(c Client) error {
return call(m.ProtoReq(), m, nil, c)
}
// AnimationAnimationCanceled Event for when an animation has been cancelled.
type AnimationAnimationCanceled struct {
// ID Id of the animation that was cancelled.
ID string `json:"id"`
}
// ProtoEvent name
func (evt AnimationAnimationCanceled) ProtoEvent() string {
return "Animation.animationCanceled"
}
// AnimationAnimationCreated Event for each animation that has been created.
type AnimationAnimationCreated struct {
// ID Id of the animation that was created.
ID string `json:"id"`
}
// ProtoEvent name
func (evt AnimationAnimationCreated) ProtoEvent() string {
return "Animation.animationCreated"
}
// AnimationAnimationStarted Event for animation that has been started.
type AnimationAnimationStarted struct {
// Animation Animation that was started.
Animation *AnimationAnimation `json:"animation"`
}
// ProtoEvent name
func (evt AnimationAnimationStarted) ProtoEvent() string {
return "Animation.animationStarted"
}