Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 1 | |
Jason Sams | 96ed4cf | 2010-06-15 12:15:57 -0700 | [diff] [blame] | 2 | ContextFinish { |
3 | handcodeApi | ||||
4 | } | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 5 | |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 6 | ContextBindRootScript { |
7 | param RsScript sampler | ||||
8 | } | ||||
9 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 10 | ContextBindProgramStore { |
11 | param RsProgramStore pgm | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 12 | } |
13 | |||||
14 | ContextBindProgramFragment { | ||||
15 | param RsProgramFragment pgm | ||||
16 | } | ||||
17 | |||||
18 | ContextBindProgramVertex { | ||||
19 | param RsProgramVertex pgm | ||||
20 | } | ||||
21 | |||||
Jason Sams | ebfb436 | 2009-09-23 13:57:02 -0700 | [diff] [blame] | 22 | ContextBindProgramRaster { |
23 | param RsProgramRaster pgm | ||||
24 | } | ||||
25 | |||||
Alex Sakhartchouk | 9b949fc | 2010-06-24 17:15:34 -0700 | [diff] [blame] | 26 | ContextBindFont { |
27 | param RsFont pgm | ||||
28 | } | ||||
29 | |||||
Jason Sams | 65e7aa5 | 2009-09-24 17:38:20 -0700 | [diff] [blame] | 30 | ContextPause { |
31 | } | ||||
32 | |||||
33 | ContextResume { | ||||
34 | } | ||||
35 | |||||
Jason Sams | efd9b6fb | 2009-11-03 13:58:36 -0800 | [diff] [blame] | 36 | ContextSetSurface { |
Jason Sams | 3bc47d4 | 2009-11-12 15:10:25 -0800 | [diff] [blame] | 37 | param uint32_t width |
38 | param uint32_t height | ||||
Dianne Hackborn | 8b49bd1 | 2010-06-30 13:56:17 -0700 | [diff] [blame] | 39 | param ANativeWindow *sur |
Jason Sams | efd9b6fb | 2009-11-03 13:58:36 -0800 | [diff] [blame] | 40 | } |
41 | |||||
Jason Sams | 715333b | 2009-11-17 17:26:46 -0800 | [diff] [blame] | 42 | ContextDump { |
43 | param int32_t bits | ||||
44 | } | ||||
45 | |||||
Jason Sams | 3bc47d4 | 2009-11-12 15:10:25 -0800 | [diff] [blame] | 46 | ContextSetPriority { |
Jason Sams | 7d787b4 | 2009-11-15 12:14:26 -0800 | [diff] [blame] | 47 | param int32_t priority |
Jason Sams | 3bc47d4 | 2009-11-12 15:10:25 -0800 | [diff] [blame] | 48 | } |
49 | |||||
Jason Sams | 5c68a71 | 2010-12-24 14:38:39 -0800 | [diff] [blame] | 50 | ContextDestroyWorker { |
Jason Sams | 546f01b | 2010-12-09 12:19:46 -0800 | [diff] [blame] | 51 | } |
52 | |||||
Jason Sams | 3eaa338 | 2009-06-10 15:04:38 -0700 | [diff] [blame] | 53 | AssignName { |
54 | param void *obj | ||||
55 | param const char *name | ||||
Jason Sams | d5680f9 | 2009-06-10 18:39:40 -0700 | [diff] [blame] | 56 | param size_t len |
Jason Sams | 3eaa338 | 2009-06-10 15:04:38 -0700 | [diff] [blame] | 57 | } |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 58 | |
Jason Sams | 7ce033d | 2009-08-18 14:14:24 -0700 | [diff] [blame] | 59 | ObjDestroy { |
Jason Sams | 3b9c52a | 2010-10-14 17:48:46 -0700 | [diff] [blame] | 60 | param RsAsyncVoidPtr objPtr |
Jason Sams | 7ce033d | 2009-08-18 14:14:24 -0700 | [diff] [blame] | 61 | } |
62 | |||||
Jason Sams | 718cd1f | 2009-12-23 14:35:29 -0800 | [diff] [blame] | 63 | ElementCreate { |
64 | param RsDataType mType | ||||
65 | param RsDataKind mKind | ||||
66 | param bool mNormalized | ||||
67 | param uint32_t mVectorSize | ||||
68 | ret RsElement | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 69 | } |
70 | |||||
Jason Sams | 718cd1f | 2009-12-23 14:35:29 -0800 | [diff] [blame] | 71 | ElementCreate2 { |
72 | param size_t count | ||||
73 | param const RsElement * elements | ||||
74 | param const char ** names | ||||
75 | param const size_t * nameLengths | ||||
Jason Sams | 70d4e50 | 2010-09-02 17:35:23 -0700 | [diff] [blame] | 76 | param const uint32_t * arraySize |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 77 | ret RsElement |
78 | } | ||||
79 | |||||
Jason Sams | 4ef6650 | 2010-12-10 16:03:15 -0800 | [diff] [blame] | 80 | AllocationCopyFromBitmap { |
Alex Sakhartchouk | 26ae390 | 2010-10-11 12:35:15 -0700 | [diff] [blame] | 81 | param RsAllocation alloc |
Alex Sakhartchouk | 26ae390 | 2010-10-11 12:35:15 -0700 | [diff] [blame] | 82 | param const void * data |
Jason Sams | 4ef6650 | 2010-12-10 16:03:15 -0800 | [diff] [blame] | 83 | param size_t dataLen |
84 | } | ||||
85 | |||||
86 | AllocationCopyToBitmap { | ||||
87 | param RsAllocation alloc | ||||
88 | param void * data | ||||
89 | param size_t dataLen | ||||
Alex Sakhartchouk | 26ae390 | 2010-10-11 12:35:15 -0700 | [diff] [blame] | 90 | } |
91 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 92 | |
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 93 | Allocation1DData { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 94 | param RsAllocation va |
95 | param uint32_t xoff | ||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 96 | param uint32_t lod |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 97 | param uint32_t count |
98 | param const void *data | ||||
Jason Sams | 07ae406 | 2009-08-27 20:23:34 -0700 | [diff] [blame] | 99 | param uint32_t bytes |
100 | handcodeApi | ||||
101 | togglePlay | ||||
Jason Sams | 2253417 | 2009-08-04 16:58:20 -0700 | [diff] [blame] | 102 | } |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 103 | |
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 104 | Allocation1DElementData { |
Jason Sams | 49bdaf0 | 2010-08-31 13:50:42 -0700 | [diff] [blame] | 105 | param RsAllocation va |
106 | param uint32_t x | ||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 107 | param uint32_t lod |
Jason Sams | 49bdaf0 | 2010-08-31 13:50:42 -0700 | [diff] [blame] | 108 | param const void *data |
109 | param uint32_t comp_offset | ||||
110 | param uint32_t bytes | ||||
111 | handcodeApi | ||||
112 | togglePlay | ||||
113 | } | ||||
114 | |||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 115 | Allocation2DData { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 116 | param RsAllocation va |
117 | param uint32_t xoff | ||||
118 | param uint32_t yoff | ||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 119 | param uint32_t lod |
120 | param RsAllocationCubemapFace face | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 121 | param uint32_t w |
122 | param uint32_t h | ||||
123 | param const void *data | ||||
Jason Sams | 07ae406 | 2009-08-27 20:23:34 -0700 | [diff] [blame] | 124 | param uint32_t bytes |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 125 | } |
126 | |||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 127 | Allocation2DElementData { |
Jason Sams | 49bdaf0 | 2010-08-31 13:50:42 -0700 | [diff] [blame] | 128 | param RsAllocation va |
129 | param uint32_t x | ||||
130 | param uint32_t y | ||||
Jason Sams | 49a05d7 | 2010-12-29 14:31:29 -0800 | [diff] [blame^] | 131 | param uint32_t lod |
132 | param RsAllocationCubemapFace face | ||||
Jason Sams | 49bdaf0 | 2010-08-31 13:50:42 -0700 | [diff] [blame] | 133 | param const void *data |
134 | param uint32_t element_offset | ||||
135 | param uint32_t bytes | ||||
136 | } | ||||
137 | |||||
Jason Sams | 40a29e8 | 2009-08-10 14:55:26 -0700 | [diff] [blame] | 138 | AllocationRead { |
139 | param RsAllocation va | ||||
140 | param void * data | ||||
141 | } | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 142 | |
Jason Sams | 5476b45 | 2010-12-08 16:14:36 -0800 | [diff] [blame] | 143 | AllocationSyncAll { |
144 | param RsAllocation va | ||||
145 | param RsAllocationUsageType src | ||||
146 | } | ||||
147 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 148 | |
Jason Sams | 5edc608 | 2010-10-05 13:32:49 -0700 | [diff] [blame] | 149 | AllocationResize1D { |
150 | param RsAllocation va | ||||
151 | param uint32_t dimX | ||||
152 | } | ||||
153 | |||||
154 | AllocationResize2D { | ||||
155 | param RsAllocation va | ||||
156 | param uint32_t dimX | ||||
157 | param uint32_t dimY | ||||
158 | } | ||||
159 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 160 | SamplerBegin { |
161 | } | ||||
162 | |||||
163 | SamplerSet { | ||||
164 | param RsSamplerParam p | ||||
165 | param RsSamplerValue value | ||||
166 | } | ||||
167 | |||||
Alex Sakhartchouk | f5b3510 | 2010-09-30 11:36:37 -0700 | [diff] [blame] | 168 | SamplerSet2 { |
169 | param RsSamplerParam p | ||||
170 | param float value | ||||
171 | } | ||||
172 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 173 | SamplerCreate { |
174 | ret RsSampler | ||||
175 | } | ||||
176 | |||||
177 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 178 | |
179 | ScriptBindAllocation { | ||||
180 | param RsScript vtm | ||||
181 | param RsAllocation va | ||||
182 | param uint32_t slot | ||||
183 | } | ||||
184 | |||||
185 | |||||
186 | ScriptCBegin { | ||||
187 | } | ||||
188 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 189 | |
Jason Sams | 2253417 | 2009-08-04 16:58:20 -0700 | [diff] [blame] | 190 | ScriptSetTimeZone { |
191 | param RsScript s | ||||
Romain Guy | 584a375 | 2009-07-30 18:45:01 -0700 | [diff] [blame] | 192 | param const char * timeZone |
193 | param uint32_t length | ||||
194 | } | ||||
195 | |||||
Jason Sams | be2e841 | 2009-09-16 15:04:38 -0700 | [diff] [blame] | 196 | |
197 | ScriptInvoke { | ||||
198 | param RsScript s | ||||
199 | param uint32_t slot | ||||
200 | } | ||||
201 | |||||
Jason Sams | 4d33993 | 2010-05-11 14:03:58 -0700 | [diff] [blame] | 202 | ScriptInvokeV { |
203 | param RsScript s | ||||
204 | param uint32_t slot | ||||
205 | param const void * data | ||||
206 | param uint32_t dataLen | ||||
207 | handcodeApi | ||||
208 | togglePlay | ||||
209 | } | ||||
210 | |||||
Jason Sams | 4d33993 | 2010-05-11 14:03:58 -0700 | [diff] [blame] | 211 | ScriptSetVarI { |
212 | param RsScript s | ||||
213 | param uint32_t slot | ||||
214 | param int value | ||||
215 | } | ||||
216 | |||||
Jason Sams | 6f4cf0b | 2010-11-16 17:37:02 -0800 | [diff] [blame] | 217 | ScriptSetVarObj { |
218 | param RsScript s | ||||
219 | param uint32_t slot | ||||
220 | param RsObjectBase value | ||||
221 | } | ||||
222 | |||||
Stephen Hines | 031ec58c | 2010-10-11 10:54:21 -0700 | [diff] [blame] | 223 | ScriptSetVarJ { |
224 | param RsScript s | ||||
225 | param uint32_t slot | ||||
226 | param int64_t value | ||||
227 | } | ||||
228 | |||||
Jason Sams | 4d33993 | 2010-05-11 14:03:58 -0700 | [diff] [blame] | 229 | ScriptSetVarF { |
230 | param RsScript s | ||||
231 | param uint32_t slot | ||||
232 | param float value | ||||
233 | } | ||||
234 | |||||
Stephen Hines | ca54ec3 | 2010-09-20 17:20:30 -0700 | [diff] [blame] | 235 | ScriptSetVarD { |
236 | param RsScript s | ||||
237 | param uint32_t slot | ||||
238 | param double value | ||||
239 | } | ||||
240 | |||||
Jason Sams | 4d33993 | 2010-05-11 14:03:58 -0700 | [diff] [blame] | 241 | ScriptSetVarV { |
242 | param RsScript s | ||||
243 | param uint32_t slot | ||||
244 | param const void * data | ||||
245 | param uint32_t dataLen | ||||
246 | handcodeApi | ||||
247 | togglePlay | ||||
248 | } | ||||
Jason Sams | fbf0b9e | 2009-08-13 12:59:04 -0700 | [diff] [blame] | 249 | |
250 | |||||
Jason Sams | 39ddc950 | 2009-06-05 17:35:09 -0700 | [diff] [blame] | 251 | ScriptCSetText { |
252 | param const char * text | ||||
253 | param uint32_t length | ||||
254 | } | ||||
255 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 256 | ScriptCCreate { |
Shih-wei Liao | eeca435 | 2010-12-20 20:45:56 +0800 | [diff] [blame] | 257 | param const char * packageName |
Shih-wei Liao | a914f34 | 2010-11-08 01:33:59 -0800 | [diff] [blame] | 258 | param const char * resName |
Shih-wei Liao | 6b32fab | 2010-12-10 01:03:59 -0800 | [diff] [blame] | 259 | param const char * cacheDir |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 260 | ret RsScript |
261 | } | ||||
262 | |||||
263 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 264 | ProgramStoreBegin { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 265 | param RsElement in |
266 | param RsElement out | ||||
267 | } | ||||
268 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 269 | ProgramStoreColorMask { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 270 | param bool r |
271 | param bool g | ||||
272 | param bool b | ||||
273 | param bool a | ||||
274 | } | ||||
275 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 276 | ProgramStoreBlendFunc { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 277 | param RsBlendSrcFunc srcFunc |
278 | param RsBlendDstFunc destFunc | ||||
279 | } | ||||
280 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 281 | ProgramStoreDepthMask { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 282 | param bool enable |
283 | } | ||||
284 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 285 | ProgramStoreDither { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 286 | param bool enable |
287 | } | ||||
288 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 289 | ProgramStoreDepthFunc { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 290 | param RsDepthFunc func |
291 | } | ||||
292 | |||||
Jason Sams | 54db59c | 2010-05-13 18:30:11 -0700 | [diff] [blame] | 293 | ProgramStoreCreate { |
294 | ret RsProgramStore | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 295 | } |
296 | |||||
Jason Sams | ebfb436 | 2009-09-23 13:57:02 -0700 | [diff] [blame] | 297 | ProgramRasterCreate { |
Jason Sams | ebfb436 | 2009-09-23 13:57:02 -0700 | [diff] [blame] | 298 | param bool pointSmooth |
299 | param bool lineSmooth | ||||
300 | param bool pointSprite | ||||
301 | ret RsProgramRaster | ||||
302 | } | ||||
303 | |||||
304 | ProgramRasterSetLineWidth { | ||||
305 | param RsProgramRaster pr | ||||
306 | param float lw | ||||
307 | } | ||||
308 | |||||
Alex Sakhartchouk | 80a4c2c | 2010-07-12 15:50:32 -0700 | [diff] [blame] | 309 | ProgramRasterSetCullMode { |
310 | param RsProgramRaster pr | ||||
311 | param RsCullMode mode | ||||
312 | } | ||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 313 | |
Jason Sams | 0011bcf | 2009-12-15 12:58:36 -0800 | [diff] [blame] | 314 | ProgramBindConstants { |
315 | param RsProgram vp | ||||
316 | param uint32_t slot | ||||
317 | param RsAllocation constants | ||||
318 | } | ||||
319 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 320 | |
Jason Sams | 68afd01 | 2009-12-17 16:55:08 -0800 | [diff] [blame] | 321 | ProgramBindTexture { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 322 | param RsProgramFragment pf |
323 | param uint32_t slot | ||||
324 | param RsAllocation a | ||||
325 | } | ||||
326 | |||||
Jason Sams | 68afd01 | 2009-12-17 16:55:08 -0800 | [diff] [blame] | 327 | ProgramBindSampler { |
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 328 | param RsProgramFragment pf |
329 | param uint32_t slot | ||||
330 | param RsSampler s | ||||
331 | } | ||||
332 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 333 | ProgramFragmentCreate { |
Jason Sams | 7e5ab3b | 2009-12-15 13:27:04 -0800 | [diff] [blame] | 334 | param const char * shaderText |
335 | param uint32_t shaderLength | ||||
336 | param const uint32_t * params | ||||
337 | param uint32_t paramLength | ||||
338 | ret RsProgramFragment | ||||
339 | } | ||||
340 | |||||
Jason Sams | d19f10d | 2009-05-22 14:03:28 -0700 | [diff] [blame] | 341 | ProgramVertexCreate { |
Jason Sams | 0011bcf | 2009-12-15 12:58:36 -0800 | [diff] [blame] | 342 | param const char * shaderText |
343 | param uint32_t shaderLength | ||||
344 | param const uint32_t * params | ||||
345 | param uint32_t paramLength | ||||
Jason Sams | 7e5ab3b | 2009-12-15 13:27:04 -0800 | [diff] [blame] | 346 | ret RsProgramVertex |
Jason Sams | ee41112 | 2009-07-21 12:20:54 -0700 | [diff] [blame] | 347 | } |
348 | |||||
Jason Sams | 64676f3 | 2009-07-08 18:01:53 -0700 | [diff] [blame] | 349 | FileOpen { |
350 | ret RsFile | ||||
351 | param const char *name | ||||
352 | param size_t len | ||||
353 | } | ||||
354 | |||||
Alex Sakhartchouk | 9b949fc | 2010-06-24 17:15:34 -0700 | [diff] [blame] | 355 | FontCreateFromFile { |
356 | param const char *name | ||||
Alex Sakhartchouk | e27cdee | 2010-12-17 11:41:08 -0800 | [diff] [blame] | 357 | param float fontSize |
Alex Sakhartchouk | 9b949fc | 2010-06-24 17:15:34 -0700 | [diff] [blame] | 358 | param uint32_t dpi |
359 | ret RsFont | ||||
360 | } | ||||
361 | |||||
Alex Sakhartchouk | 164aaed | 2010-07-01 16:14:06 -0700 | [diff] [blame] | 362 | MeshCreate { |
363 | ret RsMesh | ||||
364 | param uint32_t vtxCount | ||||
365 | param uint32_t idxCount | ||||
366 | } | ||||
367 | |||||
368 | MeshBindIndex { | ||||
369 | param RsMesh mesh | ||||
370 | param RsAllocation idx | ||||
371 | param uint32_t primType | ||||
372 | param uint32_t slot | ||||
373 | } | ||||
374 | |||||
Alex Sakhartchouk | 164aaed | 2010-07-01 16:14:06 -0700 | [diff] [blame] | 375 | MeshBindVertex { |
376 | param RsMesh mesh | ||||
377 | param RsAllocation vtx | ||||
378 | param uint32_t slot | ||||
379 | } | ||||
380 | |||||
Alex Sakhartchouk | 9d71e21 | 2010-11-08 15:10:52 -0800 | [diff] [blame] | 381 | MeshInitVertexAttribs { |
382 | param RsMesh mesh | ||||
383 | } | ||||
384 | |||||
Jason Sams | f468700 | 2010-03-10 17:30:41 -0800 | [diff] [blame] | 385 | AnimationCreate { |
386 | param const float *inValues | ||||
387 | param const float *outValues | ||||
388 | param uint32_t valueCount | ||||
389 | param RsAnimationInterpolation interp | ||||
390 | param RsAnimationEdge pre | ||||
391 | param RsAnimationEdge post | ||||
392 | ret RsAnimation | ||||
393 | } | ||||
394 |