1 /*** Autogenerated by WIDL 6.4 from include/uianimation.idl - Do not edit ***/
2 
3 #ifdef _WIN32
4 #ifndef __REQUIRED_RPCNDR_H_VERSION__
5 #define __REQUIRED_RPCNDR_H_VERSION__ 475
6 #endif
7 #include <rpc.h>
8 #include <rpcndr.h>
9 #endif
10 
11 #ifndef COM_NO_WINDOWS_H
12 #include <windows.h>
13 #include <ole2.h>
14 #endif
15 
16 #ifndef __uianimation_h__
17 #define __uianimation_h__
18 
19 /* Forward declarations */
20 
21 #ifndef __UIAnimationManager_FWD_DEFINED__
22 #define __UIAnimationManager_FWD_DEFINED__
23 #ifdef __cplusplus
24 typedef class UIAnimationManager UIAnimationManager;
25 #else
26 typedef struct UIAnimationManager UIAnimationManager;
27 #endif /* defined __cplusplus */
28 #endif /* defined __UIAnimationManager_FWD_DEFINED__ */
29 
30 #ifndef __UIAnimationManager2_FWD_DEFINED__
31 #define __UIAnimationManager2_FWD_DEFINED__
32 #ifdef __cplusplus
33 typedef class UIAnimationManager2 UIAnimationManager2;
34 #else
35 typedef struct UIAnimationManager2 UIAnimationManager2;
36 #endif /* defined __cplusplus */
37 #endif /* defined __UIAnimationManager2_FWD_DEFINED__ */
38 
39 #ifndef __UIAnimationTransitionLibrary_FWD_DEFINED__
40 #define __UIAnimationTransitionLibrary_FWD_DEFINED__
41 #ifdef __cplusplus
42 typedef class UIAnimationTransitionLibrary UIAnimationTransitionLibrary;
43 #else
44 typedef struct UIAnimationTransitionLibrary UIAnimationTransitionLibrary;
45 #endif /* defined __cplusplus */
46 #endif /* defined __UIAnimationTransitionLibrary_FWD_DEFINED__ */
47 
48 #ifndef __UIAnimationTransitionLibrary2_FWD_DEFINED__
49 #define __UIAnimationTransitionLibrary2_FWD_DEFINED__
50 #ifdef __cplusplus
51 typedef class UIAnimationTransitionLibrary2 UIAnimationTransitionLibrary2;
52 #else
53 typedef struct UIAnimationTransitionLibrary2 UIAnimationTransitionLibrary2;
54 #endif /* defined __cplusplus */
55 #endif /* defined __UIAnimationTransitionLibrary2_FWD_DEFINED__ */
56 
57 #ifndef __UIAnimationTransitionFactory_FWD_DEFINED__
58 #define __UIAnimationTransitionFactory_FWD_DEFINED__
59 #ifdef __cplusplus
60 typedef class UIAnimationTransitionFactory UIAnimationTransitionFactory;
61 #else
62 typedef struct UIAnimationTransitionFactory UIAnimationTransitionFactory;
63 #endif /* defined __cplusplus */
64 #endif /* defined __UIAnimationTransitionFactory_FWD_DEFINED__ */
65 
66 #ifndef __UIAnimationTransitionFactory2_FWD_DEFINED__
67 #define __UIAnimationTransitionFactory2_FWD_DEFINED__
68 #ifdef __cplusplus
69 typedef class UIAnimationTransitionFactory2 UIAnimationTransitionFactory2;
70 #else
71 typedef struct UIAnimationTransitionFactory2 UIAnimationTransitionFactory2;
72 #endif /* defined __cplusplus */
73 #endif /* defined __UIAnimationTransitionFactory2_FWD_DEFINED__ */
74 
75 #ifndef __UIAnimationTimer_FWD_DEFINED__
76 #define __UIAnimationTimer_FWD_DEFINED__
77 #ifdef __cplusplus
78 typedef class UIAnimationTimer UIAnimationTimer;
79 #else
80 typedef struct UIAnimationTimer UIAnimationTimer;
81 #endif /* defined __cplusplus */
82 #endif /* defined __UIAnimationTimer_FWD_DEFINED__ */
83 
84 #ifndef __IUIAnimationManager_FWD_DEFINED__
85 #define __IUIAnimationManager_FWD_DEFINED__
86 typedef interface IUIAnimationManager IUIAnimationManager;
87 #ifdef __cplusplus
88 interface IUIAnimationManager;
89 #endif /* __cplusplus */
90 #endif
91 
92 #ifndef __IUIAnimationVariable_FWD_DEFINED__
93 #define __IUIAnimationVariable_FWD_DEFINED__
94 typedef interface IUIAnimationVariable IUIAnimationVariable;
95 #ifdef __cplusplus
96 interface IUIAnimationVariable;
97 #endif /* __cplusplus */
98 #endif
99 
100 #ifndef __IUIAnimationStoryboard_FWD_DEFINED__
101 #define __IUIAnimationStoryboard_FWD_DEFINED__
102 typedef interface IUIAnimationStoryboard IUIAnimationStoryboard;
103 #ifdef __cplusplus
104 interface IUIAnimationStoryboard;
105 #endif /* __cplusplus */
106 #endif
107 
108 #ifndef __IUIAnimationTransition_FWD_DEFINED__
109 #define __IUIAnimationTransition_FWD_DEFINED__
110 typedef interface IUIAnimationTransition IUIAnimationTransition;
111 #ifdef __cplusplus
112 interface IUIAnimationTransition;
113 #endif /* __cplusplus */
114 #endif
115 
116 #ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
117 #define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
118 typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler;
119 #ifdef __cplusplus
120 interface IUIAnimationStoryboardEventHandler;
121 #endif /* __cplusplus */
122 #endif
123 
124 #ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__
125 #define __IUIAnimationVariableChangeHandler_FWD_DEFINED__
126 typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler;
127 #ifdef __cplusplus
128 interface IUIAnimationVariableChangeHandler;
129 #endif /* __cplusplus */
130 #endif
131 
132 #ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
133 #define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
134 typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler;
135 #ifdef __cplusplus
136 interface IUIAnimationVariableIntegerChangeHandler;
137 #endif /* __cplusplus */
138 #endif
139 
140 #ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__
141 #define __IUIAnimationManagerEventHandler_FWD_DEFINED__
142 typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler;
143 #ifdef __cplusplus
144 interface IUIAnimationManagerEventHandler;
145 #endif /* __cplusplus */
146 #endif
147 
148 #ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__
149 #define __IUIAnimationPriorityComparison_FWD_DEFINED__
150 typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison;
151 #ifdef __cplusplus
152 interface IUIAnimationPriorityComparison;
153 #endif /* __cplusplus */
154 #endif
155 
156 #ifndef __IUIAnimationManager2_FWD_DEFINED__
157 #define __IUIAnimationManager2_FWD_DEFINED__
158 typedef interface IUIAnimationManager2 IUIAnimationManager2;
159 #ifdef __cplusplus
160 interface IUIAnimationManager2;
161 #endif /* __cplusplus */
162 #endif
163 
164 #ifndef __IUIAnimationVariable2_FWD_DEFINED__
165 #define __IUIAnimationVariable2_FWD_DEFINED__
166 typedef interface IUIAnimationVariable2 IUIAnimationVariable2;
167 #ifdef __cplusplus
168 interface IUIAnimationVariable2;
169 #endif /* __cplusplus */
170 #endif
171 
172 #ifndef __IDCompositionAnimation_FWD_DEFINED__
173 #define __IDCompositionAnimation_FWD_DEFINED__
174 typedef interface IDCompositionAnimation IDCompositionAnimation;
175 #ifdef __cplusplus
176 interface IDCompositionAnimation;
177 #endif /* __cplusplus */
178 #endif
179 
180 #ifndef __IUIAnimationStoryboard2_FWD_DEFINED__
181 #define __IUIAnimationStoryboard2_FWD_DEFINED__
182 typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2;
183 #ifdef __cplusplus
184 interface IUIAnimationStoryboard2;
185 #endif /* __cplusplus */
186 #endif
187 
188 #ifndef __IUIAnimationTransition2_FWD_DEFINED__
189 #define __IUIAnimationTransition2_FWD_DEFINED__
190 typedef interface IUIAnimationTransition2 IUIAnimationTransition2;
191 #ifdef __cplusplus
192 interface IUIAnimationTransition2;
193 #endif /* __cplusplus */
194 #endif
195 
196 #ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
197 #define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
198 typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2;
199 #ifdef __cplusplus
200 interface IUIAnimationLoopIterationChangeHandler2;
201 #endif /* __cplusplus */
202 #endif
203 
204 #ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
205 #define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
206 typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2;
207 #ifdef __cplusplus
208 interface IUIAnimationStoryboardEventHandler2;
209 #endif /* __cplusplus */
210 #endif
211 
212 #ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
213 #define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
214 typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2;
215 #ifdef __cplusplus
216 interface IUIAnimationVariableChangeHandler2;
217 #endif /* __cplusplus */
218 #endif
219 
220 #ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
221 #define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
222 typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2;
223 #ifdef __cplusplus
224 interface IUIAnimationVariableIntegerChangeHandler2;
225 #endif /* __cplusplus */
226 #endif
227 
228 #ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
229 #define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
230 typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2;
231 #ifdef __cplusplus
232 interface IUIAnimationVariableCurveChangeHandler2;
233 #endif /* __cplusplus */
234 #endif
235 
236 #ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__
237 #define __IUIAnimationManagerEventHandler2_FWD_DEFINED__
238 typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2;
239 #ifdef __cplusplus
240 interface IUIAnimationManagerEventHandler2;
241 #endif /* __cplusplus */
242 #endif
243 
244 #ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__
245 #define __IUIAnimationPriorityComparison2_FWD_DEFINED__
246 typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2;
247 #ifdef __cplusplus
248 interface IUIAnimationPriorityComparison2;
249 #endif /* __cplusplus */
250 #endif
251 
252 #ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__
253 #define __IUIAnimationTransitionLibrary_FWD_DEFINED__
254 typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary;
255 #ifdef __cplusplus
256 interface IUIAnimationTransitionLibrary;
257 #endif /* __cplusplus */
258 #endif
259 
260 #ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__
261 #define __IUIAnimationTransitionLibrary2_FWD_DEFINED__
262 typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2;
263 #ifdef __cplusplus
264 interface IUIAnimationTransitionLibrary2;
265 #endif /* __cplusplus */
266 #endif
267 
268 #ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__
269 #define __IUIAnimationTransitionFactory_FWD_DEFINED__
270 typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory;
271 #ifdef __cplusplus
272 interface IUIAnimationTransitionFactory;
273 #endif /* __cplusplus */
274 #endif
275 
276 #ifndef __IUIAnimationInterpolator_FWD_DEFINED__
277 #define __IUIAnimationInterpolator_FWD_DEFINED__
278 typedef interface IUIAnimationInterpolator IUIAnimationInterpolator;
279 #ifdef __cplusplus
280 interface IUIAnimationInterpolator;
281 #endif /* __cplusplus */
282 #endif
283 
284 #ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__
285 #define __IUIAnimationTransitionFactory2_FWD_DEFINED__
286 typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2;
287 #ifdef __cplusplus
288 interface IUIAnimationTransitionFactory2;
289 #endif /* __cplusplus */
290 #endif
291 
292 #ifndef __IUIAnimationInterpolator2_FWD_DEFINED__
293 #define __IUIAnimationInterpolator2_FWD_DEFINED__
294 typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2;
295 #ifdef __cplusplus
296 interface IUIAnimationInterpolator2;
297 #endif /* __cplusplus */
298 #endif
299 
300 #ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
301 #define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
302 typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation;
303 #ifdef __cplusplus
304 interface IUIAnimationPrimitiveInterpolation;
305 #endif /* __cplusplus */
306 #endif
307 
308 #ifndef __IUIAnimationTimer_FWD_DEFINED__
309 #define __IUIAnimationTimer_FWD_DEFINED__
310 typedef interface IUIAnimationTimer IUIAnimationTimer;
311 #ifdef __cplusplus
312 interface IUIAnimationTimer;
313 #endif /* __cplusplus */
314 #endif
315 
316 #ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
317 #define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
318 typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler;
319 #ifdef __cplusplus
320 interface IUIAnimationTimerUpdateHandler;
321 #endif /* __cplusplus */
322 #endif
323 
324 #ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
325 #define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
326 typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler;
327 #ifdef __cplusplus
328 interface IUIAnimationTimerClientEventHandler;
329 #endif /* __cplusplus */
330 #endif
331 
332 #ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__
333 #define __IUIAnimationTimerEventHandler_FWD_DEFINED__
334 typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler;
335 #ifdef __cplusplus
336 interface IUIAnimationTimerEventHandler;
337 #endif /* __cplusplus */
338 #endif
339 
340 /* Headers for imported files */
341 
342 #include <unknwn.h>
343 
344 #ifdef __cplusplus
345 extern "C" {
346 #endif
347 
348 #ifndef __IUIAnimationManager_FWD_DEFINED__
349 #define __IUIAnimationManager_FWD_DEFINED__
350 typedef interface IUIAnimationManager IUIAnimationManager;
351 #ifdef __cplusplus
352 interface IUIAnimationManager;
353 #endif /* __cplusplus */
354 #endif
355 
356 #ifndef __IUIAnimationVariable_FWD_DEFINED__
357 #define __IUIAnimationVariable_FWD_DEFINED__
358 typedef interface IUIAnimationVariable IUIAnimationVariable;
359 #ifdef __cplusplus
360 interface IUIAnimationVariable;
361 #endif /* __cplusplus */
362 #endif
363 
364 #ifndef __IUIAnimationStoryboard_FWD_DEFINED__
365 #define __IUIAnimationStoryboard_FWD_DEFINED__
366 typedef interface IUIAnimationStoryboard IUIAnimationStoryboard;
367 #ifdef __cplusplus
368 interface IUIAnimationStoryboard;
369 #endif /* __cplusplus */
370 #endif
371 
372 #ifndef __IUIAnimationTransition_FWD_DEFINED__
373 #define __IUIAnimationTransition_FWD_DEFINED__
374 typedef interface IUIAnimationTransition IUIAnimationTransition;
375 #ifdef __cplusplus
376 interface IUIAnimationTransition;
377 #endif /* __cplusplus */
378 #endif
379 
380 #ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
381 #define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
382 typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler;
383 #ifdef __cplusplus
384 interface IUIAnimationStoryboardEventHandler;
385 #endif /* __cplusplus */
386 #endif
387 
388 #ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__
389 #define __IUIAnimationVariableChangeHandler_FWD_DEFINED__
390 typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler;
391 #ifdef __cplusplus
392 interface IUIAnimationVariableChangeHandler;
393 #endif /* __cplusplus */
394 #endif
395 
396 #ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
397 #define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
398 typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler;
399 #ifdef __cplusplus
400 interface IUIAnimationVariableIntegerChangeHandler;
401 #endif /* __cplusplus */
402 #endif
403 
404 #ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__
405 #define __IUIAnimationManagerEventHandler_FWD_DEFINED__
406 typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler;
407 #ifdef __cplusplus
408 interface IUIAnimationManagerEventHandler;
409 #endif /* __cplusplus */
410 #endif
411 
412 #ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__
413 #define __IUIAnimationPriorityComparison_FWD_DEFINED__
414 typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison;
415 #ifdef __cplusplus
416 interface IUIAnimationPriorityComparison;
417 #endif /* __cplusplus */
418 #endif
419 
420 #ifndef __IUIAnimationManager2_FWD_DEFINED__
421 #define __IUIAnimationManager2_FWD_DEFINED__
422 typedef interface IUIAnimationManager2 IUIAnimationManager2;
423 #ifdef __cplusplus
424 interface IUIAnimationManager2;
425 #endif /* __cplusplus */
426 #endif
427 
428 #ifndef __IUIAnimationVariable2_FWD_DEFINED__
429 #define __IUIAnimationVariable2_FWD_DEFINED__
430 typedef interface IUIAnimationVariable2 IUIAnimationVariable2;
431 #ifdef __cplusplus
432 interface IUIAnimationVariable2;
433 #endif /* __cplusplus */
434 #endif
435 
436 #ifndef __IDCompositionAnimation_FWD_DEFINED__
437 #define __IDCompositionAnimation_FWD_DEFINED__
438 typedef interface IDCompositionAnimation IDCompositionAnimation;
439 #ifdef __cplusplus
440 interface IDCompositionAnimation;
441 #endif /* __cplusplus */
442 #endif
443 
444 #ifndef __IUIAnimationStoryboard2_FWD_DEFINED__
445 #define __IUIAnimationStoryboard2_FWD_DEFINED__
446 typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2;
447 #ifdef __cplusplus
448 interface IUIAnimationStoryboard2;
449 #endif /* __cplusplus */
450 #endif
451 
452 #ifndef __IUIAnimationTransition2_FWD_DEFINED__
453 #define __IUIAnimationTransition2_FWD_DEFINED__
454 typedef interface IUIAnimationTransition2 IUIAnimationTransition2;
455 #ifdef __cplusplus
456 interface IUIAnimationTransition2;
457 #endif /* __cplusplus */
458 #endif
459 
460 #ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
461 #define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
462 typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2;
463 #ifdef __cplusplus
464 interface IUIAnimationLoopIterationChangeHandler2;
465 #endif /* __cplusplus */
466 #endif
467 
468 #ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
469 #define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
470 typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2;
471 #ifdef __cplusplus
472 interface IUIAnimationStoryboardEventHandler2;
473 #endif /* __cplusplus */
474 #endif
475 
476 #ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
477 #define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
478 typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2;
479 #ifdef __cplusplus
480 interface IUIAnimationVariableChangeHandler2;
481 #endif /* __cplusplus */
482 #endif
483 
484 #ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
485 #define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
486 typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2;
487 #ifdef __cplusplus
488 interface IUIAnimationVariableIntegerChangeHandler2;
489 #endif /* __cplusplus */
490 #endif
491 
492 #ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
493 #define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
494 typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2;
495 #ifdef __cplusplus
496 interface IUIAnimationVariableCurveChangeHandler2;
497 #endif /* __cplusplus */
498 #endif
499 
500 #ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__
501 #define __IUIAnimationManagerEventHandler2_FWD_DEFINED__
502 typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2;
503 #ifdef __cplusplus
504 interface IUIAnimationManagerEventHandler2;
505 #endif /* __cplusplus */
506 #endif
507 
508 #ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__
509 #define __IUIAnimationPriorityComparison2_FWD_DEFINED__
510 typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2;
511 #ifdef __cplusplus
512 interface IUIAnimationPriorityComparison2;
513 #endif /* __cplusplus */
514 #endif
515 
516 #ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__
517 #define __IUIAnimationTransitionLibrary_FWD_DEFINED__
518 typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary;
519 #ifdef __cplusplus
520 interface IUIAnimationTransitionLibrary;
521 #endif /* __cplusplus */
522 #endif
523 
524 #ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__
525 #define __IUIAnimationTransitionLibrary2_FWD_DEFINED__
526 typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2;
527 #ifdef __cplusplus
528 interface IUIAnimationTransitionLibrary2;
529 #endif /* __cplusplus */
530 #endif
531 
532 #ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__
533 #define __IUIAnimationTransitionFactory_FWD_DEFINED__
534 typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory;
535 #ifdef __cplusplus
536 interface IUIAnimationTransitionFactory;
537 #endif /* __cplusplus */
538 #endif
539 
540 #ifndef __IUIAnimationInterpolator_FWD_DEFINED__
541 #define __IUIAnimationInterpolator_FWD_DEFINED__
542 typedef interface IUIAnimationInterpolator IUIAnimationInterpolator;
543 #ifdef __cplusplus
544 interface IUIAnimationInterpolator;
545 #endif /* __cplusplus */
546 #endif
547 
548 #ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__
549 #define __IUIAnimationTransitionFactory2_FWD_DEFINED__
550 typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2;
551 #ifdef __cplusplus
552 interface IUIAnimationTransitionFactory2;
553 #endif /* __cplusplus */
554 #endif
555 
556 #ifndef __IUIAnimationInterpolator2_FWD_DEFINED__
557 #define __IUIAnimationInterpolator2_FWD_DEFINED__
558 typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2;
559 #ifdef __cplusplus
560 interface IUIAnimationInterpolator2;
561 #endif /* __cplusplus */
562 #endif
563 
564 #ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
565 #define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
566 typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation;
567 #ifdef __cplusplus
568 interface IUIAnimationPrimitiveInterpolation;
569 #endif /* __cplusplus */
570 #endif
571 
572 #ifndef __IUIAnimationTimer_FWD_DEFINED__
573 #define __IUIAnimationTimer_FWD_DEFINED__
574 typedef interface IUIAnimationTimer IUIAnimationTimer;
575 #ifdef __cplusplus
576 interface IUIAnimationTimer;
577 #endif /* __cplusplus */
578 #endif
579 
580 #ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
581 #define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
582 typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler;
583 #ifdef __cplusplus
584 interface IUIAnimationTimerUpdateHandler;
585 #endif /* __cplusplus */
586 #endif
587 
588 #ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
589 #define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
590 typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler;
591 #ifdef __cplusplus
592 interface IUIAnimationTimerClientEventHandler;
593 #endif /* __cplusplus */
594 #endif
595 
596 #ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__
597 #define __IUIAnimationTimerEventHandler_FWD_DEFINED__
598 typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler;
599 #ifdef __cplusplus
600 interface IUIAnimationTimerEventHandler;
601 #endif /* __cplusplus */
602 #endif
603 
604 typedef DOUBLE UI_ANIMATION_SECONDS;
605 typedef enum __WIDL_uianimation_generated_name_0000000C {
606     UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE = 0,
607     UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY = 1,
608     UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED = 2,
609     UI_ANIMATION_SCHEDULING_SUCCEEDED = 3,
610     UI_ANIMATION_SCHEDULING_DEFERRED = 4
611 } UI_ANIMATION_SCHEDULING_RESULT;
612 typedef enum __WIDL_uianimation_generated_name_0000000D {
613     UI_ANIMATION_STORYBOARD_BUILDING = 0,
614     UI_ANIMATION_STORYBOARD_SCHEDULED = 1,
615     UI_ANIMATION_STORYBOARD_CANCELLED = 2,
616     UI_ANIMATION_STORYBOARD_PLAYING = 3,
617     UI_ANIMATION_STORYBOARD_TRUNCATED = 4,
618     UI_ANIMATION_STORYBOARD_FINISHED = 5,
619     UI_ANIMATION_STORYBOARD_READY = 6,
620     UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY = 7
621 } UI_ANIMATION_STORYBOARD_STATUS;
622 typedef enum __WIDL_uianimation_generated_name_0000000E {
623     UI_ANIMATION_ROUNDING_NEAREST = 0,
624     UI_ANIMATION_ROUNDING_FLOOR = 1,
625     UI_ANIMATION_ROUNDING_CEILING = 2
626 } UI_ANIMATION_ROUNDING_MODE;
627 typedef enum __WIDL_uianimation_generated_name_0000000F {
628     UI_ANIMATION_UPDATE_NO_CHANGE = 0,
629     UI_ANIMATION_UPDATE_VARIABLES_CHANGED = 1
630 } UI_ANIMATION_UPDATE_RESULT;
631 typedef enum __WIDL_uianimation_generated_name_00000010 {
632     UI_ANIMATION_MANAGER_IDLE = 0,
633     UI_ANIMATION_MANAGER_BUSY = 1
634 } UI_ANIMATION_MANAGER_STATUS;
635 typedef enum __WIDL_uianimation_generated_name_00000011 {
636     UI_ANIMATION_MODE_DISABLED = 0,
637     UI_ANIMATION_MODE_SYSTEM_DEFAULT = 1,
638     UI_ANIMATION_MODE_ENABLED = 2
639 } UI_ANIMATION_MODE;
640 typedef enum __WIDL_uianimation_generated_name_00000012 {
641     UI_ANIMATION_PRIORITY_EFFECT_FAILURE = 0,
642     UI_ANIMATION_PRIORITY_EFFECT_DELAY = 1
643 } UI_ANIMATION_PRIORITY_EFFECT;
644 typedef enum __WIDL_uianimation_generated_name_00000013 {
645     UI_ANIMATION_REPEAT_MODE_NORMAL = 0,
646     UI_ANIMATION_REPEAT_MODE_ALTERNATE = 1
647 } UI_ANIMATION_REPEAT_MODE;
648 typedef enum __WIDL_uianimation_generated_name_00000014 {
649     UI_ANIMATION_SLOPE_INCREASING = 0,
650     UI_ANIMATION_SLOPE_DECREASING = 1
651 } UI_ANIMATION_SLOPE;
652 typedef enum __WIDL_uianimation_generated_name_00000015 {
653     UI_ANIMATION_DEPENDENCY_NONE = 0,
654     UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES = 0x1,
655     UI_ANIMATION_DEPENDENCY_FINAL_VALUE = 0x2,
656     UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY = 0x4,
657     UI_ANIMATION_DEPENDENCY_DURATION = 0x8
658 } UI_ANIMATION_DEPENDENCIES;
659 typedef enum __WIDL_uianimation_generated_name_00000016 {
660     UI_ANIMATION_TIMER_CLIENT_IDLE = 0,
661     UI_ANIMATION_TIMER_CLIENT_BUSY = 1
662 } UI_ANIMATION_TIMER_CLIENT_STATUS;
663 typedef enum __WIDL_uianimation_generated_name_00000017 {
664     UI_ANIMATION_IDLE_BEHAVIOR_CONTINUE = 0,
665     UI_ANIMATION_IDLE_BEHAVIOR_DISABLE = 1
666 } UI_ANIMATION_IDLE_BEHAVIOR;
667 typedef struct __WIDL_uianimation_generated_name_00000018 {
668     int _;
669 } *UI_ANIMATION_KEYFRAME;
670 #define UI_ANIMATION_KEYFRAME_STORYBOARD_START ((UI_ANIMATION_KEYFRAME)-1)
671 
672 #define UI_ANIMATION_REPEAT_INDEFINITELY (-1)
673 
674 #define UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_END (UI_ANIMATION_REPEAT_INDEFINITELY)
675 
676 #define UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_START (-2)
677 
678 #ifndef __uianimation_LIBRARY_DEFINED__
679 #define __uianimation_LIBRARY_DEFINED__
680 
681 DEFINE_GUID(LIBID_uianimation, 0x44ca24db, 0x1a92, 0x4149, 0xba,0xb5, 0xfb,0x14,0xd6,0x4b,0x40,0x1e);
682 
683 /*****************************************************************************
684  * UIAnimationManager coclass
685  */
686 
687 DEFINE_GUID(CLSID_UIAnimationManager, 0x4c1fc63a, 0x695c, 0x47e8, 0xa3,0x39, 0x1a,0x19,0x4b,0xe3,0xd0,0xb8);
688 
689 #ifdef __cplusplus
690 class DECLSPEC_UUID("4c1fc63a-695c-47e8-a339-1a194be3d0b8") UIAnimationManager;
691 #ifdef __CRT_UUID_DECL
692 __CRT_UUID_DECL(UIAnimationManager, 0x4c1fc63a, 0x695c, 0x47e8, 0xa3,0x39, 0x1a,0x19,0x4b,0xe3,0xd0,0xb8)
693 #endif
694 #endif
695 
696 /*****************************************************************************
697  * UIAnimationManager2 coclass
698  */
699 
700 DEFINE_GUID(CLSID_UIAnimationManager2, 0xd25d8842, 0x8884, 0x4a4a, 0xb3,0x21, 0x09,0x13,0x14,0x37,0x9b,0xdd);
701 
702 #ifdef __cplusplus
703 class DECLSPEC_UUID("d25d8842-8884-4a4a-b321-091314379bdd") UIAnimationManager2;
704 #ifdef __CRT_UUID_DECL
705 __CRT_UUID_DECL(UIAnimationManager2, 0xd25d8842, 0x8884, 0x4a4a, 0xb3,0x21, 0x09,0x13,0x14,0x37,0x9b,0xdd)
706 #endif
707 #endif
708 
709 /*****************************************************************************
710  * UIAnimationTransitionLibrary coclass
711  */
712 
713 DEFINE_GUID(CLSID_UIAnimationTransitionLibrary, 0x1d6322ad, 0xaa85, 0x4ef5, 0xa8,0x28, 0x86,0xd7,0x10,0x67,0xd1,0x45);
714 
715 #ifdef __cplusplus
716 class DECLSPEC_UUID("1d6322ad-aa85-4ef5-a828-86d71067d145") UIAnimationTransitionLibrary;
717 #ifdef __CRT_UUID_DECL
718 __CRT_UUID_DECL(UIAnimationTransitionLibrary, 0x1d6322ad, 0xaa85, 0x4ef5, 0xa8,0x28, 0x86,0xd7,0x10,0x67,0xd1,0x45)
719 #endif
720 #endif
721 
722 /*****************************************************************************
723  * UIAnimationTransitionLibrary2 coclass
724  */
725 
726 DEFINE_GUID(CLSID_UIAnimationTransitionLibrary2, 0x812f944a, 0xc5c8, 0x4cd9, 0xb0,0xa6, 0xb3,0xda,0x80,0x2f,0x22,0x8d);
727 
728 #ifdef __cplusplus
729 class DECLSPEC_UUID("812f944a-c5c8-4cd9-b0a6-b3da802f228d") UIAnimationTransitionLibrary2;
730 #ifdef __CRT_UUID_DECL
731 __CRT_UUID_DECL(UIAnimationTransitionLibrary2, 0x812f944a, 0xc5c8, 0x4cd9, 0xb0,0xa6, 0xb3,0xda,0x80,0x2f,0x22,0x8d)
732 #endif
733 #endif
734 
735 /*****************************************************************************
736  * UIAnimationTransitionFactory coclass
737  */
738 
739 DEFINE_GUID(CLSID_UIAnimationTransitionFactory, 0x8a9b1cdd, 0xfcd7, 0x419c, 0x8b,0x44, 0x42,0xfd,0x17,0xdb,0x18,0x87);
740 
741 #ifdef __cplusplus
742 class DECLSPEC_UUID("8a9b1cdd-fcd7-419c-8b44-42fd17db1887") UIAnimationTransitionFactory;
743 #ifdef __CRT_UUID_DECL
744 __CRT_UUID_DECL(UIAnimationTransitionFactory, 0x8a9b1cdd, 0xfcd7, 0x419c, 0x8b,0x44, 0x42,0xfd,0x17,0xdb,0x18,0x87)
745 #endif
746 #endif
747 
748 /*****************************************************************************
749  * UIAnimationTransitionFactory2 coclass
750  */
751 
752 DEFINE_GUID(CLSID_UIAnimationTransitionFactory2, 0x84302f97, 0x7f7b, 0x4040, 0xb1,0x90, 0x72,0xac,0x9d,0x18,0xe4,0x20);
753 
754 #ifdef __cplusplus
755 class DECLSPEC_UUID("84302f97-7f7b-4040-b190-72ac9d18e420") UIAnimationTransitionFactory2;
756 #ifdef __CRT_UUID_DECL
757 __CRT_UUID_DECL(UIAnimationTransitionFactory2, 0x84302f97, 0x7f7b, 0x4040, 0xb1,0x90, 0x72,0xac,0x9d,0x18,0xe4,0x20)
758 #endif
759 #endif
760 
761 /*****************************************************************************
762  * UIAnimationTimer coclass
763  */
764 
765 DEFINE_GUID(CLSID_UIAnimationTimer, 0xbfcd4a0c, 0x06b6, 0x4384, 0xb7,0x68, 0x0d,0xaa,0x79,0x2c,0x38,0x0e);
766 
767 #ifdef __cplusplus
768 class DECLSPEC_UUID("bfcd4a0c-06b6-4384-b768-0daa792c380e") UIAnimationTimer;
769 #ifdef __CRT_UUID_DECL
770 __CRT_UUID_DECL(UIAnimationTimer, 0xbfcd4a0c, 0x06b6, 0x4384, 0xb7,0x68, 0x0d,0xaa,0x79,0x2c,0x38,0x0e)
771 #endif
772 #endif
773 
774 #endif /* __uianimation_LIBRARY_DEFINED__ */
775 /*****************************************************************************
776  * IUIAnimationManager interface
777  */
778 #ifndef __IUIAnimationManager_INTERFACE_DEFINED__
779 #define __IUIAnimationManager_INTERFACE_DEFINED__
780 
781 DEFINE_GUID(IID_IUIAnimationManager, 0x9169896c, 0xac8d, 0x4e7d, 0x94,0xe5, 0x67,0xfa,0x4d,0xc2,0xf2,0xe8);
782 #if defined(__cplusplus) && !defined(CINTERFACE)
783 MIDL_INTERFACE("9169896c-ac8d-4e7d-94e5-67fa4dc2f2e8")
784 IUIAnimationManager : public IUnknown
785 {
786     virtual HRESULT STDMETHODCALLTYPE CreateAnimationVariable(
787         double initialValue,
788         IUIAnimationVariable **variable) = 0;
789 
790     virtual HRESULT STDMETHODCALLTYPE ScheduleTransition(
791         IUIAnimationVariable *variable,
792         IUIAnimationTransition *transition,
793         double timeNow) = 0;
794 
795     virtual HRESULT STDMETHODCALLTYPE CreateStoryboard(
796         IUIAnimationStoryboard **storyboard) = 0;
797 
798     virtual HRESULT STDMETHODCALLTYPE FinishAllStoryboards(
799         double completionDeadline) = 0;
800 
801     virtual HRESULT STDMETHODCALLTYPE AbandonAllStoryboards(
802         ) = 0;
803 
804     virtual HRESULT STDMETHODCALLTYPE Update(
805         double timeNow,
806         UI_ANIMATION_UPDATE_RESULT *updateResult = 0) = 0;
807 
808     virtual HRESULT STDMETHODCALLTYPE GetVariableFromTag(
809         IUnknown *object,
810         UINT32 id,
811         IUIAnimationVariable **variable) = 0;
812 
813     virtual HRESULT STDMETHODCALLTYPE GetStoryboardFromTag(
814         IUnknown *object,
815         UINT32 id,
816         IUIAnimationStoryboard **storyboard) = 0;
817 
818     virtual HRESULT STDMETHODCALLTYPE GetStatus(
819         UI_ANIMATION_MANAGER_STATUS *status) = 0;
820 
821     virtual HRESULT STDMETHODCALLTYPE SetAnimationMode(
822         UI_ANIMATION_MODE mode) = 0;
823 
824     virtual HRESULT STDMETHODCALLTYPE Pause(
825         ) = 0;
826 
827     virtual HRESULT STDMETHODCALLTYPE Resume(
828         ) = 0;
829 
830     virtual HRESULT STDMETHODCALLTYPE SetManagerEventHandler(
831         IUIAnimationManagerEventHandler *handler) = 0;
832 
833     virtual HRESULT STDMETHODCALLTYPE SetCancelPriorityComparison(
834         IUIAnimationPriorityComparison *comparison) = 0;
835 
836     virtual HRESULT STDMETHODCALLTYPE SetTrimPriorityComparison(
837         IUIAnimationPriorityComparison *comparison) = 0;
838 
839     virtual HRESULT STDMETHODCALLTYPE SetCompressPriorityComparison(
840         IUIAnimationPriorityComparison *comparison) = 0;
841 
842     virtual HRESULT STDMETHODCALLTYPE SetConcludePriorityComparison(
843         IUIAnimationPriorityComparison *comparison) = 0;
844 
845     virtual HRESULT STDMETHODCALLTYPE SetDefaultLongestAcceptableDelay(
846         double delay) = 0;
847 
848     virtual HRESULT STDMETHODCALLTYPE Shutdown(
849         ) = 0;
850 
851 };
852 #ifdef __CRT_UUID_DECL
853 __CRT_UUID_DECL(IUIAnimationManager, 0x9169896c, 0xac8d, 0x4e7d, 0x94,0xe5, 0x67,0xfa,0x4d,0xc2,0xf2,0xe8)
854 #endif
855 #else
856 typedef struct IUIAnimationManagerVtbl {
857     BEGIN_INTERFACE
858 
859     /*** IUnknown methods ***/
860     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
861         IUIAnimationManager *This,
862         REFIID riid,
863         void **ppvObject);
864 
865     ULONG (STDMETHODCALLTYPE *AddRef)(
866         IUIAnimationManager *This);
867 
868     ULONG (STDMETHODCALLTYPE *Release)(
869         IUIAnimationManager *This);
870 
871     /*** IUIAnimationManager methods ***/
872     HRESULT (STDMETHODCALLTYPE *CreateAnimationVariable)(
873         IUIAnimationManager *This,
874         double initialValue,
875         IUIAnimationVariable **variable);
876 
877     HRESULT (STDMETHODCALLTYPE *ScheduleTransition)(
878         IUIAnimationManager *This,
879         IUIAnimationVariable *variable,
880         IUIAnimationTransition *transition,
881         double timeNow);
882 
883     HRESULT (STDMETHODCALLTYPE *CreateStoryboard)(
884         IUIAnimationManager *This,
885         IUIAnimationStoryboard **storyboard);
886 
887     HRESULT (STDMETHODCALLTYPE *FinishAllStoryboards)(
888         IUIAnimationManager *This,
889         double completionDeadline);
890 
891     HRESULT (STDMETHODCALLTYPE *AbandonAllStoryboards)(
892         IUIAnimationManager *This);
893 
894     HRESULT (STDMETHODCALLTYPE *Update)(
895         IUIAnimationManager *This,
896         double timeNow,
897         UI_ANIMATION_UPDATE_RESULT *updateResult);
898 
899     HRESULT (STDMETHODCALLTYPE *GetVariableFromTag)(
900         IUIAnimationManager *This,
901         IUnknown *object,
902         UINT32 id,
903         IUIAnimationVariable **variable);
904 
905     HRESULT (STDMETHODCALLTYPE *GetStoryboardFromTag)(
906         IUIAnimationManager *This,
907         IUnknown *object,
908         UINT32 id,
909         IUIAnimationStoryboard **storyboard);
910 
911     HRESULT (STDMETHODCALLTYPE *GetStatus)(
912         IUIAnimationManager *This,
913         UI_ANIMATION_MANAGER_STATUS *status);
914 
915     HRESULT (STDMETHODCALLTYPE *SetAnimationMode)(
916         IUIAnimationManager *This,
917         UI_ANIMATION_MODE mode);
918 
919     HRESULT (STDMETHODCALLTYPE *Pause)(
920         IUIAnimationManager *This);
921 
922     HRESULT (STDMETHODCALLTYPE *Resume)(
923         IUIAnimationManager *This);
924 
925     HRESULT (STDMETHODCALLTYPE *SetManagerEventHandler)(
926         IUIAnimationManager *This,
927         IUIAnimationManagerEventHandler *handler);
928 
929     HRESULT (STDMETHODCALLTYPE *SetCancelPriorityComparison)(
930         IUIAnimationManager *This,
931         IUIAnimationPriorityComparison *comparison);
932 
933     HRESULT (STDMETHODCALLTYPE *SetTrimPriorityComparison)(
934         IUIAnimationManager *This,
935         IUIAnimationPriorityComparison *comparison);
936 
937     HRESULT (STDMETHODCALLTYPE *SetCompressPriorityComparison)(
938         IUIAnimationManager *This,
939         IUIAnimationPriorityComparison *comparison);
940 
941     HRESULT (STDMETHODCALLTYPE *SetConcludePriorityComparison)(
942         IUIAnimationManager *This,
943         IUIAnimationPriorityComparison *comparison);
944 
945     HRESULT (STDMETHODCALLTYPE *SetDefaultLongestAcceptableDelay)(
946         IUIAnimationManager *This,
947         double delay);
948 
949     HRESULT (STDMETHODCALLTYPE *Shutdown)(
950         IUIAnimationManager *This);
951 
952     END_INTERFACE
953 } IUIAnimationManagerVtbl;
954 
955 interface IUIAnimationManager {
956     CONST_VTBL IUIAnimationManagerVtbl* lpVtbl;
957 };
958 
959 #ifdef COBJMACROS
960 #ifndef WIDL_C_INLINE_WRAPPERS
961 /*** IUnknown methods ***/
962 #define IUIAnimationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
963 #define IUIAnimationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
964 #define IUIAnimationManager_Release(This) (This)->lpVtbl->Release(This)
965 /*** IUIAnimationManager methods ***/
966 #define IUIAnimationManager_CreateAnimationVariable(This,initialValue,variable) (This)->lpVtbl->CreateAnimationVariable(This,initialValue,variable)
967 #define IUIAnimationManager_ScheduleTransition(This,variable,transition,timeNow) (This)->lpVtbl->ScheduleTransition(This,variable,transition,timeNow)
968 #define IUIAnimationManager_CreateStoryboard(This,storyboard) (This)->lpVtbl->CreateStoryboard(This,storyboard)
969 #define IUIAnimationManager_FinishAllStoryboards(This,completionDeadline) (This)->lpVtbl->FinishAllStoryboards(This,completionDeadline)
970 #define IUIAnimationManager_AbandonAllStoryboards(This) (This)->lpVtbl->AbandonAllStoryboards(This)
971 #define IUIAnimationManager_Update(This,timeNow,updateResult) (This)->lpVtbl->Update(This,timeNow,updateResult)
972 #define IUIAnimationManager_GetVariableFromTag(This,object,id,variable) (This)->lpVtbl->GetVariableFromTag(This,object,id,variable)
973 #define IUIAnimationManager_GetStoryboardFromTag(This,object,id,storyboard) (This)->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard)
974 #define IUIAnimationManager_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
975 #define IUIAnimationManager_SetAnimationMode(This,mode) (This)->lpVtbl->SetAnimationMode(This,mode)
976 #define IUIAnimationManager_Pause(This) (This)->lpVtbl->Pause(This)
977 #define IUIAnimationManager_Resume(This) (This)->lpVtbl->Resume(This)
978 #define IUIAnimationManager_SetManagerEventHandler(This,handler) (This)->lpVtbl->SetManagerEventHandler(This,handler)
979 #define IUIAnimationManager_SetCancelPriorityComparison(This,comparison) (This)->lpVtbl->SetCancelPriorityComparison(This,comparison)
980 #define IUIAnimationManager_SetTrimPriorityComparison(This,comparison) (This)->lpVtbl->SetTrimPriorityComparison(This,comparison)
981 #define IUIAnimationManager_SetCompressPriorityComparison(This,comparison) (This)->lpVtbl->SetCompressPriorityComparison(This,comparison)
982 #define IUIAnimationManager_SetConcludePriorityComparison(This,comparison) (This)->lpVtbl->SetConcludePriorityComparison(This,comparison)
983 #define IUIAnimationManager_SetDefaultLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay)
984 #define IUIAnimationManager_Shutdown(This) (This)->lpVtbl->Shutdown(This)
985 #else
986 /*** IUnknown methods ***/
987 static FORCEINLINE HRESULT IUIAnimationManager_QueryInterface(IUIAnimationManager* This,REFIID riid,void **ppvObject) {
988     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
989 }
990 static FORCEINLINE ULONG IUIAnimationManager_AddRef(IUIAnimationManager* This) {
991     return This->lpVtbl->AddRef(This);
992 }
993 static FORCEINLINE ULONG IUIAnimationManager_Release(IUIAnimationManager* This) {
994     return This->lpVtbl->Release(This);
995 }
996 /*** IUIAnimationManager methods ***/
997 static FORCEINLINE HRESULT IUIAnimationManager_CreateAnimationVariable(IUIAnimationManager* This,double initialValue,IUIAnimationVariable **variable) {
998     return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable);
999 }
1000 static FORCEINLINE HRESULT IUIAnimationManager_ScheduleTransition(IUIAnimationManager* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,double timeNow) {
1001     return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow);
1002 }
1003 static FORCEINLINE HRESULT IUIAnimationManager_CreateStoryboard(IUIAnimationManager* This,IUIAnimationStoryboard **storyboard) {
1004     return This->lpVtbl->CreateStoryboard(This,storyboard);
1005 }
1006 static FORCEINLINE HRESULT IUIAnimationManager_FinishAllStoryboards(IUIAnimationManager* This,double completionDeadline) {
1007     return This->lpVtbl->FinishAllStoryboards(This,completionDeadline);
1008 }
1009 static FORCEINLINE HRESULT IUIAnimationManager_AbandonAllStoryboards(IUIAnimationManager* This) {
1010     return This->lpVtbl->AbandonAllStoryboards(This);
1011 }
1012 static FORCEINLINE HRESULT IUIAnimationManager_Update(IUIAnimationManager* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) {
1013     return This->lpVtbl->Update(This,timeNow,updateResult);
1014 }
1015 static FORCEINLINE HRESULT IUIAnimationManager_GetVariableFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationVariable **variable) {
1016     return This->lpVtbl->GetVariableFromTag(This,object,id,variable);
1017 }
1018 static FORCEINLINE HRESULT IUIAnimationManager_GetStoryboardFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationStoryboard **storyboard) {
1019     return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard);
1020 }
1021 static FORCEINLINE HRESULT IUIAnimationManager_GetStatus(IUIAnimationManager* This,UI_ANIMATION_MANAGER_STATUS *status) {
1022     return This->lpVtbl->GetStatus(This,status);
1023 }
1024 static FORCEINLINE HRESULT IUIAnimationManager_SetAnimationMode(IUIAnimationManager* This,UI_ANIMATION_MODE mode) {
1025     return This->lpVtbl->SetAnimationMode(This,mode);
1026 }
1027 static FORCEINLINE HRESULT IUIAnimationManager_Pause(IUIAnimationManager* This) {
1028     return This->lpVtbl->Pause(This);
1029 }
1030 static FORCEINLINE HRESULT IUIAnimationManager_Resume(IUIAnimationManager* This) {
1031     return This->lpVtbl->Resume(This);
1032 }
1033 static FORCEINLINE HRESULT IUIAnimationManager_SetManagerEventHandler(IUIAnimationManager* This,IUIAnimationManagerEventHandler *handler) {
1034     return This->lpVtbl->SetManagerEventHandler(This,handler);
1035 }
1036 static FORCEINLINE HRESULT IUIAnimationManager_SetCancelPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1037     return This->lpVtbl->SetCancelPriorityComparison(This,comparison);
1038 }
1039 static FORCEINLINE HRESULT IUIAnimationManager_SetTrimPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1040     return This->lpVtbl->SetTrimPriorityComparison(This,comparison);
1041 }
1042 static FORCEINLINE HRESULT IUIAnimationManager_SetCompressPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1043     return This->lpVtbl->SetCompressPriorityComparison(This,comparison);
1044 }
1045 static FORCEINLINE HRESULT IUIAnimationManager_SetConcludePriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1046     return This->lpVtbl->SetConcludePriorityComparison(This,comparison);
1047 }
1048 static FORCEINLINE HRESULT IUIAnimationManager_SetDefaultLongestAcceptableDelay(IUIAnimationManager* This,double delay) {
1049     return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay);
1050 }
1051 static FORCEINLINE HRESULT IUIAnimationManager_Shutdown(IUIAnimationManager* This) {
1052     return This->lpVtbl->Shutdown(This);
1053 }
1054 #endif
1055 #endif
1056 
1057 #endif
1058 
1059 
1060 #endif  /* __IUIAnimationManager_INTERFACE_DEFINED__ */
1061 
1062 /*****************************************************************************
1063  * IUIAnimationVariable interface
1064  */
1065 #ifndef __IUIAnimationVariable_INTERFACE_DEFINED__
1066 #define __IUIAnimationVariable_INTERFACE_DEFINED__
1067 
1068 DEFINE_GUID(IID_IUIAnimationVariable, 0x8ceeb155, 0x2849, 0x4ce5, 0x94,0x48, 0x91,0xff,0x70,0xe1,0xe4,0xd9);
1069 #if defined(__cplusplus) && !defined(CINTERFACE)
1070 MIDL_INTERFACE("8ceeb155-2849-4ce5-9448-91ff70e1e4d9")
1071 IUIAnimationVariable : public IUnknown
1072 {
1073     virtual HRESULT STDMETHODCALLTYPE GetValue(
1074         double *value) = 0;
1075 
1076     virtual HRESULT STDMETHODCALLTYPE GetFinalValue(
1077         double *finalValue) = 0;
1078 
1079     virtual HRESULT STDMETHODCALLTYPE GetPreviousValue(
1080         double *previousValue) = 0;
1081 
1082     virtual HRESULT STDMETHODCALLTYPE GetIntegerValue(
1083         int *value) = 0;
1084 
1085     virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerValue(
1086         int *finalValue) = 0;
1087 
1088     virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerValue(
1089         int *previousValue) = 0;
1090 
1091     virtual HRESULT STDMETHODCALLTYPE GetCurrentStoryboard(
1092         IUIAnimationStoryboard **storyboard) = 0;
1093 
1094     virtual HRESULT STDMETHODCALLTYPE SetLowerBound(
1095         double bound) = 0;
1096 
1097     virtual HRESULT STDMETHODCALLTYPE SetUpperBound(
1098         double bound) = 0;
1099 
1100     virtual HRESULT STDMETHODCALLTYPE SetRoundingMode(
1101         UI_ANIMATION_ROUNDING_MODE mode) = 0;
1102 
1103     virtual HRESULT STDMETHODCALLTYPE SetTag(
1104         IUnknown *object,
1105         unsigned int id) = 0;
1106 
1107     virtual HRESULT STDMETHODCALLTYPE GetTag(
1108         IUnknown **object,
1109         unsigned int *id) = 0;
1110 
1111     virtual HRESULT STDMETHODCALLTYPE SetVariableChangeHandler(
1112         IUIAnimationVariableChangeHandler *handler) = 0;
1113 
1114     virtual HRESULT STDMETHODCALLTYPE SetVariableIntegerChangeHandler(
1115         IUIAnimationVariableIntegerChangeHandler *handler) = 0;
1116 
1117 };
1118 #ifdef __CRT_UUID_DECL
1119 __CRT_UUID_DECL(IUIAnimationVariable, 0x8ceeb155, 0x2849, 0x4ce5, 0x94,0x48, 0x91,0xff,0x70,0xe1,0xe4,0xd9)
1120 #endif
1121 #else
1122 typedef struct IUIAnimationVariableVtbl {
1123     BEGIN_INTERFACE
1124 
1125     /*** IUnknown methods ***/
1126     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1127         IUIAnimationVariable *This,
1128         REFIID riid,
1129         void **ppvObject);
1130 
1131     ULONG (STDMETHODCALLTYPE *AddRef)(
1132         IUIAnimationVariable *This);
1133 
1134     ULONG (STDMETHODCALLTYPE *Release)(
1135         IUIAnimationVariable *This);
1136 
1137     /*** IUIAnimationVariable methods ***/
1138     HRESULT (STDMETHODCALLTYPE *GetValue)(
1139         IUIAnimationVariable *This,
1140         double *value);
1141 
1142     HRESULT (STDMETHODCALLTYPE *GetFinalValue)(
1143         IUIAnimationVariable *This,
1144         double *finalValue);
1145 
1146     HRESULT (STDMETHODCALLTYPE *GetPreviousValue)(
1147         IUIAnimationVariable *This,
1148         double *previousValue);
1149 
1150     HRESULT (STDMETHODCALLTYPE *GetIntegerValue)(
1151         IUIAnimationVariable *This,
1152         int *value);
1153 
1154     HRESULT (STDMETHODCALLTYPE *GetFinalIntegerValue)(
1155         IUIAnimationVariable *This,
1156         int *finalValue);
1157 
1158     HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerValue)(
1159         IUIAnimationVariable *This,
1160         int *previousValue);
1161 
1162     HRESULT (STDMETHODCALLTYPE *GetCurrentStoryboard)(
1163         IUIAnimationVariable *This,
1164         IUIAnimationStoryboard **storyboard);
1165 
1166     HRESULT (STDMETHODCALLTYPE *SetLowerBound)(
1167         IUIAnimationVariable *This,
1168         double bound);
1169 
1170     HRESULT (STDMETHODCALLTYPE *SetUpperBound)(
1171         IUIAnimationVariable *This,
1172         double bound);
1173 
1174     HRESULT (STDMETHODCALLTYPE *SetRoundingMode)(
1175         IUIAnimationVariable *This,
1176         UI_ANIMATION_ROUNDING_MODE mode);
1177 
1178     HRESULT (STDMETHODCALLTYPE *SetTag)(
1179         IUIAnimationVariable *This,
1180         IUnknown *object,
1181         unsigned int id);
1182 
1183     HRESULT (STDMETHODCALLTYPE *GetTag)(
1184         IUIAnimationVariable *This,
1185         IUnknown **object,
1186         unsigned int *id);
1187 
1188     HRESULT (STDMETHODCALLTYPE *SetVariableChangeHandler)(
1189         IUIAnimationVariable *This,
1190         IUIAnimationVariableChangeHandler *handler);
1191 
1192     HRESULT (STDMETHODCALLTYPE *SetVariableIntegerChangeHandler)(
1193         IUIAnimationVariable *This,
1194         IUIAnimationVariableIntegerChangeHandler *handler);
1195 
1196     END_INTERFACE
1197 } IUIAnimationVariableVtbl;
1198 
1199 interface IUIAnimationVariable {
1200     CONST_VTBL IUIAnimationVariableVtbl* lpVtbl;
1201 };
1202 
1203 #ifdef COBJMACROS
1204 #ifndef WIDL_C_INLINE_WRAPPERS
1205 /*** IUnknown methods ***/
1206 #define IUIAnimationVariable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1207 #define IUIAnimationVariable_AddRef(This) (This)->lpVtbl->AddRef(This)
1208 #define IUIAnimationVariable_Release(This) (This)->lpVtbl->Release(This)
1209 /*** IUIAnimationVariable methods ***/
1210 #define IUIAnimationVariable_GetValue(This,value) (This)->lpVtbl->GetValue(This,value)
1211 #define IUIAnimationVariable_GetFinalValue(This,finalValue) (This)->lpVtbl->GetFinalValue(This,finalValue)
1212 #define IUIAnimationVariable_GetPreviousValue(This,previousValue) (This)->lpVtbl->GetPreviousValue(This,previousValue)
1213 #define IUIAnimationVariable_GetIntegerValue(This,value) (This)->lpVtbl->GetIntegerValue(This,value)
1214 #define IUIAnimationVariable_GetFinalIntegerValue(This,finalValue) (This)->lpVtbl->GetFinalIntegerValue(This,finalValue)
1215 #define IUIAnimationVariable_GetPreviousIntegerValue(This,previousValue) (This)->lpVtbl->GetPreviousIntegerValue(This,previousValue)
1216 #define IUIAnimationVariable_GetCurrentStoryboard(This,storyboard) (This)->lpVtbl->GetCurrentStoryboard(This,storyboard)
1217 #define IUIAnimationVariable_SetLowerBound(This,bound) (This)->lpVtbl->SetLowerBound(This,bound)
1218 #define IUIAnimationVariable_SetUpperBound(This,bound) (This)->lpVtbl->SetUpperBound(This,bound)
1219 #define IUIAnimationVariable_SetRoundingMode(This,mode) (This)->lpVtbl->SetRoundingMode(This,mode)
1220 #define IUIAnimationVariable_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
1221 #define IUIAnimationVariable_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id)
1222 #define IUIAnimationVariable_SetVariableChangeHandler(This,handler) (This)->lpVtbl->SetVariableChangeHandler(This,handler)
1223 #define IUIAnimationVariable_SetVariableIntegerChangeHandler(This,handler) (This)->lpVtbl->SetVariableIntegerChangeHandler(This,handler)
1224 #else
1225 /*** IUnknown methods ***/
1226 static FORCEINLINE HRESULT IUIAnimationVariable_QueryInterface(IUIAnimationVariable* This,REFIID riid,void **ppvObject) {
1227     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1228 }
1229 static FORCEINLINE ULONG IUIAnimationVariable_AddRef(IUIAnimationVariable* This) {
1230     return This->lpVtbl->AddRef(This);
1231 }
1232 static FORCEINLINE ULONG IUIAnimationVariable_Release(IUIAnimationVariable* This) {
1233     return This->lpVtbl->Release(This);
1234 }
1235 /*** IUIAnimationVariable methods ***/
1236 static FORCEINLINE HRESULT IUIAnimationVariable_GetValue(IUIAnimationVariable* This,double *value) {
1237     return This->lpVtbl->GetValue(This,value);
1238 }
1239 static FORCEINLINE HRESULT IUIAnimationVariable_GetFinalValue(IUIAnimationVariable* This,double *finalValue) {
1240     return This->lpVtbl->GetFinalValue(This,finalValue);
1241 }
1242 static FORCEINLINE HRESULT IUIAnimationVariable_GetPreviousValue(IUIAnimationVariable* This,double *previousValue) {
1243     return This->lpVtbl->GetPreviousValue(This,previousValue);
1244 }
1245 static FORCEINLINE HRESULT IUIAnimationVariable_GetIntegerValue(IUIAnimationVariable* This,int *value) {
1246     return This->lpVtbl->GetIntegerValue(This,value);
1247 }
1248 static FORCEINLINE HRESULT IUIAnimationVariable_GetFinalIntegerValue(IUIAnimationVariable* This,int *finalValue) {
1249     return This->lpVtbl->GetFinalIntegerValue(This,finalValue);
1250 }
1251 static FORCEINLINE HRESULT IUIAnimationVariable_GetPreviousIntegerValue(IUIAnimationVariable* This,int *previousValue) {
1252     return This->lpVtbl->GetPreviousIntegerValue(This,previousValue);
1253 }
1254 static FORCEINLINE HRESULT IUIAnimationVariable_GetCurrentStoryboard(IUIAnimationVariable* This,IUIAnimationStoryboard **storyboard) {
1255     return This->lpVtbl->GetCurrentStoryboard(This,storyboard);
1256 }
1257 static FORCEINLINE HRESULT IUIAnimationVariable_SetLowerBound(IUIAnimationVariable* This,double bound) {
1258     return This->lpVtbl->SetLowerBound(This,bound);
1259 }
1260 static FORCEINLINE HRESULT IUIAnimationVariable_SetUpperBound(IUIAnimationVariable* This,double bound) {
1261     return This->lpVtbl->SetUpperBound(This,bound);
1262 }
1263 static FORCEINLINE HRESULT IUIAnimationVariable_SetRoundingMode(IUIAnimationVariable* This,UI_ANIMATION_ROUNDING_MODE mode) {
1264     return This->lpVtbl->SetRoundingMode(This,mode);
1265 }
1266 static FORCEINLINE HRESULT IUIAnimationVariable_SetTag(IUIAnimationVariable* This,IUnknown *object,unsigned int id) {
1267     return This->lpVtbl->SetTag(This,object,id);
1268 }
1269 static FORCEINLINE HRESULT IUIAnimationVariable_GetTag(IUIAnimationVariable* This,IUnknown **object,unsigned int *id) {
1270     return This->lpVtbl->GetTag(This,object,id);
1271 }
1272 static FORCEINLINE HRESULT IUIAnimationVariable_SetVariableChangeHandler(IUIAnimationVariable* This,IUIAnimationVariableChangeHandler *handler) {
1273     return This->lpVtbl->SetVariableChangeHandler(This,handler);
1274 }
1275 static FORCEINLINE HRESULT IUIAnimationVariable_SetVariableIntegerChangeHandler(IUIAnimationVariable* This,IUIAnimationVariableIntegerChangeHandler *handler) {
1276     return This->lpVtbl->SetVariableIntegerChangeHandler(This,handler);
1277 }
1278 #endif
1279 #endif
1280 
1281 #endif
1282 
1283 
1284 #endif  /* __IUIAnimationVariable_INTERFACE_DEFINED__ */
1285 
1286 /*****************************************************************************
1287  * IUIAnimationStoryboard interface
1288  */
1289 #ifndef __IUIAnimationStoryboard_INTERFACE_DEFINED__
1290 #define __IUIAnimationStoryboard_INTERFACE_DEFINED__
1291 
1292 DEFINE_GUID(IID_IUIAnimationStoryboard, 0xa8ff128f, 0x9bf9, 0x4af1, 0x9e,0x67, 0xe5,0xe4,0x10,0xde,0xfb,0x84);
1293 #if defined(__cplusplus) && !defined(CINTERFACE)
1294 MIDL_INTERFACE("a8ff128f-9bf9-4af1-9e67-e5e410defb84")
1295 IUIAnimationStoryboard : public IUnknown
1296 {
1297     virtual HRESULT STDMETHODCALLTYPE AddTransition(
1298         IUIAnimationVariable *variable,
1299         IUIAnimationTransition *transition) = 0;
1300 
1301     virtual HRESULT STDMETHODCALLTYPE AddKeyframeAtOffset(
1302         UI_ANIMATION_KEYFRAME existingKeyframe,
1303         double offset,
1304         UI_ANIMATION_KEYFRAME *keyframe) = 0;
1305 
1306     virtual HRESULT STDMETHODCALLTYPE AddKeyframeAfterTransition(
1307         IUIAnimationTransition *transition,
1308         UI_ANIMATION_KEYFRAME *keyframe) = 0;
1309 
1310     virtual HRESULT STDMETHODCALLTYPE AddTransitionAtKeyframe(
1311         IUIAnimationVariable *variable,
1312         IUIAnimationTransition *transition,
1313         UI_ANIMATION_KEYFRAME startKeyframe) = 0;
1314 
1315     virtual HRESULT STDMETHODCALLTYPE AddTransitionBetweenKeyframes(
1316         IUIAnimationVariable *variable,
1317         IUIAnimationTransition *transition,
1318         UI_ANIMATION_KEYFRAME startKeyframe,
1319         UI_ANIMATION_KEYFRAME endKeyframe) = 0;
1320 
1321     virtual HRESULT STDMETHODCALLTYPE RepeatBetweenKeyframes(
1322         UI_ANIMATION_KEYFRAME startKeyframe,
1323         UI_ANIMATION_KEYFRAME endKeyframe,
1324         int repetitionCount) = 0;
1325 
1326     virtual HRESULT STDMETHODCALLTYPE HoldVariable(
1327         IUIAnimationVariable *variable) = 0;
1328 
1329     virtual HRESULT STDMETHODCALLTYPE SetLongestAcceptableDelay(
1330         double delay) = 0;
1331 
1332     virtual HRESULT STDMETHODCALLTYPE Schedule(
1333         double timeNow,
1334         UI_ANIMATION_SCHEDULING_RESULT *schedulingResult = 0) = 0;
1335 
1336     virtual HRESULT STDMETHODCALLTYPE Conclude(
1337         ) = 0;
1338 
1339     virtual HRESULT STDMETHODCALLTYPE Finish(
1340         double completionDeadline) = 0;
1341 
1342     virtual HRESULT STDMETHODCALLTYPE Abandon(
1343         ) = 0;
1344 
1345     virtual HRESULT STDMETHODCALLTYPE SetTag(
1346         IUnknown *object,
1347         unsigned int id) = 0;
1348 
1349     virtual HRESULT STDMETHODCALLTYPE GetTag(
1350         IUnknown **object,
1351         unsigned int *id) = 0;
1352 
1353     virtual HRESULT STDMETHODCALLTYPE GetStatus(
1354         UI_ANIMATION_STORYBOARD_STATUS *status) = 0;
1355 
1356     virtual HRESULT STDMETHODCALLTYPE GetElapsedTime(
1357         double *elapsedTime) = 0;
1358 
1359     virtual HRESULT STDMETHODCALLTYPE SetStoryboardEventHandler(
1360         IUIAnimationStoryboardEventHandler *handler) = 0;
1361 
1362 };
1363 #ifdef __CRT_UUID_DECL
1364 __CRT_UUID_DECL(IUIAnimationStoryboard, 0xa8ff128f, 0x9bf9, 0x4af1, 0x9e,0x67, 0xe5,0xe4,0x10,0xde,0xfb,0x84)
1365 #endif
1366 #else
1367 typedef struct IUIAnimationStoryboardVtbl {
1368     BEGIN_INTERFACE
1369 
1370     /*** IUnknown methods ***/
1371     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1372         IUIAnimationStoryboard *This,
1373         REFIID riid,
1374         void **ppvObject);
1375 
1376     ULONG (STDMETHODCALLTYPE *AddRef)(
1377         IUIAnimationStoryboard *This);
1378 
1379     ULONG (STDMETHODCALLTYPE *Release)(
1380         IUIAnimationStoryboard *This);
1381 
1382     /*** IUIAnimationStoryboard methods ***/
1383     HRESULT (STDMETHODCALLTYPE *AddTransition)(
1384         IUIAnimationStoryboard *This,
1385         IUIAnimationVariable *variable,
1386         IUIAnimationTransition *transition);
1387 
1388     HRESULT (STDMETHODCALLTYPE *AddKeyframeAtOffset)(
1389         IUIAnimationStoryboard *This,
1390         UI_ANIMATION_KEYFRAME existingKeyframe,
1391         double offset,
1392         UI_ANIMATION_KEYFRAME *keyframe);
1393 
1394     HRESULT (STDMETHODCALLTYPE *AddKeyframeAfterTransition)(
1395         IUIAnimationStoryboard *This,
1396         IUIAnimationTransition *transition,
1397         UI_ANIMATION_KEYFRAME *keyframe);
1398 
1399     HRESULT (STDMETHODCALLTYPE *AddTransitionAtKeyframe)(
1400         IUIAnimationStoryboard *This,
1401         IUIAnimationVariable *variable,
1402         IUIAnimationTransition *transition,
1403         UI_ANIMATION_KEYFRAME startKeyframe);
1404 
1405     HRESULT (STDMETHODCALLTYPE *AddTransitionBetweenKeyframes)(
1406         IUIAnimationStoryboard *This,
1407         IUIAnimationVariable *variable,
1408         IUIAnimationTransition *transition,
1409         UI_ANIMATION_KEYFRAME startKeyframe,
1410         UI_ANIMATION_KEYFRAME endKeyframe);
1411 
1412     HRESULT (STDMETHODCALLTYPE *RepeatBetweenKeyframes)(
1413         IUIAnimationStoryboard *This,
1414         UI_ANIMATION_KEYFRAME startKeyframe,
1415         UI_ANIMATION_KEYFRAME endKeyframe,
1416         int repetitionCount);
1417 
1418     HRESULT (STDMETHODCALLTYPE *HoldVariable)(
1419         IUIAnimationStoryboard *This,
1420         IUIAnimationVariable *variable);
1421 
1422     HRESULT (STDMETHODCALLTYPE *SetLongestAcceptableDelay)(
1423         IUIAnimationStoryboard *This,
1424         double delay);
1425 
1426     HRESULT (STDMETHODCALLTYPE *Schedule)(
1427         IUIAnimationStoryboard *This,
1428         double timeNow,
1429         UI_ANIMATION_SCHEDULING_RESULT *schedulingResult);
1430 
1431     HRESULT (STDMETHODCALLTYPE *Conclude)(
1432         IUIAnimationStoryboard *This);
1433 
1434     HRESULT (STDMETHODCALLTYPE *Finish)(
1435         IUIAnimationStoryboard *This,
1436         double completionDeadline);
1437 
1438     HRESULT (STDMETHODCALLTYPE *Abandon)(
1439         IUIAnimationStoryboard *This);
1440 
1441     HRESULT (STDMETHODCALLTYPE *SetTag)(
1442         IUIAnimationStoryboard *This,
1443         IUnknown *object,
1444         unsigned int id);
1445 
1446     HRESULT (STDMETHODCALLTYPE *GetTag)(
1447         IUIAnimationStoryboard *This,
1448         IUnknown **object,
1449         unsigned int *id);
1450 
1451     HRESULT (STDMETHODCALLTYPE *GetStatus)(
1452         IUIAnimationStoryboard *This,
1453         UI_ANIMATION_STORYBOARD_STATUS *status);
1454 
1455     HRESULT (STDMETHODCALLTYPE *GetElapsedTime)(
1456         IUIAnimationStoryboard *This,
1457         double *elapsedTime);
1458 
1459     HRESULT (STDMETHODCALLTYPE *SetStoryboardEventHandler)(
1460         IUIAnimationStoryboard *This,
1461         IUIAnimationStoryboardEventHandler *handler);
1462 
1463     END_INTERFACE
1464 } IUIAnimationStoryboardVtbl;
1465 
1466 interface IUIAnimationStoryboard {
1467     CONST_VTBL IUIAnimationStoryboardVtbl* lpVtbl;
1468 };
1469 
1470 #ifdef COBJMACROS
1471 #ifndef WIDL_C_INLINE_WRAPPERS
1472 /*** IUnknown methods ***/
1473 #define IUIAnimationStoryboard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1474 #define IUIAnimationStoryboard_AddRef(This) (This)->lpVtbl->AddRef(This)
1475 #define IUIAnimationStoryboard_Release(This) (This)->lpVtbl->Release(This)
1476 /*** IUIAnimationStoryboard methods ***/
1477 #define IUIAnimationStoryboard_AddTransition(This,variable,transition) (This)->lpVtbl->AddTransition(This,variable,transition)
1478 #define IUIAnimationStoryboard_AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) (This)->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe)
1479 #define IUIAnimationStoryboard_AddKeyframeAfterTransition(This,transition,keyframe) (This)->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe)
1480 #define IUIAnimationStoryboard_AddTransitionAtKeyframe(This,variable,transition,startKeyframe) (This)->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe)
1481 #define IUIAnimationStoryboard_AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) (This)->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe)
1482 #define IUIAnimationStoryboard_RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount) (This)->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount)
1483 #define IUIAnimationStoryboard_HoldVariable(This,variable) (This)->lpVtbl->HoldVariable(This,variable)
1484 #define IUIAnimationStoryboard_SetLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetLongestAcceptableDelay(This,delay)
1485 #define IUIAnimationStoryboard_Schedule(This,timeNow,schedulingResult) (This)->lpVtbl->Schedule(This,timeNow,schedulingResult)
1486 #define IUIAnimationStoryboard_Conclude(This) (This)->lpVtbl->Conclude(This)
1487 #define IUIAnimationStoryboard_Finish(This,completionDeadline) (This)->lpVtbl->Finish(This,completionDeadline)
1488 #define IUIAnimationStoryboard_Abandon(This) (This)->lpVtbl->Abandon(This)
1489 #define IUIAnimationStoryboard_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
1490 #define IUIAnimationStoryboard_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id)
1491 #define IUIAnimationStoryboard_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
1492 #define IUIAnimationStoryboard_GetElapsedTime(This,elapsedTime) (This)->lpVtbl->GetElapsedTime(This,elapsedTime)
1493 #define IUIAnimationStoryboard_SetStoryboardEventHandler(This,handler) (This)->lpVtbl->SetStoryboardEventHandler(This,handler)
1494 #else
1495 /*** IUnknown methods ***/
1496 static FORCEINLINE HRESULT IUIAnimationStoryboard_QueryInterface(IUIAnimationStoryboard* This,REFIID riid,void **ppvObject) {
1497     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1498 }
1499 static FORCEINLINE ULONG IUIAnimationStoryboard_AddRef(IUIAnimationStoryboard* This) {
1500     return This->lpVtbl->AddRef(This);
1501 }
1502 static FORCEINLINE ULONG IUIAnimationStoryboard_Release(IUIAnimationStoryboard* This) {
1503     return This->lpVtbl->Release(This);
1504 }
1505 /*** IUIAnimationStoryboard methods ***/
1506 static FORCEINLINE HRESULT IUIAnimationStoryboard_AddTransition(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition) {
1507     return This->lpVtbl->AddTransition(This,variable,transition);
1508 }
1509 static FORCEINLINE HRESULT IUIAnimationStoryboard_AddKeyframeAtOffset(IUIAnimationStoryboard* This,UI_ANIMATION_KEYFRAME existingKeyframe,double offset,UI_ANIMATION_KEYFRAME *keyframe) {
1510     return This->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe);
1511 }
1512 static FORCEINLINE HRESULT IUIAnimationStoryboard_AddKeyframeAfterTransition(IUIAnimationStoryboard* This,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME *keyframe) {
1513     return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe);
1514 }
1515 static FORCEINLINE HRESULT IUIAnimationStoryboard_AddTransitionAtKeyframe(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME startKeyframe) {
1516     return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe);
1517 }
1518 static FORCEINLINE HRESULT IUIAnimationStoryboard_AddTransitionBetweenKeyframes(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe) {
1519     return This->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe);
1520 }
1521 static FORCEINLINE HRESULT IUIAnimationStoryboard_RepeatBetweenKeyframes(IUIAnimationStoryboard* This,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe,int repetitionCount) {
1522     return This->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount);
1523 }
1524 static FORCEINLINE HRESULT IUIAnimationStoryboard_HoldVariable(IUIAnimationStoryboard* This,IUIAnimationVariable *variable) {
1525     return This->lpVtbl->HoldVariable(This,variable);
1526 }
1527 static FORCEINLINE HRESULT IUIAnimationStoryboard_SetLongestAcceptableDelay(IUIAnimationStoryboard* This,double delay) {
1528     return This->lpVtbl->SetLongestAcceptableDelay(This,delay);
1529 }
1530 static FORCEINLINE HRESULT IUIAnimationStoryboard_Schedule(IUIAnimationStoryboard* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) {
1531     return This->lpVtbl->Schedule(This,timeNow,schedulingResult);
1532 }
1533 static FORCEINLINE HRESULT IUIAnimationStoryboard_Conclude(IUIAnimationStoryboard* This) {
1534     return This->lpVtbl->Conclude(This);
1535 }
1536 static FORCEINLINE HRESULT IUIAnimationStoryboard_Finish(IUIAnimationStoryboard* This,double completionDeadline) {
1537     return This->lpVtbl->Finish(This,completionDeadline);
1538 }
1539 static FORCEINLINE HRESULT IUIAnimationStoryboard_Abandon(IUIAnimationStoryboard* This) {
1540     return This->lpVtbl->Abandon(This);
1541 }
1542 static FORCEINLINE HRESULT IUIAnimationStoryboard_SetTag(IUIAnimationStoryboard* This,IUnknown *object,unsigned int id) {
1543     return This->lpVtbl->SetTag(This,object,id);
1544 }
1545 static FORCEINLINE HRESULT IUIAnimationStoryboard_GetTag(IUIAnimationStoryboard* This,IUnknown **object,unsigned int *id) {
1546     return This->lpVtbl->GetTag(This,object,id);
1547 }
1548 static FORCEINLINE HRESULT IUIAnimationStoryboard_GetStatus(IUIAnimationStoryboard* This,UI_ANIMATION_STORYBOARD_STATUS *status) {
1549     return This->lpVtbl->GetStatus(This,status);
1550 }
1551 static FORCEINLINE HRESULT IUIAnimationStoryboard_GetElapsedTime(IUIAnimationStoryboard* This,double *elapsedTime) {
1552     return This->lpVtbl->GetElapsedTime(This,elapsedTime);
1553 }
1554 static FORCEINLINE HRESULT IUIAnimationStoryboard_SetStoryboardEventHandler(IUIAnimationStoryboard* This,IUIAnimationStoryboardEventHandler *handler) {
1555     return This->lpVtbl->SetStoryboardEventHandler(This,handler);
1556 }
1557 #endif
1558 #endif
1559 
1560 #endif
1561 
1562 
1563 #endif  /* __IUIAnimationStoryboard_INTERFACE_DEFINED__ */
1564 
1565 /*****************************************************************************
1566  * IUIAnimationTransition interface
1567  */
1568 #ifndef __IUIAnimationTransition_INTERFACE_DEFINED__
1569 #define __IUIAnimationTransition_INTERFACE_DEFINED__
1570 
1571 DEFINE_GUID(IID_IUIAnimationTransition, 0xdc6ce252, 0xf731, 0x41cf, 0xb6,0x10, 0x61,0x4b,0x6c,0xa0,0x49,0xad);
1572 #if defined(__cplusplus) && !defined(CINTERFACE)
1573 MIDL_INTERFACE("dc6ce252-f731-41cf-b610-614b6ca049ad")
1574 IUIAnimationTransition : public IUnknown
1575 {
1576     virtual HRESULT STDMETHODCALLTYPE SetInitialValue(
1577         double value) = 0;
1578 
1579     virtual HRESULT STDMETHODCALLTYPE SetInitialVelocity(
1580         double velocity) = 0;
1581 
1582     virtual HRESULT STDMETHODCALLTYPE IsDurationKnown(
1583         ) = 0;
1584 
1585     virtual HRESULT STDMETHODCALLTYPE GetDuration(
1586         double *duration) = 0;
1587 
1588 };
1589 #ifdef __CRT_UUID_DECL
1590 __CRT_UUID_DECL(IUIAnimationTransition, 0xdc6ce252, 0xf731, 0x41cf, 0xb6,0x10, 0x61,0x4b,0x6c,0xa0,0x49,0xad)
1591 #endif
1592 #else
1593 typedef struct IUIAnimationTransitionVtbl {
1594     BEGIN_INTERFACE
1595 
1596     /*** IUnknown methods ***/
1597     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1598         IUIAnimationTransition *This,
1599         REFIID riid,
1600         void **ppvObject);
1601 
1602     ULONG (STDMETHODCALLTYPE *AddRef)(
1603         IUIAnimationTransition *This);
1604 
1605     ULONG (STDMETHODCALLTYPE *Release)(
1606         IUIAnimationTransition *This);
1607 
1608     /*** IUIAnimationTransition methods ***/
1609     HRESULT (STDMETHODCALLTYPE *SetInitialValue)(
1610         IUIAnimationTransition *This,
1611         double value);
1612 
1613     HRESULT (STDMETHODCALLTYPE *SetInitialVelocity)(
1614         IUIAnimationTransition *This,
1615         double velocity);
1616 
1617     HRESULT (STDMETHODCALLTYPE *IsDurationKnown)(
1618         IUIAnimationTransition *This);
1619 
1620     HRESULT (STDMETHODCALLTYPE *GetDuration)(
1621         IUIAnimationTransition *This,
1622         double *duration);
1623 
1624     END_INTERFACE
1625 } IUIAnimationTransitionVtbl;
1626 
1627 interface IUIAnimationTransition {
1628     CONST_VTBL IUIAnimationTransitionVtbl* lpVtbl;
1629 };
1630 
1631 #ifdef COBJMACROS
1632 #ifndef WIDL_C_INLINE_WRAPPERS
1633 /*** IUnknown methods ***/
1634 #define IUIAnimationTransition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1635 #define IUIAnimationTransition_AddRef(This) (This)->lpVtbl->AddRef(This)
1636 #define IUIAnimationTransition_Release(This) (This)->lpVtbl->Release(This)
1637 /*** IUIAnimationTransition methods ***/
1638 #define IUIAnimationTransition_SetInitialValue(This,value) (This)->lpVtbl->SetInitialValue(This,value)
1639 #define IUIAnimationTransition_SetInitialVelocity(This,velocity) (This)->lpVtbl->SetInitialVelocity(This,velocity)
1640 #define IUIAnimationTransition_IsDurationKnown(This) (This)->lpVtbl->IsDurationKnown(This)
1641 #define IUIAnimationTransition_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
1642 #else
1643 /*** IUnknown methods ***/
1644 static FORCEINLINE HRESULT IUIAnimationTransition_QueryInterface(IUIAnimationTransition* This,REFIID riid,void **ppvObject) {
1645     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1646 }
1647 static FORCEINLINE ULONG IUIAnimationTransition_AddRef(IUIAnimationTransition* This) {
1648     return This->lpVtbl->AddRef(This);
1649 }
1650 static FORCEINLINE ULONG IUIAnimationTransition_Release(IUIAnimationTransition* This) {
1651     return This->lpVtbl->Release(This);
1652 }
1653 /*** IUIAnimationTransition methods ***/
1654 static FORCEINLINE HRESULT IUIAnimationTransition_SetInitialValue(IUIAnimationTransition* This,double value) {
1655     return This->lpVtbl->SetInitialValue(This,value);
1656 }
1657 static FORCEINLINE HRESULT IUIAnimationTransition_SetInitialVelocity(IUIAnimationTransition* This,double velocity) {
1658     return This->lpVtbl->SetInitialVelocity(This,velocity);
1659 }
1660 static FORCEINLINE HRESULT IUIAnimationTransition_IsDurationKnown(IUIAnimationTransition* This) {
1661     return This->lpVtbl->IsDurationKnown(This);
1662 }
1663 static FORCEINLINE HRESULT IUIAnimationTransition_GetDuration(IUIAnimationTransition* This,double *duration) {
1664     return This->lpVtbl->GetDuration(This,duration);
1665 }
1666 #endif
1667 #endif
1668 
1669 #endif
1670 
1671 
1672 #endif  /* __IUIAnimationTransition_INTERFACE_DEFINED__ */
1673 
1674 /*****************************************************************************
1675  * IUIAnimationStoryboardEventHandler interface
1676  */
1677 #ifndef __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__
1678 #define __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__
1679 
1680 DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler, 0x3d5c9008, 0xec7c, 0x4364, 0x9f,0x8a, 0x9a,0xf3,0xc5,0x8c,0xba,0xe6);
1681 #if defined(__cplusplus) && !defined(CINTERFACE)
1682 MIDL_INTERFACE("3d5c9008-ec7c-4364-9f8a-9af3c58cbae6")
1683 IUIAnimationStoryboardEventHandler : public IUnknown
1684 {
1685     virtual HRESULT STDMETHODCALLTYPE OnStoryboardStatusChanged(
1686         IUIAnimationStoryboard *storyboard,
1687         UI_ANIMATION_STORYBOARD_STATUS newStatus,
1688         UI_ANIMATION_STORYBOARD_STATUS previousStatus) = 0;
1689 
1690     virtual HRESULT STDMETHODCALLTYPE OnStoryboardUpdated(
1691         IUIAnimationStoryboard *storyboard) = 0;
1692 
1693 };
1694 #ifdef __CRT_UUID_DECL
1695 __CRT_UUID_DECL(IUIAnimationStoryboardEventHandler, 0x3d5c9008, 0xec7c, 0x4364, 0x9f,0x8a, 0x9a,0xf3,0xc5,0x8c,0xba,0xe6)
1696 #endif
1697 #else
1698 typedef struct IUIAnimationStoryboardEventHandlerVtbl {
1699     BEGIN_INTERFACE
1700 
1701     /*** IUnknown methods ***/
1702     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1703         IUIAnimationStoryboardEventHandler *This,
1704         REFIID riid,
1705         void **ppvObject);
1706 
1707     ULONG (STDMETHODCALLTYPE *AddRef)(
1708         IUIAnimationStoryboardEventHandler *This);
1709 
1710     ULONG (STDMETHODCALLTYPE *Release)(
1711         IUIAnimationStoryboardEventHandler *This);
1712 
1713     /*** IUIAnimationStoryboardEventHandler methods ***/
1714     HRESULT (STDMETHODCALLTYPE *OnStoryboardStatusChanged)(
1715         IUIAnimationStoryboardEventHandler *This,
1716         IUIAnimationStoryboard *storyboard,
1717         UI_ANIMATION_STORYBOARD_STATUS newStatus,
1718         UI_ANIMATION_STORYBOARD_STATUS previousStatus);
1719 
1720     HRESULT (STDMETHODCALLTYPE *OnStoryboardUpdated)(
1721         IUIAnimationStoryboardEventHandler *This,
1722         IUIAnimationStoryboard *storyboard);
1723 
1724     END_INTERFACE
1725 } IUIAnimationStoryboardEventHandlerVtbl;
1726 
1727 interface IUIAnimationStoryboardEventHandler {
1728     CONST_VTBL IUIAnimationStoryboardEventHandlerVtbl* lpVtbl;
1729 };
1730 
1731 #ifdef COBJMACROS
1732 #ifndef WIDL_C_INLINE_WRAPPERS
1733 /*** IUnknown methods ***/
1734 #define IUIAnimationStoryboardEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1735 #define IUIAnimationStoryboardEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
1736 #define IUIAnimationStoryboardEventHandler_Release(This) (This)->lpVtbl->Release(This)
1737 /*** IUIAnimationStoryboardEventHandler methods ***/
1738 #define IUIAnimationStoryboardEventHandler_OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) (This)->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus)
1739 #define IUIAnimationStoryboardEventHandler_OnStoryboardUpdated(This,storyboard) (This)->lpVtbl->OnStoryboardUpdated(This,storyboard)
1740 #else
1741 /*** IUnknown methods ***/
1742 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler_QueryInterface(IUIAnimationStoryboardEventHandler* This,REFIID riid,void **ppvObject) {
1743     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1744 }
1745 static FORCEINLINE ULONG IUIAnimationStoryboardEventHandler_AddRef(IUIAnimationStoryboardEventHandler* This) {
1746     return This->lpVtbl->AddRef(This);
1747 }
1748 static FORCEINLINE ULONG IUIAnimationStoryboardEventHandler_Release(IUIAnimationStoryboardEventHandler* This) {
1749     return This->lpVtbl->Release(This);
1750 }
1751 /*** IUIAnimationStoryboardEventHandler methods ***/
1752 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler_OnStoryboardStatusChanged(IUIAnimationStoryboardEventHandler* This,IUIAnimationStoryboard *storyboard,UI_ANIMATION_STORYBOARD_STATUS newStatus,UI_ANIMATION_STORYBOARD_STATUS previousStatus) {
1753     return This->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus);
1754 }
1755 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler_OnStoryboardUpdated(IUIAnimationStoryboardEventHandler* This,IUIAnimationStoryboard *storyboard) {
1756     return This->lpVtbl->OnStoryboardUpdated(This,storyboard);
1757 }
1758 #endif
1759 #endif
1760 
1761 #endif
1762 
1763 
1764 #endif  /* __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__ */
1765 
1766 /*****************************************************************************
1767  * IUIAnimationVariableChangeHandler interface
1768  */
1769 #ifndef __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__
1770 #define __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__
1771 
1772 DEFINE_GUID(IID_IUIAnimationVariableChangeHandler, 0x6358b7ba, 0x87d2, 0x42d5, 0xbf,0x71, 0x82,0xe9,0x19,0xdd,0x58,0x62);
1773 #if defined(__cplusplus) && !defined(CINTERFACE)
1774 MIDL_INTERFACE("6358b7ba-87d2-42d5-bf71-82e919dd5862")
1775 IUIAnimationVariableChangeHandler : public IUnknown
1776 {
1777     virtual HRESULT STDMETHODCALLTYPE OnValueChanged(
1778         IUIAnimationStoryboard *storyboard,
1779         IUIAnimationVariable *variable,
1780         double newValue,
1781         double previousValue) = 0;
1782 
1783 };
1784 #ifdef __CRT_UUID_DECL
1785 __CRT_UUID_DECL(IUIAnimationVariableChangeHandler, 0x6358b7ba, 0x87d2, 0x42d5, 0xbf,0x71, 0x82,0xe9,0x19,0xdd,0x58,0x62)
1786 #endif
1787 #else
1788 typedef struct IUIAnimationVariableChangeHandlerVtbl {
1789     BEGIN_INTERFACE
1790 
1791     /*** IUnknown methods ***/
1792     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1793         IUIAnimationVariableChangeHandler *This,
1794         REFIID riid,
1795         void **ppvObject);
1796 
1797     ULONG (STDMETHODCALLTYPE *AddRef)(
1798         IUIAnimationVariableChangeHandler *This);
1799 
1800     ULONG (STDMETHODCALLTYPE *Release)(
1801         IUIAnimationVariableChangeHandler *This);
1802 
1803     /*** IUIAnimationVariableChangeHandler methods ***/
1804     HRESULT (STDMETHODCALLTYPE *OnValueChanged)(
1805         IUIAnimationVariableChangeHandler *This,
1806         IUIAnimationStoryboard *storyboard,
1807         IUIAnimationVariable *variable,
1808         double newValue,
1809         double previousValue);
1810 
1811     END_INTERFACE
1812 } IUIAnimationVariableChangeHandlerVtbl;
1813 
1814 interface IUIAnimationVariableChangeHandler {
1815     CONST_VTBL IUIAnimationVariableChangeHandlerVtbl* lpVtbl;
1816 };
1817 
1818 #ifdef COBJMACROS
1819 #ifndef WIDL_C_INLINE_WRAPPERS
1820 /*** IUnknown methods ***/
1821 #define IUIAnimationVariableChangeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1822 #define IUIAnimationVariableChangeHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
1823 #define IUIAnimationVariableChangeHandler_Release(This) (This)->lpVtbl->Release(This)
1824 /*** IUIAnimationVariableChangeHandler methods ***/
1825 #define IUIAnimationVariableChangeHandler_OnValueChanged(This,storyboard,variable,newValue,previousValue) (This)->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue)
1826 #else
1827 /*** IUnknown methods ***/
1828 static FORCEINLINE HRESULT IUIAnimationVariableChangeHandler_QueryInterface(IUIAnimationVariableChangeHandler* This,REFIID riid,void **ppvObject) {
1829     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1830 }
1831 static FORCEINLINE ULONG IUIAnimationVariableChangeHandler_AddRef(IUIAnimationVariableChangeHandler* This) {
1832     return This->lpVtbl->AddRef(This);
1833 }
1834 static FORCEINLINE ULONG IUIAnimationVariableChangeHandler_Release(IUIAnimationVariableChangeHandler* This) {
1835     return This->lpVtbl->Release(This);
1836 }
1837 /*** IUIAnimationVariableChangeHandler methods ***/
1838 static FORCEINLINE HRESULT IUIAnimationVariableChangeHandler_OnValueChanged(IUIAnimationVariableChangeHandler* This,IUIAnimationStoryboard *storyboard,IUIAnimationVariable *variable,double newValue,double previousValue) {
1839     return This->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue);
1840 }
1841 #endif
1842 #endif
1843 
1844 #endif
1845 
1846 
1847 #endif  /* __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__ */
1848 
1849 /*****************************************************************************
1850  * IUIAnimationVariableIntegerChangeHandler interface
1851  */
1852 #ifndef __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__
1853 #define __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__
1854 
1855 DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler, 0xbb3e1550, 0x356e, 0x44b0, 0x99,0xda, 0x85,0xac,0x60,0x17,0x86,0x5e);
1856 #if defined(__cplusplus) && !defined(CINTERFACE)
1857 MIDL_INTERFACE("bb3e1550-356e-44b0-99da-85ac6017865e")
1858 IUIAnimationVariableIntegerChangeHandler : public IUnknown
1859 {
1860     virtual HRESULT STDMETHODCALLTYPE OnIntegerValueChanged(
1861         IUIAnimationStoryboard *storyboard,
1862         IUIAnimationVariable *variable,
1863         int newValue,
1864         int previousValue) = 0;
1865 
1866 };
1867 #ifdef __CRT_UUID_DECL
1868 __CRT_UUID_DECL(IUIAnimationVariableIntegerChangeHandler, 0xbb3e1550, 0x356e, 0x44b0, 0x99,0xda, 0x85,0xac,0x60,0x17,0x86,0x5e)
1869 #endif
1870 #else
1871 typedef struct IUIAnimationVariableIntegerChangeHandlerVtbl {
1872     BEGIN_INTERFACE
1873 
1874     /*** IUnknown methods ***/
1875     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1876         IUIAnimationVariableIntegerChangeHandler *This,
1877         REFIID riid,
1878         void **ppvObject);
1879 
1880     ULONG (STDMETHODCALLTYPE *AddRef)(
1881         IUIAnimationVariableIntegerChangeHandler *This);
1882 
1883     ULONG (STDMETHODCALLTYPE *Release)(
1884         IUIAnimationVariableIntegerChangeHandler *This);
1885 
1886     /*** IUIAnimationVariableIntegerChangeHandler methods ***/
1887     HRESULT (STDMETHODCALLTYPE *OnIntegerValueChanged)(
1888         IUIAnimationVariableIntegerChangeHandler *This,
1889         IUIAnimationStoryboard *storyboard,
1890         IUIAnimationVariable *variable,
1891         int newValue,
1892         int previousValue);
1893 
1894     END_INTERFACE
1895 } IUIAnimationVariableIntegerChangeHandlerVtbl;
1896 
1897 interface IUIAnimationVariableIntegerChangeHandler {
1898     CONST_VTBL IUIAnimationVariableIntegerChangeHandlerVtbl* lpVtbl;
1899 };
1900 
1901 #ifdef COBJMACROS
1902 #ifndef WIDL_C_INLINE_WRAPPERS
1903 /*** IUnknown methods ***/
1904 #define IUIAnimationVariableIntegerChangeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1905 #define IUIAnimationVariableIntegerChangeHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
1906 #define IUIAnimationVariableIntegerChangeHandler_Release(This) (This)->lpVtbl->Release(This)
1907 /*** IUIAnimationVariableIntegerChangeHandler methods ***/
1908 #define IUIAnimationVariableIntegerChangeHandler_OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue) (This)->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue)
1909 #else
1910 /*** IUnknown methods ***/
1911 static FORCEINLINE HRESULT IUIAnimationVariableIntegerChangeHandler_QueryInterface(IUIAnimationVariableIntegerChangeHandler* This,REFIID riid,void **ppvObject) {
1912     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1913 }
1914 static FORCEINLINE ULONG IUIAnimationVariableIntegerChangeHandler_AddRef(IUIAnimationVariableIntegerChangeHandler* This) {
1915     return This->lpVtbl->AddRef(This);
1916 }
1917 static FORCEINLINE ULONG IUIAnimationVariableIntegerChangeHandler_Release(IUIAnimationVariableIntegerChangeHandler* This) {
1918     return This->lpVtbl->Release(This);
1919 }
1920 /*** IUIAnimationVariableIntegerChangeHandler methods ***/
1921 static FORCEINLINE HRESULT IUIAnimationVariableIntegerChangeHandler_OnIntegerValueChanged(IUIAnimationVariableIntegerChangeHandler* This,IUIAnimationStoryboard *storyboard,IUIAnimationVariable *variable,int newValue,int previousValue) {
1922     return This->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue);
1923 }
1924 #endif
1925 #endif
1926 
1927 #endif
1928 
1929 
1930 #endif  /* __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__ */
1931 
1932 /*****************************************************************************
1933  * IUIAnimationManagerEventHandler interface
1934  */
1935 #ifndef __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__
1936 #define __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__
1937 
1938 DEFINE_GUID(IID_IUIAnimationManagerEventHandler, 0x783321ed, 0x78a3, 0x4366, 0xb5,0x74, 0x6a,0xf6,0x07,0xa6,0x47,0x88);
1939 #if defined(__cplusplus) && !defined(CINTERFACE)
1940 MIDL_INTERFACE("783321ed-78a3-4366-b574-6af607a64788")
1941 IUIAnimationManagerEventHandler : public IUnknown
1942 {
1943     virtual HRESULT STDMETHODCALLTYPE OnManagerStatusChanged(
1944         UI_ANIMATION_MANAGER_STATUS newStatus,
1945         UI_ANIMATION_MANAGER_STATUS previousStatus) = 0;
1946 
1947 };
1948 #ifdef __CRT_UUID_DECL
1949 __CRT_UUID_DECL(IUIAnimationManagerEventHandler, 0x783321ed, 0x78a3, 0x4366, 0xb5,0x74, 0x6a,0xf6,0x07,0xa6,0x47,0x88)
1950 #endif
1951 #else
1952 typedef struct IUIAnimationManagerEventHandlerVtbl {
1953     BEGIN_INTERFACE
1954 
1955     /*** IUnknown methods ***/
1956     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1957         IUIAnimationManagerEventHandler *This,
1958         REFIID riid,
1959         void **ppvObject);
1960 
1961     ULONG (STDMETHODCALLTYPE *AddRef)(
1962         IUIAnimationManagerEventHandler *This);
1963 
1964     ULONG (STDMETHODCALLTYPE *Release)(
1965         IUIAnimationManagerEventHandler *This);
1966 
1967     /*** IUIAnimationManagerEventHandler methods ***/
1968     HRESULT (STDMETHODCALLTYPE *OnManagerStatusChanged)(
1969         IUIAnimationManagerEventHandler *This,
1970         UI_ANIMATION_MANAGER_STATUS newStatus,
1971         UI_ANIMATION_MANAGER_STATUS previousStatus);
1972 
1973     END_INTERFACE
1974 } IUIAnimationManagerEventHandlerVtbl;
1975 
1976 interface IUIAnimationManagerEventHandler {
1977     CONST_VTBL IUIAnimationManagerEventHandlerVtbl* lpVtbl;
1978 };
1979 
1980 #ifdef COBJMACROS
1981 #ifndef WIDL_C_INLINE_WRAPPERS
1982 /*** IUnknown methods ***/
1983 #define IUIAnimationManagerEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1984 #define IUIAnimationManagerEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
1985 #define IUIAnimationManagerEventHandler_Release(This) (This)->lpVtbl->Release(This)
1986 /*** IUIAnimationManagerEventHandler methods ***/
1987 #define IUIAnimationManagerEventHandler_OnManagerStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus)
1988 #else
1989 /*** IUnknown methods ***/
1990 static FORCEINLINE HRESULT IUIAnimationManagerEventHandler_QueryInterface(IUIAnimationManagerEventHandler* This,REFIID riid,void **ppvObject) {
1991     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1992 }
1993 static FORCEINLINE ULONG IUIAnimationManagerEventHandler_AddRef(IUIAnimationManagerEventHandler* This) {
1994     return This->lpVtbl->AddRef(This);
1995 }
1996 static FORCEINLINE ULONG IUIAnimationManagerEventHandler_Release(IUIAnimationManagerEventHandler* This) {
1997     return This->lpVtbl->Release(This);
1998 }
1999 /*** IUIAnimationManagerEventHandler methods ***/
2000 static FORCEINLINE HRESULT IUIAnimationManagerEventHandler_OnManagerStatusChanged(IUIAnimationManagerEventHandler* This,UI_ANIMATION_MANAGER_STATUS newStatus,UI_ANIMATION_MANAGER_STATUS previousStatus) {
2001     return This->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus);
2002 }
2003 #endif
2004 #endif
2005 
2006 #endif
2007 
2008 
2009 #endif  /* __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__ */
2010 
2011 /*****************************************************************************
2012  * IUIAnimationPriorityComparison interface
2013  */
2014 #ifndef __IUIAnimationPriorityComparison_INTERFACE_DEFINED__
2015 #define __IUIAnimationPriorityComparison_INTERFACE_DEFINED__
2016 
2017 DEFINE_GUID(IID_IUIAnimationPriorityComparison, 0x83fa9b74, 0x5f86, 0x4618, 0xbc,0x6a, 0xa2,0xfa,0xc1,0x9b,0x3f,0x44);
2018 #if defined(__cplusplus) && !defined(CINTERFACE)
2019 MIDL_INTERFACE("83fa9b74-5f86-4618-bc6a-a2fac19b3f44")
2020 IUIAnimationPriorityComparison : public IUnknown
2021 {
2022     virtual HRESULT STDMETHODCALLTYPE HasPriority(
2023         IUIAnimationStoryboard *scheduledStoryboard,
2024         IUIAnimationStoryboard *newStoryboard,
2025         UI_ANIMATION_PRIORITY_EFFECT priorityEffect) = 0;
2026 
2027 };
2028 #ifdef __CRT_UUID_DECL
2029 __CRT_UUID_DECL(IUIAnimationPriorityComparison, 0x83fa9b74, 0x5f86, 0x4618, 0xbc,0x6a, 0xa2,0xfa,0xc1,0x9b,0x3f,0x44)
2030 #endif
2031 #else
2032 typedef struct IUIAnimationPriorityComparisonVtbl {
2033     BEGIN_INTERFACE
2034 
2035     /*** IUnknown methods ***/
2036     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2037         IUIAnimationPriorityComparison *This,
2038         REFIID riid,
2039         void **ppvObject);
2040 
2041     ULONG (STDMETHODCALLTYPE *AddRef)(
2042         IUIAnimationPriorityComparison *This);
2043 
2044     ULONG (STDMETHODCALLTYPE *Release)(
2045         IUIAnimationPriorityComparison *This);
2046 
2047     /*** IUIAnimationPriorityComparison methods ***/
2048     HRESULT (STDMETHODCALLTYPE *HasPriority)(
2049         IUIAnimationPriorityComparison *This,
2050         IUIAnimationStoryboard *scheduledStoryboard,
2051         IUIAnimationStoryboard *newStoryboard,
2052         UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
2053 
2054     END_INTERFACE
2055 } IUIAnimationPriorityComparisonVtbl;
2056 
2057 interface IUIAnimationPriorityComparison {
2058     CONST_VTBL IUIAnimationPriorityComparisonVtbl* lpVtbl;
2059 };
2060 
2061 #ifdef COBJMACROS
2062 #ifndef WIDL_C_INLINE_WRAPPERS
2063 /*** IUnknown methods ***/
2064 #define IUIAnimationPriorityComparison_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2065 #define IUIAnimationPriorityComparison_AddRef(This) (This)->lpVtbl->AddRef(This)
2066 #define IUIAnimationPriorityComparison_Release(This) (This)->lpVtbl->Release(This)
2067 /*** IUIAnimationPriorityComparison methods ***/
2068 #define IUIAnimationPriorityComparison_HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) (This)->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect)
2069 #else
2070 /*** IUnknown methods ***/
2071 static FORCEINLINE HRESULT IUIAnimationPriorityComparison_QueryInterface(IUIAnimationPriorityComparison* This,REFIID riid,void **ppvObject) {
2072     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2073 }
2074 static FORCEINLINE ULONG IUIAnimationPriorityComparison_AddRef(IUIAnimationPriorityComparison* This) {
2075     return This->lpVtbl->AddRef(This);
2076 }
2077 static FORCEINLINE ULONG IUIAnimationPriorityComparison_Release(IUIAnimationPriorityComparison* This) {
2078     return This->lpVtbl->Release(This);
2079 }
2080 /*** IUIAnimationPriorityComparison methods ***/
2081 static FORCEINLINE HRESULT IUIAnimationPriorityComparison_HasPriority(IUIAnimationPriorityComparison* This,IUIAnimationStoryboard *scheduledStoryboard,IUIAnimationStoryboard *newStoryboard,UI_ANIMATION_PRIORITY_EFFECT priorityEffect) {
2082     return This->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect);
2083 }
2084 #endif
2085 #endif
2086 
2087 #endif
2088 
2089 
2090 #endif  /* __IUIAnimationPriorityComparison_INTERFACE_DEFINED__ */
2091 
2092 /*****************************************************************************
2093  * IUIAnimationManager2 interface
2094  */
2095 #ifndef __IUIAnimationManager2_INTERFACE_DEFINED__
2096 #define __IUIAnimationManager2_INTERFACE_DEFINED__
2097 
2098 DEFINE_GUID(IID_IUIAnimationManager2, 0xd8b6f7d4, 0x4109, 0x4d3f, 0xac,0xee, 0x87,0x99,0x26,0x96,0x8c,0xb1);
2099 #if defined(__cplusplus) && !defined(CINTERFACE)
2100 MIDL_INTERFACE("d8b6f7d4-4109-4d3f-acee-879926968cb1")
2101 IUIAnimationManager2 : public IUnknown
2102 {
2103     virtual HRESULT STDMETHODCALLTYPE CreateAnimationVectorVariable(
2104         double *initialValue,
2105         unsigned int cDimension,
2106         IUIAnimationVariable2 **variable) = 0;
2107 
2108     virtual HRESULT STDMETHODCALLTYPE CreateAnimationVariable(
2109         double initialValue,
2110         IUIAnimationVariable2 **variable) = 0;
2111 
2112     virtual HRESULT STDMETHODCALLTYPE ScheduleTransition(
2113         IUIAnimationVariable2 *variable,
2114         IUIAnimationTransition2 *transition,
2115         double timeNow) = 0;
2116 
2117     virtual HRESULT STDMETHODCALLTYPE CreateStoryboard(
2118         IUIAnimationStoryboard2 **storyboard) = 0;
2119 
2120     virtual HRESULT STDMETHODCALLTYPE FinishAllStoryboards(
2121         double completionDeadline) = 0;
2122 
2123     virtual HRESULT STDMETHODCALLTYPE AbandonAllStoryboards(
2124         ) = 0;
2125 
2126     virtual HRESULT STDMETHODCALLTYPE Update(
2127         double timeNow,
2128         UI_ANIMATION_UPDATE_RESULT *updateResult = 0) = 0;
2129 
2130     virtual HRESULT STDMETHODCALLTYPE GetVariableFromTag(
2131         IUnknown *object,
2132         UINT32 id,
2133         IUIAnimationVariable2 **variable) = 0;
2134 
2135     virtual HRESULT STDMETHODCALLTYPE GetStoryboardFromTag(
2136         IUnknown *object,
2137         unsigned int id,
2138         IUIAnimationStoryboard2 **storyboard) = 0;
2139 
2140     virtual HRESULT STDMETHODCALLTYPE EstimateNextEventTime(
2141         double *seconds) = 0;
2142 
2143     virtual HRESULT STDMETHODCALLTYPE GetStatus(
2144         UI_ANIMATION_MANAGER_STATUS *status) = 0;
2145 
2146     virtual HRESULT STDMETHODCALLTYPE SetAnimationMode(
2147         UI_ANIMATION_MODE mode) = 0;
2148 
2149     virtual HRESULT STDMETHODCALLTYPE Pause(
2150         ) = 0;
2151 
2152     virtual HRESULT STDMETHODCALLTYPE Resume(
2153         ) = 0;
2154 
2155     virtual HRESULT STDMETHODCALLTYPE SetManagerEventHandler(
2156         IUIAnimationManagerEventHandler2 *handler,
2157         LONG fRegisterForNextAnimationEvent = FALSE) = 0;
2158 
2159     virtual HRESULT STDMETHODCALLTYPE SetCancelPriorityComparison(
2160         IUIAnimationPriorityComparison2 *comparison) = 0;
2161 
2162     virtual HRESULT STDMETHODCALLTYPE SetTrimPriorityComparison(
2163         IUIAnimationPriorityComparison2 *comparison) = 0;
2164 
2165     virtual HRESULT STDMETHODCALLTYPE SetCompressPriorityComparison(
2166         IUIAnimationPriorityComparison2 *comparison) = 0;
2167 
2168     virtual HRESULT STDMETHODCALLTYPE SetConcludePriorityComparison(
2169         IUIAnimationPriorityComparison2 *comparison) = 0;
2170 
2171     virtual HRESULT STDMETHODCALLTYPE SetDefaultLongestAcceptableDelay(
2172         double delay) = 0;
2173 
2174     virtual HRESULT STDMETHODCALLTYPE Shutdown(
2175         ) = 0;
2176 
2177 };
2178 #ifdef __CRT_UUID_DECL
2179 __CRT_UUID_DECL(IUIAnimationManager2, 0xd8b6f7d4, 0x4109, 0x4d3f, 0xac,0xee, 0x87,0x99,0x26,0x96,0x8c,0xb1)
2180 #endif
2181 #else
2182 typedef struct IUIAnimationManager2Vtbl {
2183     BEGIN_INTERFACE
2184 
2185     /*** IUnknown methods ***/
2186     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2187         IUIAnimationManager2 *This,
2188         REFIID riid,
2189         void **ppvObject);
2190 
2191     ULONG (STDMETHODCALLTYPE *AddRef)(
2192         IUIAnimationManager2 *This);
2193 
2194     ULONG (STDMETHODCALLTYPE *Release)(
2195         IUIAnimationManager2 *This);
2196 
2197     /*** IUIAnimationManager2 methods ***/
2198     HRESULT (STDMETHODCALLTYPE *CreateAnimationVectorVariable)(
2199         IUIAnimationManager2 *This,
2200         double *initialValue,
2201         unsigned int cDimension,
2202         IUIAnimationVariable2 **variable);
2203 
2204     HRESULT (STDMETHODCALLTYPE *CreateAnimationVariable)(
2205         IUIAnimationManager2 *This,
2206         double initialValue,
2207         IUIAnimationVariable2 **variable);
2208 
2209     HRESULT (STDMETHODCALLTYPE *ScheduleTransition)(
2210         IUIAnimationManager2 *This,
2211         IUIAnimationVariable2 *variable,
2212         IUIAnimationTransition2 *transition,
2213         double timeNow);
2214 
2215     HRESULT (STDMETHODCALLTYPE *CreateStoryboard)(
2216         IUIAnimationManager2 *This,
2217         IUIAnimationStoryboard2 **storyboard);
2218 
2219     HRESULT (STDMETHODCALLTYPE *FinishAllStoryboards)(
2220         IUIAnimationManager2 *This,
2221         double completionDeadline);
2222 
2223     HRESULT (STDMETHODCALLTYPE *AbandonAllStoryboards)(
2224         IUIAnimationManager2 *This);
2225 
2226     HRESULT (STDMETHODCALLTYPE *Update)(
2227         IUIAnimationManager2 *This,
2228         double timeNow,
2229         UI_ANIMATION_UPDATE_RESULT *updateResult);
2230 
2231     HRESULT (STDMETHODCALLTYPE *GetVariableFromTag)(
2232         IUIAnimationManager2 *This,
2233         IUnknown *object,
2234         UINT32 id,
2235         IUIAnimationVariable2 **variable);
2236 
2237     HRESULT (STDMETHODCALLTYPE *GetStoryboardFromTag)(
2238         IUIAnimationManager2 *This,
2239         IUnknown *object,
2240         unsigned int id,
2241         IUIAnimationStoryboard2 **storyboard);
2242 
2243     HRESULT (STDMETHODCALLTYPE *EstimateNextEventTime)(
2244         IUIAnimationManager2 *This,
2245         double *seconds);
2246 
2247     HRESULT (STDMETHODCALLTYPE *GetStatus)(
2248         IUIAnimationManager2 *This,
2249         UI_ANIMATION_MANAGER_STATUS *status);
2250 
2251     HRESULT (STDMETHODCALLTYPE *SetAnimationMode)(
2252         IUIAnimationManager2 *This,
2253         UI_ANIMATION_MODE mode);
2254 
2255     HRESULT (STDMETHODCALLTYPE *Pause)(
2256         IUIAnimationManager2 *This);
2257 
2258     HRESULT (STDMETHODCALLTYPE *Resume)(
2259         IUIAnimationManager2 *This);
2260 
2261     HRESULT (STDMETHODCALLTYPE *SetManagerEventHandler)(
2262         IUIAnimationManager2 *This,
2263         IUIAnimationManagerEventHandler2 *handler,
2264         LONG fRegisterForNextAnimationEvent);
2265 
2266     HRESULT (STDMETHODCALLTYPE *SetCancelPriorityComparison)(
2267         IUIAnimationManager2 *This,
2268         IUIAnimationPriorityComparison2 *comparison);
2269 
2270     HRESULT (STDMETHODCALLTYPE *SetTrimPriorityComparison)(
2271         IUIAnimationManager2 *This,
2272         IUIAnimationPriorityComparison2 *comparison);
2273 
2274     HRESULT (STDMETHODCALLTYPE *SetCompressPriorityComparison)(
2275         IUIAnimationManager2 *This,
2276         IUIAnimationPriorityComparison2 *comparison);
2277 
2278     HRESULT (STDMETHODCALLTYPE *SetConcludePriorityComparison)(
2279         IUIAnimationManager2 *This,
2280         IUIAnimationPriorityComparison2 *comparison);
2281 
2282     HRESULT (STDMETHODCALLTYPE *SetDefaultLongestAcceptableDelay)(
2283         IUIAnimationManager2 *This,
2284         double delay);
2285 
2286     HRESULT (STDMETHODCALLTYPE *Shutdown)(
2287         IUIAnimationManager2 *This);
2288 
2289     END_INTERFACE
2290 } IUIAnimationManager2Vtbl;
2291 
2292 interface IUIAnimationManager2 {
2293     CONST_VTBL IUIAnimationManager2Vtbl* lpVtbl;
2294 };
2295 
2296 #ifdef COBJMACROS
2297 #ifndef WIDL_C_INLINE_WRAPPERS
2298 /*** IUnknown methods ***/
2299 #define IUIAnimationManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2300 #define IUIAnimationManager2_AddRef(This) (This)->lpVtbl->AddRef(This)
2301 #define IUIAnimationManager2_Release(This) (This)->lpVtbl->Release(This)
2302 /*** IUIAnimationManager2 methods ***/
2303 #define IUIAnimationManager2_CreateAnimationVectorVariable(This,initialValue,cDimension,variable) (This)->lpVtbl->CreateAnimationVectorVariable(This,initialValue,cDimension,variable)
2304 #define IUIAnimationManager2_CreateAnimationVariable(This,initialValue,variable) (This)->lpVtbl->CreateAnimationVariable(This,initialValue,variable)
2305 #define IUIAnimationManager2_ScheduleTransition(This,variable,transition,timeNow) (This)->lpVtbl->ScheduleTransition(This,variable,transition,timeNow)
2306 #define IUIAnimationManager2_CreateStoryboard(This,storyboard) (This)->lpVtbl->CreateStoryboard(This,storyboard)
2307 #define IUIAnimationManager2_FinishAllStoryboards(This,completionDeadline) (This)->lpVtbl->FinishAllStoryboards(This,completionDeadline)
2308 #define IUIAnimationManager2_AbandonAllStoryboards(This) (This)->lpVtbl->AbandonAllStoryboards(This)
2309 #define IUIAnimationManager2_Update(This,timeNow,updateResult) (This)->lpVtbl->Update(This,timeNow,updateResult)
2310 #define IUIAnimationManager2_GetVariableFromTag(This,object,id,variable) (This)->lpVtbl->GetVariableFromTag(This,object,id,variable)
2311 #define IUIAnimationManager2_GetStoryboardFromTag(This,object,id,storyboard) (This)->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard)
2312 #define IUIAnimationManager2_EstimateNextEventTime(This,seconds) (This)->lpVtbl->EstimateNextEventTime(This,seconds)
2313 #define IUIAnimationManager2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
2314 #define IUIAnimationManager2_SetAnimationMode(This,mode) (This)->lpVtbl->SetAnimationMode(This,mode)
2315 #define IUIAnimationManager2_Pause(This) (This)->lpVtbl->Pause(This)
2316 #define IUIAnimationManager2_Resume(This) (This)->lpVtbl->Resume(This)
2317 #define IUIAnimationManager2_SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent)
2318 #define IUIAnimationManager2_SetCancelPriorityComparison(This,comparison) (This)->lpVtbl->SetCancelPriorityComparison(This,comparison)
2319 #define IUIAnimationManager2_SetTrimPriorityComparison(This,comparison) (This)->lpVtbl->SetTrimPriorityComparison(This,comparison)
2320 #define IUIAnimationManager2_SetCompressPriorityComparison(This,comparison) (This)->lpVtbl->SetCompressPriorityComparison(This,comparison)
2321 #define IUIAnimationManager2_SetConcludePriorityComparison(This,comparison) (This)->lpVtbl->SetConcludePriorityComparison(This,comparison)
2322 #define IUIAnimationManager2_SetDefaultLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay)
2323 #define IUIAnimationManager2_Shutdown(This) (This)->lpVtbl->Shutdown(This)
2324 #else
2325 /*** IUnknown methods ***/
2326 static FORCEINLINE HRESULT IUIAnimationManager2_QueryInterface(IUIAnimationManager2* This,REFIID riid,void **ppvObject) {
2327     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2328 }
2329 static FORCEINLINE ULONG IUIAnimationManager2_AddRef(IUIAnimationManager2* This) {
2330     return This->lpVtbl->AddRef(This);
2331 }
2332 static FORCEINLINE ULONG IUIAnimationManager2_Release(IUIAnimationManager2* This) {
2333     return This->lpVtbl->Release(This);
2334 }
2335 /*** IUIAnimationManager2 methods ***/
2336 static FORCEINLINE HRESULT IUIAnimationManager2_CreateAnimationVectorVariable(IUIAnimationManager2* This,double *initialValue,unsigned int cDimension,IUIAnimationVariable2 **variable) {
2337     return This->lpVtbl->CreateAnimationVectorVariable(This,initialValue,cDimension,variable);
2338 }
2339 static FORCEINLINE HRESULT IUIAnimationManager2_CreateAnimationVariable(IUIAnimationManager2* This,double initialValue,IUIAnimationVariable2 **variable) {
2340     return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable);
2341 }
2342 static FORCEINLINE HRESULT IUIAnimationManager2_ScheduleTransition(IUIAnimationManager2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,double timeNow) {
2343     return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow);
2344 }
2345 static FORCEINLINE HRESULT IUIAnimationManager2_CreateStoryboard(IUIAnimationManager2* This,IUIAnimationStoryboard2 **storyboard) {
2346     return This->lpVtbl->CreateStoryboard(This,storyboard);
2347 }
2348 static FORCEINLINE HRESULT IUIAnimationManager2_FinishAllStoryboards(IUIAnimationManager2* This,double completionDeadline) {
2349     return This->lpVtbl->FinishAllStoryboards(This,completionDeadline);
2350 }
2351 static FORCEINLINE HRESULT IUIAnimationManager2_AbandonAllStoryboards(IUIAnimationManager2* This) {
2352     return This->lpVtbl->AbandonAllStoryboards(This);
2353 }
2354 static FORCEINLINE HRESULT IUIAnimationManager2_Update(IUIAnimationManager2* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) {
2355     return This->lpVtbl->Update(This,timeNow,updateResult);
2356 }
2357 static FORCEINLINE HRESULT IUIAnimationManager2_GetVariableFromTag(IUIAnimationManager2* This,IUnknown *object,UINT32 id,IUIAnimationVariable2 **variable) {
2358     return This->lpVtbl->GetVariableFromTag(This,object,id,variable);
2359 }
2360 static FORCEINLINE HRESULT IUIAnimationManager2_GetStoryboardFromTag(IUIAnimationManager2* This,IUnknown *object,unsigned int id,IUIAnimationStoryboard2 **storyboard) {
2361     return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard);
2362 }
2363 static FORCEINLINE HRESULT IUIAnimationManager2_EstimateNextEventTime(IUIAnimationManager2* This,double *seconds) {
2364     return This->lpVtbl->EstimateNextEventTime(This,seconds);
2365 }
2366 static FORCEINLINE HRESULT IUIAnimationManager2_GetStatus(IUIAnimationManager2* This,UI_ANIMATION_MANAGER_STATUS *status) {
2367     return This->lpVtbl->GetStatus(This,status);
2368 }
2369 static FORCEINLINE HRESULT IUIAnimationManager2_SetAnimationMode(IUIAnimationManager2* This,UI_ANIMATION_MODE mode) {
2370     return This->lpVtbl->SetAnimationMode(This,mode);
2371 }
2372 static FORCEINLINE HRESULT IUIAnimationManager2_Pause(IUIAnimationManager2* This) {
2373     return This->lpVtbl->Pause(This);
2374 }
2375 static FORCEINLINE HRESULT IUIAnimationManager2_Resume(IUIAnimationManager2* This) {
2376     return This->lpVtbl->Resume(This);
2377 }
2378 static FORCEINLINE HRESULT IUIAnimationManager2_SetManagerEventHandler(IUIAnimationManager2* This,IUIAnimationManagerEventHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2379     return This->lpVtbl->SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent);
2380 }
2381 static FORCEINLINE HRESULT IUIAnimationManager2_SetCancelPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2382     return This->lpVtbl->SetCancelPriorityComparison(This,comparison);
2383 }
2384 static FORCEINLINE HRESULT IUIAnimationManager2_SetTrimPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2385     return This->lpVtbl->SetTrimPriorityComparison(This,comparison);
2386 }
2387 static FORCEINLINE HRESULT IUIAnimationManager2_SetCompressPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2388     return This->lpVtbl->SetCompressPriorityComparison(This,comparison);
2389 }
2390 static FORCEINLINE HRESULT IUIAnimationManager2_SetConcludePriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2391     return This->lpVtbl->SetConcludePriorityComparison(This,comparison);
2392 }
2393 static FORCEINLINE HRESULT IUIAnimationManager2_SetDefaultLongestAcceptableDelay(IUIAnimationManager2* This,double delay) {
2394     return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay);
2395 }
2396 static FORCEINLINE HRESULT IUIAnimationManager2_Shutdown(IUIAnimationManager2* This) {
2397     return This->lpVtbl->Shutdown(This);
2398 }
2399 #endif
2400 #endif
2401 
2402 #endif
2403 
2404 
2405 #endif  /* __IUIAnimationManager2_INTERFACE_DEFINED__ */
2406 
2407 /*****************************************************************************
2408  * IUIAnimationVariable2 interface
2409  */
2410 #ifndef __IUIAnimationVariable2_INTERFACE_DEFINED__
2411 #define __IUIAnimationVariable2_INTERFACE_DEFINED__
2412 
2413 DEFINE_GUID(IID_IUIAnimationVariable2, 0x4914b304, 0x96ab, 0x44d9, 0x9e,0x77, 0xd5,0x10,0x9b,0x7e,0x74,0x66);
2414 #if defined(__cplusplus) && !defined(CINTERFACE)
2415 MIDL_INTERFACE("4914b304-96ab-44d9-9e77-d5109b7e7466")
2416 IUIAnimationVariable2 : public IUnknown
2417 {
2418     virtual HRESULT STDMETHODCALLTYPE GetDimension(
2419         unsigned int *dimension) = 0;
2420 
2421     virtual HRESULT STDMETHODCALLTYPE GetValue(
2422         double *value) = 0;
2423 
2424     virtual HRESULT STDMETHODCALLTYPE GetVectorValue(
2425         double *value,
2426         unsigned int cDimension) = 0;
2427 
2428     virtual HRESULT STDMETHODCALLTYPE GetCurve(
2429         IDCompositionAnimation *animation) = 0;
2430 
2431     virtual HRESULT STDMETHODCALLTYPE GetVectorCurve(
2432         IDCompositionAnimation **animation,
2433         unsigned int cDimension) = 0;
2434 
2435     virtual HRESULT STDMETHODCALLTYPE GetFinalValue(
2436         double *finalValue) = 0;
2437 
2438     virtual HRESULT STDMETHODCALLTYPE GetFinalVectorValue(
2439         double *finalValue,
2440         unsigned int cDimension) = 0;
2441 
2442     virtual HRESULT STDMETHODCALLTYPE GetPreviousValue(
2443         double *previousValue) = 0;
2444 
2445     virtual HRESULT STDMETHODCALLTYPE GetPreviousVectorValue(
2446         double *previousValue,
2447         unsigned int cDimension) = 0;
2448 
2449     virtual HRESULT STDMETHODCALLTYPE GetIntegerValue(
2450         int *value) = 0;
2451 
2452     virtual HRESULT STDMETHODCALLTYPE GetIntegerVectorValue(
2453         int *value,
2454         unsigned int cDimension) = 0;
2455 
2456     virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerValue(
2457         int *finalValue) = 0;
2458 
2459     virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerVectorValue(
2460         int *finalValue,
2461         unsigned int cDimension) = 0;
2462 
2463     virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerValue(
2464         int *previousValue) = 0;
2465 
2466     virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerVectorValue(
2467         int *previousValue,
2468         unsigned int cDimension) = 0;
2469 
2470     virtual HRESULT STDMETHODCALLTYPE GetCurrentStoryboard(
2471         IUIAnimationStoryboard2 **storyboard) = 0;
2472 
2473     virtual HRESULT STDMETHODCALLTYPE SetLowerBound(
2474         double bound) = 0;
2475 
2476     virtual HRESULT STDMETHODCALLTYPE SetLowerBoundVector(
2477         double *bound,
2478         unsigned int cDimension) = 0;
2479 
2480     virtual HRESULT STDMETHODCALLTYPE SetUpperBound(
2481         double bound) = 0;
2482 
2483     virtual HRESULT STDMETHODCALLTYPE SetUpperBoundVector(
2484         double *bound,
2485         unsigned int cDimension) = 0;
2486 
2487     virtual HRESULT STDMETHODCALLTYPE SetRoundingMode(
2488         UI_ANIMATION_ROUNDING_MODE mode) = 0;
2489 
2490     virtual HRESULT STDMETHODCALLTYPE SetTag(
2491         IUnknown *object,
2492         unsigned int id) = 0;
2493 
2494     virtual HRESULT STDMETHODCALLTYPE GetTag(
2495         IUnknown **object,
2496         unsigned int *id) = 0;
2497 
2498     virtual HRESULT STDMETHODCALLTYPE SetVariableChangeHandler(
2499         IUIAnimationVariableChangeHandler2 *handler,
2500         LONG fRegisterForNextAnimationEvent = FALSE) = 0;
2501 
2502     virtual HRESULT STDMETHODCALLTYPE SetVariableIntegerChangeHandler(
2503         IUIAnimationVariableIntegerChangeHandler2 *handler,
2504         LONG fRegisterForNextAnimationEvent = FALSE) = 0;
2505 
2506     virtual HRESULT STDMETHODCALLTYPE SetVariableCurveChangeHandler(
2507         IUIAnimationVariableCurveChangeHandler2 *handler) = 0;
2508 
2509 };
2510 #ifdef __CRT_UUID_DECL
2511 __CRT_UUID_DECL(IUIAnimationVariable2, 0x4914b304, 0x96ab, 0x44d9, 0x9e,0x77, 0xd5,0x10,0x9b,0x7e,0x74,0x66)
2512 #endif
2513 #else
2514 typedef struct IUIAnimationVariable2Vtbl {
2515     BEGIN_INTERFACE
2516 
2517     /*** IUnknown methods ***/
2518     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2519         IUIAnimationVariable2 *This,
2520         REFIID riid,
2521         void **ppvObject);
2522 
2523     ULONG (STDMETHODCALLTYPE *AddRef)(
2524         IUIAnimationVariable2 *This);
2525 
2526     ULONG (STDMETHODCALLTYPE *Release)(
2527         IUIAnimationVariable2 *This);
2528 
2529     /*** IUIAnimationVariable2 methods ***/
2530     HRESULT (STDMETHODCALLTYPE *GetDimension)(
2531         IUIAnimationVariable2 *This,
2532         unsigned int *dimension);
2533 
2534     HRESULT (STDMETHODCALLTYPE *GetValue)(
2535         IUIAnimationVariable2 *This,
2536         double *value);
2537 
2538     HRESULT (STDMETHODCALLTYPE *GetVectorValue)(
2539         IUIAnimationVariable2 *This,
2540         double *value,
2541         unsigned int cDimension);
2542 
2543     HRESULT (STDMETHODCALLTYPE *GetCurve)(
2544         IUIAnimationVariable2 *This,
2545         IDCompositionAnimation *animation);
2546 
2547     HRESULT (STDMETHODCALLTYPE *GetVectorCurve)(
2548         IUIAnimationVariable2 *This,
2549         IDCompositionAnimation **animation,
2550         unsigned int cDimension);
2551 
2552     HRESULT (STDMETHODCALLTYPE *GetFinalValue)(
2553         IUIAnimationVariable2 *This,
2554         double *finalValue);
2555 
2556     HRESULT (STDMETHODCALLTYPE *GetFinalVectorValue)(
2557         IUIAnimationVariable2 *This,
2558         double *finalValue,
2559         unsigned int cDimension);
2560 
2561     HRESULT (STDMETHODCALLTYPE *GetPreviousValue)(
2562         IUIAnimationVariable2 *This,
2563         double *previousValue);
2564 
2565     HRESULT (STDMETHODCALLTYPE *GetPreviousVectorValue)(
2566         IUIAnimationVariable2 *This,
2567         double *previousValue,
2568         unsigned int cDimension);
2569 
2570     HRESULT (STDMETHODCALLTYPE *GetIntegerValue)(
2571         IUIAnimationVariable2 *This,
2572         int *value);
2573 
2574     HRESULT (STDMETHODCALLTYPE *GetIntegerVectorValue)(
2575         IUIAnimationVariable2 *This,
2576         int *value,
2577         unsigned int cDimension);
2578 
2579     HRESULT (STDMETHODCALLTYPE *GetFinalIntegerValue)(
2580         IUIAnimationVariable2 *This,
2581         int *finalValue);
2582 
2583     HRESULT (STDMETHODCALLTYPE *GetFinalIntegerVectorValue)(
2584         IUIAnimationVariable2 *This,
2585         int *finalValue,
2586         unsigned int cDimension);
2587 
2588     HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerValue)(
2589         IUIAnimationVariable2 *This,
2590         int *previousValue);
2591 
2592     HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerVectorValue)(
2593         IUIAnimationVariable2 *This,
2594         int *previousValue,
2595         unsigned int cDimension);
2596 
2597     HRESULT (STDMETHODCALLTYPE *GetCurrentStoryboard)(
2598         IUIAnimationVariable2 *This,
2599         IUIAnimationStoryboard2 **storyboard);
2600 
2601     HRESULT (STDMETHODCALLTYPE *SetLowerBound)(
2602         IUIAnimationVariable2 *This,
2603         double bound);
2604 
2605     HRESULT (STDMETHODCALLTYPE *SetLowerBoundVector)(
2606         IUIAnimationVariable2 *This,
2607         double *bound,
2608         unsigned int cDimension);
2609 
2610     HRESULT (STDMETHODCALLTYPE *SetUpperBound)(
2611         IUIAnimationVariable2 *This,
2612         double bound);
2613 
2614     HRESULT (STDMETHODCALLTYPE *SetUpperBoundVector)(
2615         IUIAnimationVariable2 *This,
2616         double *bound,
2617         unsigned int cDimension);
2618 
2619     HRESULT (STDMETHODCALLTYPE *SetRoundingMode)(
2620         IUIAnimationVariable2 *This,
2621         UI_ANIMATION_ROUNDING_MODE mode);
2622 
2623     HRESULT (STDMETHODCALLTYPE *SetTag)(
2624         IUIAnimationVariable2 *This,
2625         IUnknown *object,
2626         unsigned int id);
2627 
2628     HRESULT (STDMETHODCALLTYPE *GetTag)(
2629         IUIAnimationVariable2 *This,
2630         IUnknown **object,
2631         unsigned int *id);
2632 
2633     HRESULT (STDMETHODCALLTYPE *SetVariableChangeHandler)(
2634         IUIAnimationVariable2 *This,
2635         IUIAnimationVariableChangeHandler2 *handler,
2636         LONG fRegisterForNextAnimationEvent);
2637 
2638     HRESULT (STDMETHODCALLTYPE *SetVariableIntegerChangeHandler)(
2639         IUIAnimationVariable2 *This,
2640         IUIAnimationVariableIntegerChangeHandler2 *handler,
2641         LONG fRegisterForNextAnimationEvent);
2642 
2643     HRESULT (STDMETHODCALLTYPE *SetVariableCurveChangeHandler)(
2644         IUIAnimationVariable2 *This,
2645         IUIAnimationVariableCurveChangeHandler2 *handler);
2646 
2647     END_INTERFACE
2648 } IUIAnimationVariable2Vtbl;
2649 
2650 interface IUIAnimationVariable2 {
2651     CONST_VTBL IUIAnimationVariable2Vtbl* lpVtbl;
2652 };
2653 
2654 #ifdef COBJMACROS
2655 #ifndef WIDL_C_INLINE_WRAPPERS
2656 /*** IUnknown methods ***/
2657 #define IUIAnimationVariable2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2658 #define IUIAnimationVariable2_AddRef(This) (This)->lpVtbl->AddRef(This)
2659 #define IUIAnimationVariable2_Release(This) (This)->lpVtbl->Release(This)
2660 /*** IUIAnimationVariable2 methods ***/
2661 #define IUIAnimationVariable2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension)
2662 #define IUIAnimationVariable2_GetValue(This,value) (This)->lpVtbl->GetValue(This,value)
2663 #define IUIAnimationVariable2_GetVectorValue(This,value,cDimension) (This)->lpVtbl->GetVectorValue(This,value,cDimension)
2664 #define IUIAnimationVariable2_GetCurve(This,animation) (This)->lpVtbl->GetCurve(This,animation)
2665 #define IUIAnimationVariable2_GetVectorCurve(This,animation,cDimension) (This)->lpVtbl->GetVectorCurve(This,animation,cDimension)
2666 #define IUIAnimationVariable2_GetFinalValue(This,finalValue) (This)->lpVtbl->GetFinalValue(This,finalValue)
2667 #define IUIAnimationVariable2_GetFinalVectorValue(This,finalValue,cDimension) (This)->lpVtbl->GetFinalVectorValue(This,finalValue,cDimension)
2668 #define IUIAnimationVariable2_GetPreviousValue(This,previousValue) (This)->lpVtbl->GetPreviousValue(This,previousValue)
2669 #define IUIAnimationVariable2_GetPreviousVectorValue(This,previousValue,cDimension) (This)->lpVtbl->GetPreviousVectorValue(This,previousValue,cDimension)
2670 #define IUIAnimationVariable2_GetIntegerValue(This,value) (This)->lpVtbl->GetIntegerValue(This,value)
2671 #define IUIAnimationVariable2_GetIntegerVectorValue(This,value,cDimension) (This)->lpVtbl->GetIntegerVectorValue(This,value,cDimension)
2672 #define IUIAnimationVariable2_GetFinalIntegerValue(This,finalValue) (This)->lpVtbl->GetFinalIntegerValue(This,finalValue)
2673 #define IUIAnimationVariable2_GetFinalIntegerVectorValue(This,finalValue,cDimension) (This)->lpVtbl->GetFinalIntegerVectorValue(This,finalValue,cDimension)
2674 #define IUIAnimationVariable2_GetPreviousIntegerValue(This,previousValue) (This)->lpVtbl->GetPreviousIntegerValue(This,previousValue)
2675 #define IUIAnimationVariable2_GetPreviousIntegerVectorValue(This,previousValue,cDimension) (This)->lpVtbl->GetPreviousIntegerVectorValue(This,previousValue,cDimension)
2676 #define IUIAnimationVariable2_GetCurrentStoryboard(This,storyboard) (This)->lpVtbl->GetCurrentStoryboard(This,storyboard)
2677 #define IUIAnimationVariable2_SetLowerBound(This,bound) (This)->lpVtbl->SetLowerBound(This,bound)
2678 #define IUIAnimationVariable2_SetLowerBoundVector(This,bound,cDimension) (This)->lpVtbl->SetLowerBoundVector(This,bound,cDimension)
2679 #define IUIAnimationVariable2_SetUpperBound(This,bound) (This)->lpVtbl->SetUpperBound(This,bound)
2680 #define IUIAnimationVariable2_SetUpperBoundVector(This,bound,cDimension) (This)->lpVtbl->SetUpperBoundVector(This,bound,cDimension)
2681 #define IUIAnimationVariable2_SetRoundingMode(This,mode) (This)->lpVtbl->SetRoundingMode(This,mode)
2682 #define IUIAnimationVariable2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
2683 #define IUIAnimationVariable2_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id)
2684 #define IUIAnimationVariable2_SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent)
2685 #define IUIAnimationVariable2_SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent)
2686 #define IUIAnimationVariable2_SetVariableCurveChangeHandler(This,handler) (This)->lpVtbl->SetVariableCurveChangeHandler(This,handler)
2687 #else
2688 /*** IUnknown methods ***/
2689 static FORCEINLINE HRESULT IUIAnimationVariable2_QueryInterface(IUIAnimationVariable2* This,REFIID riid,void **ppvObject) {
2690     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2691 }
2692 static FORCEINLINE ULONG IUIAnimationVariable2_AddRef(IUIAnimationVariable2* This) {
2693     return This->lpVtbl->AddRef(This);
2694 }
2695 static FORCEINLINE ULONG IUIAnimationVariable2_Release(IUIAnimationVariable2* This) {
2696     return This->lpVtbl->Release(This);
2697 }
2698 /*** IUIAnimationVariable2 methods ***/
2699 static FORCEINLINE HRESULT IUIAnimationVariable2_GetDimension(IUIAnimationVariable2* This,unsigned int *dimension) {
2700     return This->lpVtbl->GetDimension(This,dimension);
2701 }
2702 static FORCEINLINE HRESULT IUIAnimationVariable2_GetValue(IUIAnimationVariable2* This,double *value) {
2703     return This->lpVtbl->GetValue(This,value);
2704 }
2705 static FORCEINLINE HRESULT IUIAnimationVariable2_GetVectorValue(IUIAnimationVariable2* This,double *value,unsigned int cDimension) {
2706     return This->lpVtbl->GetVectorValue(This,value,cDimension);
2707 }
2708 static FORCEINLINE HRESULT IUIAnimationVariable2_GetCurve(IUIAnimationVariable2* This,IDCompositionAnimation *animation) {
2709     return This->lpVtbl->GetCurve(This,animation);
2710 }
2711 static FORCEINLINE HRESULT IUIAnimationVariable2_GetVectorCurve(IUIAnimationVariable2* This,IDCompositionAnimation **animation,unsigned int cDimension) {
2712     return This->lpVtbl->GetVectorCurve(This,animation,cDimension);
2713 }
2714 static FORCEINLINE HRESULT IUIAnimationVariable2_GetFinalValue(IUIAnimationVariable2* This,double *finalValue) {
2715     return This->lpVtbl->GetFinalValue(This,finalValue);
2716 }
2717 static FORCEINLINE HRESULT IUIAnimationVariable2_GetFinalVectorValue(IUIAnimationVariable2* This,double *finalValue,unsigned int cDimension) {
2718     return This->lpVtbl->GetFinalVectorValue(This,finalValue,cDimension);
2719 }
2720 static FORCEINLINE HRESULT IUIAnimationVariable2_GetPreviousValue(IUIAnimationVariable2* This,double *previousValue) {
2721     return This->lpVtbl->GetPreviousValue(This,previousValue);
2722 }
2723 static FORCEINLINE HRESULT IUIAnimationVariable2_GetPreviousVectorValue(IUIAnimationVariable2* This,double *previousValue,unsigned int cDimension) {
2724     return This->lpVtbl->GetPreviousVectorValue(This,previousValue,cDimension);
2725 }
2726 static FORCEINLINE HRESULT IUIAnimationVariable2_GetIntegerValue(IUIAnimationVariable2* This,int *value) {
2727     return This->lpVtbl->GetIntegerValue(This,value);
2728 }
2729 static FORCEINLINE HRESULT IUIAnimationVariable2_GetIntegerVectorValue(IUIAnimationVariable2* This,int *value,unsigned int cDimension) {
2730     return This->lpVtbl->GetIntegerVectorValue(This,value,cDimension);
2731 }
2732 static FORCEINLINE HRESULT IUIAnimationVariable2_GetFinalIntegerValue(IUIAnimationVariable2* This,int *finalValue) {
2733     return This->lpVtbl->GetFinalIntegerValue(This,finalValue);
2734 }
2735 static FORCEINLINE HRESULT IUIAnimationVariable2_GetFinalIntegerVectorValue(IUIAnimationVariable2* This,int *finalValue,unsigned int cDimension) {
2736     return This->lpVtbl->GetFinalIntegerVectorValue(This,finalValue,cDimension);
2737 }
2738 static FORCEINLINE HRESULT IUIAnimationVariable2_GetPreviousIntegerValue(IUIAnimationVariable2* This,int *previousValue) {
2739     return This->lpVtbl->GetPreviousIntegerValue(This,previousValue);
2740 }
2741 static FORCEINLINE HRESULT IUIAnimationVariable2_GetPreviousIntegerVectorValue(IUIAnimationVariable2* This,int *previousValue,unsigned int cDimension) {
2742     return This->lpVtbl->GetPreviousIntegerVectorValue(This,previousValue,cDimension);
2743 }
2744 static FORCEINLINE HRESULT IUIAnimationVariable2_GetCurrentStoryboard(IUIAnimationVariable2* This,IUIAnimationStoryboard2 **storyboard) {
2745     return This->lpVtbl->GetCurrentStoryboard(This,storyboard);
2746 }
2747 static FORCEINLINE HRESULT IUIAnimationVariable2_SetLowerBound(IUIAnimationVariable2* This,double bound) {
2748     return This->lpVtbl->SetLowerBound(This,bound);
2749 }
2750 static FORCEINLINE HRESULT IUIAnimationVariable2_SetLowerBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) {
2751     return This->lpVtbl->SetLowerBoundVector(This,bound,cDimension);
2752 }
2753 static FORCEINLINE HRESULT IUIAnimationVariable2_SetUpperBound(IUIAnimationVariable2* This,double bound) {
2754     return This->lpVtbl->SetUpperBound(This,bound);
2755 }
2756 static FORCEINLINE HRESULT IUIAnimationVariable2_SetUpperBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) {
2757     return This->lpVtbl->SetUpperBoundVector(This,bound,cDimension);
2758 }
2759 static FORCEINLINE HRESULT IUIAnimationVariable2_SetRoundingMode(IUIAnimationVariable2* This,UI_ANIMATION_ROUNDING_MODE mode) {
2760     return This->lpVtbl->SetRoundingMode(This,mode);
2761 }
2762 static FORCEINLINE HRESULT IUIAnimationVariable2_SetTag(IUIAnimationVariable2* This,IUnknown *object,unsigned int id) {
2763     return This->lpVtbl->SetTag(This,object,id);
2764 }
2765 static FORCEINLINE HRESULT IUIAnimationVariable2_GetTag(IUIAnimationVariable2* This,IUnknown **object,unsigned int *id) {
2766     return This->lpVtbl->GetTag(This,object,id);
2767 }
2768 static FORCEINLINE HRESULT IUIAnimationVariable2_SetVariableChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2769     return This->lpVtbl->SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent);
2770 }
2771 static FORCEINLINE HRESULT IUIAnimationVariable2_SetVariableIntegerChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableIntegerChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2772     return This->lpVtbl->SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent);
2773 }
2774 static FORCEINLINE HRESULT IUIAnimationVariable2_SetVariableCurveChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableCurveChangeHandler2 *handler) {
2775     return This->lpVtbl->SetVariableCurveChangeHandler(This,handler);
2776 }
2777 #endif
2778 #endif
2779 
2780 #endif
2781 
2782 
2783 #endif  /* __IUIAnimationVariable2_INTERFACE_DEFINED__ */
2784 
2785 /*****************************************************************************
2786  * IDCompositionAnimation interface
2787  */
2788 #ifndef __IDCompositionAnimation_INTERFACE_DEFINED__
2789 #define __IDCompositionAnimation_INTERFACE_DEFINED__
2790 
2791 DEFINE_GUID(IID_IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5);
2792 #if defined(__cplusplus) && !defined(CINTERFACE)
2793 MIDL_INTERFACE("cbfd91d9-51b2-45e4-b3de-d19ccfb863c5")
2794 IDCompositionAnimation : public IUnknown
2795 {
2796     virtual HRESULT STDMETHODCALLTYPE Reset(
2797         ) = 0;
2798 
2799     virtual HRESULT STDMETHODCALLTYPE SetAbsoluteBeginTime(
2800         LARGE_INTEGER beginTime) = 0;
2801 
2802     virtual HRESULT STDMETHODCALLTYPE AddCubic(
2803         double beginOffset,
2804         float constantCoefficient,
2805         float linearCoefficient,
2806         float quadraticCoefficient,
2807         float cubicCoefficient) = 0;
2808 
2809     virtual HRESULT STDMETHODCALLTYPE AddSinusoidal(
2810         double beginOffset,
2811         float bias,
2812         float amplitude,
2813         float frequency,
2814         float phase) = 0;
2815 
2816     virtual HRESULT STDMETHODCALLTYPE AddRepeat(
2817         double beginOffset,
2818         double durationToRepeat) = 0;
2819 
2820     virtual HRESULT STDMETHODCALLTYPE End(
2821         double endOffset,
2822         float endValue) = 0;
2823 
2824 };
2825 #ifdef __CRT_UUID_DECL
2826 __CRT_UUID_DECL(IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5)
2827 #endif
2828 #else
2829 typedef struct IDCompositionAnimationVtbl {
2830     BEGIN_INTERFACE
2831 
2832     /*** IUnknown methods ***/
2833     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2834         IDCompositionAnimation *This,
2835         REFIID riid,
2836         void **ppvObject);
2837 
2838     ULONG (STDMETHODCALLTYPE *AddRef)(
2839         IDCompositionAnimation *This);
2840 
2841     ULONG (STDMETHODCALLTYPE *Release)(
2842         IDCompositionAnimation *This);
2843 
2844     /*** IDCompositionAnimation methods ***/
2845     HRESULT (STDMETHODCALLTYPE *Reset)(
2846         IDCompositionAnimation *This);
2847 
2848     HRESULT (STDMETHODCALLTYPE *SetAbsoluteBeginTime)(
2849         IDCompositionAnimation *This,
2850         LARGE_INTEGER beginTime);
2851 
2852     HRESULT (STDMETHODCALLTYPE *AddCubic)(
2853         IDCompositionAnimation *This,
2854         double beginOffset,
2855         float constantCoefficient,
2856         float linearCoefficient,
2857         float quadraticCoefficient,
2858         float cubicCoefficient);
2859 
2860     HRESULT (STDMETHODCALLTYPE *AddSinusoidal)(
2861         IDCompositionAnimation *This,
2862         double beginOffset,
2863         float bias,
2864         float amplitude,
2865         float frequency,
2866         float phase);
2867 
2868     HRESULT (STDMETHODCALLTYPE *AddRepeat)(
2869         IDCompositionAnimation *This,
2870         double beginOffset,
2871         double durationToRepeat);
2872 
2873     HRESULT (STDMETHODCALLTYPE *End)(
2874         IDCompositionAnimation *This,
2875         double endOffset,
2876         float endValue);
2877 
2878     END_INTERFACE
2879 } IDCompositionAnimationVtbl;
2880 
2881 interface IDCompositionAnimation {
2882     CONST_VTBL IDCompositionAnimationVtbl* lpVtbl;
2883 };
2884 
2885 #ifdef COBJMACROS
2886 #ifndef WIDL_C_INLINE_WRAPPERS
2887 /*** IUnknown methods ***/
2888 #define IDCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2889 #define IDCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
2890 #define IDCompositionAnimation_Release(This) (This)->lpVtbl->Release(This)
2891 /*** IDCompositionAnimation methods ***/
2892 #define IDCompositionAnimation_Reset(This) (This)->lpVtbl->Reset(This)
2893 #define IDCompositionAnimation_SetAbsoluteBeginTime(This,beginTime) (This)->lpVtbl->SetAbsoluteBeginTime(This,beginTime)
2894 #define IDCompositionAnimation_AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) (This)->lpVtbl->AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient)
2895 #define IDCompositionAnimation_AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase) (This)->lpVtbl->AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase)
2896 #define IDCompositionAnimation_AddRepeat(This,beginOffset,durationToRepeat) (This)->lpVtbl->AddRepeat(This,beginOffset,durationToRepeat)
2897 #define IDCompositionAnimation_End(This,endOffset,endValue) (This)->lpVtbl->End(This,endOffset,endValue)
2898 #else
2899 /*** IUnknown methods ***/
2900 static FORCEINLINE HRESULT IDCompositionAnimation_QueryInterface(IDCompositionAnimation* This,REFIID riid,void **ppvObject) {
2901     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2902 }
2903 static FORCEINLINE ULONG IDCompositionAnimation_AddRef(IDCompositionAnimation* This) {
2904     return This->lpVtbl->AddRef(This);
2905 }
2906 static FORCEINLINE ULONG IDCompositionAnimation_Release(IDCompositionAnimation* This) {
2907     return This->lpVtbl->Release(This);
2908 }
2909 /*** IDCompositionAnimation methods ***/
2910 static FORCEINLINE HRESULT IDCompositionAnimation_Reset(IDCompositionAnimation* This) {
2911     return This->lpVtbl->Reset(This);
2912 }
2913 static FORCEINLINE HRESULT IDCompositionAnimation_SetAbsoluteBeginTime(IDCompositionAnimation* This,LARGE_INTEGER beginTime) {
2914     return This->lpVtbl->SetAbsoluteBeginTime(This,beginTime);
2915 }
2916 static FORCEINLINE HRESULT IDCompositionAnimation_AddCubic(IDCompositionAnimation* This,double beginOffset,float constantCoefficient,float linearCoefficient,float quadraticCoefficient,float cubicCoefficient) {
2917     return This->lpVtbl->AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient);
2918 }
2919 static FORCEINLINE HRESULT IDCompositionAnimation_AddSinusoidal(IDCompositionAnimation* This,double beginOffset,float bias,float amplitude,float frequency,float phase) {
2920     return This->lpVtbl->AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase);
2921 }
2922 static FORCEINLINE HRESULT IDCompositionAnimation_AddRepeat(IDCompositionAnimation* This,double beginOffset,double durationToRepeat) {
2923     return This->lpVtbl->AddRepeat(This,beginOffset,durationToRepeat);
2924 }
2925 static FORCEINLINE HRESULT IDCompositionAnimation_End(IDCompositionAnimation* This,double endOffset,float endValue) {
2926     return This->lpVtbl->End(This,endOffset,endValue);
2927 }
2928 #endif
2929 #endif
2930 
2931 #endif
2932 
2933 
2934 #endif  /* __IDCompositionAnimation_INTERFACE_DEFINED__ */
2935 
2936 /*****************************************************************************
2937  * IUIAnimationStoryboard2 interface
2938  */
2939 #ifndef __IUIAnimationStoryboard2_INTERFACE_DEFINED__
2940 #define __IUIAnimationStoryboard2_INTERFACE_DEFINED__
2941 
2942 DEFINE_GUID(IID_IUIAnimationStoryboard2, 0xae289cd2, 0x12d4, 0x4945, 0x94,0x19, 0x9e,0x41,0xbe,0x03,0x4d,0xf2);
2943 #if defined(__cplusplus) && !defined(CINTERFACE)
2944 MIDL_INTERFACE("ae289cd2-12d4-4945-9419-9e41be034df2")
2945 IUIAnimationStoryboard2 : public IUnknown
2946 {
2947     virtual HRESULT STDMETHODCALLTYPE AddTransition(
2948         IUIAnimationVariable2 *variable,
2949         IUIAnimationTransition2 *transition) = 0;
2950 
2951     virtual HRESULT STDMETHODCALLTYPE AddKeyframeAtOffset(
2952         UI_ANIMATION_KEYFRAME existingKeyframe,
2953         double offset,
2954         UI_ANIMATION_KEYFRAME *keyframe) = 0;
2955 
2956     virtual HRESULT STDMETHODCALLTYPE AddKeyframeAfterTransition(
2957         IUIAnimationTransition2 *transition,
2958         UI_ANIMATION_KEYFRAME *keyframe) = 0;
2959 
2960     virtual HRESULT STDMETHODCALLTYPE AddTransitionAtKeyframe(
2961         IUIAnimationVariable2 *variable,
2962         IUIAnimationTransition2 *transition,
2963         UI_ANIMATION_KEYFRAME startKeyframe) = 0;
2964 
2965     virtual HRESULT STDMETHODCALLTYPE AddTransitionBetweenKeyframes(
2966         IUIAnimationVariable2 *variable,
2967         IUIAnimationTransition2 *transition,
2968         UI_ANIMATION_KEYFRAME startKeyframe,
2969         UI_ANIMATION_KEYFRAME endKeyframe) = 0;
2970 
2971     virtual HRESULT STDMETHODCALLTYPE RepeatBetweenKeyframes(
2972         UI_ANIMATION_KEYFRAME startKeyframe,
2973         UI_ANIMATION_KEYFRAME endKeyframe,
2974         double cRepetition,
2975         UI_ANIMATION_REPEAT_MODE repeatMode,
2976         IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler = 0,
2977         UINT_PTR id = 0,
2978         LONG fRegisterForNextAnimationEvent = FALSE) = 0;
2979 
2980     virtual HRESULT STDMETHODCALLTYPE HoldVariable(
2981         IUIAnimationVariable2 *variable) = 0;
2982 
2983     virtual HRESULT STDMETHODCALLTYPE SetLongestAcceptableDelay(
2984         double delay) = 0;
2985 
2986     virtual HRESULT STDMETHODCALLTYPE SetSkipDuration(
2987         double secondsDuration) = 0;
2988 
2989     virtual HRESULT STDMETHODCALLTYPE Schedule(
2990         double timeNow,
2991         UI_ANIMATION_SCHEDULING_RESULT *schedulingResult = 0) = 0;
2992 
2993     virtual HRESULT STDMETHODCALLTYPE Conclude(
2994         ) = 0;
2995 
2996     virtual HRESULT STDMETHODCALLTYPE Finish(
2997         double completionDeadline) = 0;
2998 
2999     virtual HRESULT STDMETHODCALLTYPE Abandon(
3000         ) = 0;
3001 
3002     virtual HRESULT STDMETHODCALLTYPE SetTag(
3003         IUnknown *object,
3004         unsigned int id) = 0;
3005 
3006     virtual HRESULT STDMETHODCALLTYPE GetTag(
3007         IUnknown **object,
3008         unsigned int *id) = 0;
3009 
3010     virtual HRESULT STDMETHODCALLTYPE GetStatus(
3011         UI_ANIMATION_STORYBOARD_STATUS *status) = 0;
3012 
3013     virtual HRESULT STDMETHODCALLTYPE GetElapsedTime(
3014         double *elapsedTime) = 0;
3015 
3016     virtual HRESULT STDMETHODCALLTYPE SetStoryboardEventHandler(
3017         IUIAnimationStoryboardEventHandler2 *handler,
3018         LONG fRegisterStatusChangeForNextAnimationEvent = FALSE,
3019         LONG fRegisterUpdateForNextAnimationEvent = FALSE) = 0;
3020 
3021 };
3022 #ifdef __CRT_UUID_DECL
3023 __CRT_UUID_DECL(IUIAnimationStoryboard2, 0xae289cd2, 0x12d4, 0x4945, 0x94,0x19, 0x9e,0x41,0xbe,0x03,0x4d,0xf2)
3024 #endif
3025 #else
3026 typedef struct IUIAnimationStoryboard2Vtbl {
3027     BEGIN_INTERFACE
3028 
3029     /*** IUnknown methods ***/
3030     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3031         IUIAnimationStoryboard2 *This,
3032         REFIID riid,
3033         void **ppvObject);
3034 
3035     ULONG (STDMETHODCALLTYPE *AddRef)(
3036         IUIAnimationStoryboard2 *This);
3037 
3038     ULONG (STDMETHODCALLTYPE *Release)(
3039         IUIAnimationStoryboard2 *This);
3040 
3041     /*** IUIAnimationStoryboard2 methods ***/
3042     HRESULT (STDMETHODCALLTYPE *AddTransition)(
3043         IUIAnimationStoryboard2 *This,
3044         IUIAnimationVariable2 *variable,
3045         IUIAnimationTransition2 *transition);
3046 
3047     HRESULT (STDMETHODCALLTYPE *AddKeyframeAtOffset)(
3048         IUIAnimationStoryboard2 *This,
3049         UI_ANIMATION_KEYFRAME existingKeyframe,
3050         double offset,
3051         UI_ANIMATION_KEYFRAME *keyframe);
3052 
3053     HRESULT (STDMETHODCALLTYPE *AddKeyframeAfterTransition)(
3054         IUIAnimationStoryboard2 *This,
3055         IUIAnimationTransition2 *transition,
3056         UI_ANIMATION_KEYFRAME *keyframe);
3057 
3058     HRESULT (STDMETHODCALLTYPE *AddTransitionAtKeyframe)(
3059         IUIAnimationStoryboard2 *This,
3060         IUIAnimationVariable2 *variable,
3061         IUIAnimationTransition2 *transition,
3062         UI_ANIMATION_KEYFRAME startKeyframe);
3063 
3064     HRESULT (STDMETHODCALLTYPE *AddTransitionBetweenKeyframes)(
3065         IUIAnimationStoryboard2 *This,
3066         IUIAnimationVariable2 *variable,
3067         IUIAnimationTransition2 *transition,
3068         UI_ANIMATION_KEYFRAME startKeyframe,
3069         UI_ANIMATION_KEYFRAME endKeyframe);
3070 
3071     HRESULT (STDMETHODCALLTYPE *RepeatBetweenKeyframes)(
3072         IUIAnimationStoryboard2 *This,
3073         UI_ANIMATION_KEYFRAME startKeyframe,
3074         UI_ANIMATION_KEYFRAME endKeyframe,
3075         double cRepetition,
3076         UI_ANIMATION_REPEAT_MODE repeatMode,
3077         IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler,
3078         UINT_PTR id,
3079         LONG fRegisterForNextAnimationEvent);
3080 
3081     HRESULT (STDMETHODCALLTYPE *HoldVariable)(
3082         IUIAnimationStoryboard2 *This,
3083         IUIAnimationVariable2 *variable);
3084 
3085     HRESULT (STDMETHODCALLTYPE *SetLongestAcceptableDelay)(
3086         IUIAnimationStoryboard2 *This,
3087         double delay);
3088 
3089     HRESULT (STDMETHODCALLTYPE *SetSkipDuration)(
3090         IUIAnimationStoryboard2 *This,
3091         double secondsDuration);
3092 
3093     HRESULT (STDMETHODCALLTYPE *Schedule)(
3094         IUIAnimationStoryboard2 *This,
3095         double timeNow,
3096         UI_ANIMATION_SCHEDULING_RESULT *schedulingResult);
3097 
3098     HRESULT (STDMETHODCALLTYPE *Conclude)(
3099         IUIAnimationStoryboard2 *This);
3100 
3101     HRESULT (STDMETHODCALLTYPE *Finish)(
3102         IUIAnimationStoryboard2 *This,
3103         double completionDeadline);
3104 
3105     HRESULT (STDMETHODCALLTYPE *Abandon)(
3106         IUIAnimationStoryboard2 *This);
3107 
3108     HRESULT (STDMETHODCALLTYPE *SetTag)(
3109         IUIAnimationStoryboard2 *This,
3110         IUnknown *object,
3111         unsigned int id);
3112 
3113     HRESULT (STDMETHODCALLTYPE *GetTag)(
3114         IUIAnimationStoryboard2 *This,
3115         IUnknown **object,
3116         unsigned int *id);
3117 
3118     HRESULT (STDMETHODCALLTYPE *GetStatus)(
3119         IUIAnimationStoryboard2 *This,
3120         UI_ANIMATION_STORYBOARD_STATUS *status);
3121 
3122     HRESULT (STDMETHODCALLTYPE *GetElapsedTime)(
3123         IUIAnimationStoryboard2 *This,
3124         double *elapsedTime);
3125 
3126     HRESULT (STDMETHODCALLTYPE *SetStoryboardEventHandler)(
3127         IUIAnimationStoryboard2 *This,
3128         IUIAnimationStoryboardEventHandler2 *handler,
3129         LONG fRegisterStatusChangeForNextAnimationEvent,
3130         LONG fRegisterUpdateForNextAnimationEvent);
3131 
3132     END_INTERFACE
3133 } IUIAnimationStoryboard2Vtbl;
3134 
3135 interface IUIAnimationStoryboard2 {
3136     CONST_VTBL IUIAnimationStoryboard2Vtbl* lpVtbl;
3137 };
3138 
3139 #ifdef COBJMACROS
3140 #ifndef WIDL_C_INLINE_WRAPPERS
3141 /*** IUnknown methods ***/
3142 #define IUIAnimationStoryboard2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3143 #define IUIAnimationStoryboard2_AddRef(This) (This)->lpVtbl->AddRef(This)
3144 #define IUIAnimationStoryboard2_Release(This) (This)->lpVtbl->Release(This)
3145 /*** IUIAnimationStoryboard2 methods ***/
3146 #define IUIAnimationStoryboard2_AddTransition(This,variable,transition) (This)->lpVtbl->AddTransition(This,variable,transition)
3147 #define IUIAnimationStoryboard2_AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) (This)->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe)
3148 #define IUIAnimationStoryboard2_AddKeyframeAfterTransition(This,transition,keyframe) (This)->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe)
3149 #define IUIAnimationStoryboard2_AddTransitionAtKeyframe(This,variable,transition,startKeyframe) (This)->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe)
3150 #define IUIAnimationStoryboard2_AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) (This)->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe)
3151 #define IUIAnimationStoryboard2_RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent) (This)->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent)
3152 #define IUIAnimationStoryboard2_HoldVariable(This,variable) (This)->lpVtbl->HoldVariable(This,variable)
3153 #define IUIAnimationStoryboard2_SetLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetLongestAcceptableDelay(This,delay)
3154 #define IUIAnimationStoryboard2_SetSkipDuration(This,secondsDuration) (This)->lpVtbl->SetSkipDuration(This,secondsDuration)
3155 #define IUIAnimationStoryboard2_Schedule(This,timeNow,schedulingResult) (This)->lpVtbl->Schedule(This,timeNow,schedulingResult)
3156 #define IUIAnimationStoryboard2_Conclude(This) (This)->lpVtbl->Conclude(This)
3157 #define IUIAnimationStoryboard2_Finish(This,completionDeadline) (This)->lpVtbl->Finish(This,completionDeadline)
3158 #define IUIAnimationStoryboard2_Abandon(This) (This)->lpVtbl->Abandon(This)
3159 #define IUIAnimationStoryboard2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
3160 #define IUIAnimationStoryboard2_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id)
3161 #define IUIAnimationStoryboard2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
3162 #define IUIAnimationStoryboard2_GetElapsedTime(This,elapsedTime) (This)->lpVtbl->GetElapsedTime(This,elapsedTime)
3163 #define IUIAnimationStoryboard2_SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent) (This)->lpVtbl->SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent)
3164 #else
3165 /*** IUnknown methods ***/
3166 static FORCEINLINE HRESULT IUIAnimationStoryboard2_QueryInterface(IUIAnimationStoryboard2* This,REFIID riid,void **ppvObject) {
3167     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3168 }
3169 static FORCEINLINE ULONG IUIAnimationStoryboard2_AddRef(IUIAnimationStoryboard2* This) {
3170     return This->lpVtbl->AddRef(This);
3171 }
3172 static FORCEINLINE ULONG IUIAnimationStoryboard2_Release(IUIAnimationStoryboard2* This) {
3173     return This->lpVtbl->Release(This);
3174 }
3175 /*** IUIAnimationStoryboard2 methods ***/
3176 static FORCEINLINE HRESULT IUIAnimationStoryboard2_AddTransition(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition) {
3177     return This->lpVtbl->AddTransition(This,variable,transition);
3178 }
3179 static FORCEINLINE HRESULT IUIAnimationStoryboard2_AddKeyframeAtOffset(IUIAnimationStoryboard2* This,UI_ANIMATION_KEYFRAME existingKeyframe,double offset,UI_ANIMATION_KEYFRAME *keyframe) {
3180     return This->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe);
3181 }
3182 static FORCEINLINE HRESULT IUIAnimationStoryboard2_AddKeyframeAfterTransition(IUIAnimationStoryboard2* This,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME *keyframe) {
3183     return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe);
3184 }
3185 static FORCEINLINE HRESULT IUIAnimationStoryboard2_AddTransitionAtKeyframe(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME startKeyframe) {
3186     return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe);
3187 }
3188 static FORCEINLINE HRESULT IUIAnimationStoryboard2_AddTransitionBetweenKeyframes(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe) {
3189     return This->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe);
3190 }
3191 static FORCEINLINE HRESULT IUIAnimationStoryboard2_RepeatBetweenKeyframes(IUIAnimationStoryboard2* This,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe,double cRepetition,UI_ANIMATION_REPEAT_MODE repeatMode,IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler,UINT_PTR id,LONG fRegisterForNextAnimationEvent) {
3192     return This->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent);
3193 }
3194 static FORCEINLINE HRESULT IUIAnimationStoryboard2_HoldVariable(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable) {
3195     return This->lpVtbl->HoldVariable(This,variable);
3196 }
3197 static FORCEINLINE HRESULT IUIAnimationStoryboard2_SetLongestAcceptableDelay(IUIAnimationStoryboard2* This,double delay) {
3198     return This->lpVtbl->SetLongestAcceptableDelay(This,delay);
3199 }
3200 static FORCEINLINE HRESULT IUIAnimationStoryboard2_SetSkipDuration(IUIAnimationStoryboard2* This,double secondsDuration) {
3201     return This->lpVtbl->SetSkipDuration(This,secondsDuration);
3202 }
3203 static FORCEINLINE HRESULT IUIAnimationStoryboard2_Schedule(IUIAnimationStoryboard2* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) {
3204     return This->lpVtbl->Schedule(This,timeNow,schedulingResult);
3205 }
3206 static FORCEINLINE HRESULT IUIAnimationStoryboard2_Conclude(IUIAnimationStoryboard2* This) {
3207     return This->lpVtbl->Conclude(This);
3208 }
3209 static FORCEINLINE HRESULT IUIAnimationStoryboard2_Finish(IUIAnimationStoryboard2* This,double completionDeadline) {
3210     return This->lpVtbl->Finish(This,completionDeadline);
3211 }
3212 static FORCEINLINE HRESULT IUIAnimationStoryboard2_Abandon(IUIAnimationStoryboard2* This) {
3213     return This->lpVtbl->Abandon(This);
3214 }
3215 static FORCEINLINE HRESULT IUIAnimationStoryboard2_SetTag(IUIAnimationStoryboard2* This,IUnknown *object,unsigned int id) {
3216     return This->lpVtbl->SetTag(This,object,id);
3217 }
3218 static FORCEINLINE HRESULT IUIAnimationStoryboard2_GetTag(IUIAnimationStoryboard2* This,IUnknown **object,unsigned int *id) {
3219     return This->lpVtbl->GetTag(This,object,id);
3220 }
3221 static FORCEINLINE HRESULT IUIAnimationStoryboard2_GetStatus(IUIAnimationStoryboard2* This,UI_ANIMATION_STORYBOARD_STATUS *status) {
3222     return This->lpVtbl->GetStatus(This,status);
3223 }
3224 static FORCEINLINE HRESULT IUIAnimationStoryboard2_GetElapsedTime(IUIAnimationStoryboard2* This,double *elapsedTime) {
3225     return This->lpVtbl->GetElapsedTime(This,elapsedTime);
3226 }
3227 static FORCEINLINE HRESULT IUIAnimationStoryboard2_SetStoryboardEventHandler(IUIAnimationStoryboard2* This,IUIAnimationStoryboardEventHandler2 *handler,LONG fRegisterStatusChangeForNextAnimationEvent,LONG fRegisterUpdateForNextAnimationEvent) {
3228     return This->lpVtbl->SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent);
3229 }
3230 #endif
3231 #endif
3232 
3233 #endif
3234 
3235 
3236 #endif  /* __IUIAnimationStoryboard2_INTERFACE_DEFINED__ */
3237 
3238 /*****************************************************************************
3239  * IUIAnimationTransition2 interface
3240  */
3241 #ifndef __IUIAnimationTransition2_INTERFACE_DEFINED__
3242 #define __IUIAnimationTransition2_INTERFACE_DEFINED__
3243 
3244 DEFINE_GUID(IID_IUIAnimationTransition2, 0x62ff9123, 0xa85a, 0x4e9b, 0xa2,0x18, 0x43,0x5a,0x93,0xe2,0x68,0xfd);
3245 #if defined(__cplusplus) && !defined(CINTERFACE)
3246 MIDL_INTERFACE("62ff9123-a85a-4e9b-a218-435a93e268fd")
3247 IUIAnimationTransition2 : public IUnknown
3248 {
3249     virtual HRESULT STDMETHODCALLTYPE GetDimension(
3250         unsigned int *dimension) = 0;
3251 
3252     virtual HRESULT STDMETHODCALLTYPE SetInitialValue(
3253         double value) = 0;
3254 
3255     virtual HRESULT STDMETHODCALLTYPE SetInitialVectorValue(
3256         double *value,
3257         unsigned int cDimension) = 0;
3258 
3259     virtual HRESULT STDMETHODCALLTYPE SetInitialVelocity(
3260         double velocity) = 0;
3261 
3262     virtual HRESULT STDMETHODCALLTYPE SetInitialVectorVelocity(
3263         double *velocity,
3264         unsigned int cDimension) = 0;
3265 
3266     virtual HRESULT STDMETHODCALLTYPE IsDurationKnown(
3267         ) = 0;
3268 
3269     virtual HRESULT STDMETHODCALLTYPE GetDuration(
3270         double *duration) = 0;
3271 
3272 };
3273 #ifdef __CRT_UUID_DECL
3274 __CRT_UUID_DECL(IUIAnimationTransition2, 0x62ff9123, 0xa85a, 0x4e9b, 0xa2,0x18, 0x43,0x5a,0x93,0xe2,0x68,0xfd)
3275 #endif
3276 #else
3277 typedef struct IUIAnimationTransition2Vtbl {
3278     BEGIN_INTERFACE
3279 
3280     /*** IUnknown methods ***/
3281     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3282         IUIAnimationTransition2 *This,
3283         REFIID riid,
3284         void **ppvObject);
3285 
3286     ULONG (STDMETHODCALLTYPE *AddRef)(
3287         IUIAnimationTransition2 *This);
3288 
3289     ULONG (STDMETHODCALLTYPE *Release)(
3290         IUIAnimationTransition2 *This);
3291 
3292     /*** IUIAnimationTransition2 methods ***/
3293     HRESULT (STDMETHODCALLTYPE *GetDimension)(
3294         IUIAnimationTransition2 *This,
3295         unsigned int *dimension);
3296 
3297     HRESULT (STDMETHODCALLTYPE *SetInitialValue)(
3298         IUIAnimationTransition2 *This,
3299         double value);
3300 
3301     HRESULT (STDMETHODCALLTYPE *SetInitialVectorValue)(
3302         IUIAnimationTransition2 *This,
3303         double *value,
3304         unsigned int cDimension);
3305 
3306     HRESULT (STDMETHODCALLTYPE *SetInitialVelocity)(
3307         IUIAnimationTransition2 *This,
3308         double velocity);
3309 
3310     HRESULT (STDMETHODCALLTYPE *SetInitialVectorVelocity)(
3311         IUIAnimationTransition2 *This,
3312         double *velocity,
3313         unsigned int cDimension);
3314 
3315     HRESULT (STDMETHODCALLTYPE *IsDurationKnown)(
3316         IUIAnimationTransition2 *This);
3317 
3318     HRESULT (STDMETHODCALLTYPE *GetDuration)(
3319         IUIAnimationTransition2 *This,
3320         double *duration);
3321 
3322     END_INTERFACE
3323 } IUIAnimationTransition2Vtbl;
3324 
3325 interface IUIAnimationTransition2 {
3326     CONST_VTBL IUIAnimationTransition2Vtbl* lpVtbl;
3327 };
3328 
3329 #ifdef COBJMACROS
3330 #ifndef WIDL_C_INLINE_WRAPPERS
3331 /*** IUnknown methods ***/
3332 #define IUIAnimationTransition2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3333 #define IUIAnimationTransition2_AddRef(This) (This)->lpVtbl->AddRef(This)
3334 #define IUIAnimationTransition2_Release(This) (This)->lpVtbl->Release(This)
3335 /*** IUIAnimationTransition2 methods ***/
3336 #define IUIAnimationTransition2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension)
3337 #define IUIAnimationTransition2_SetInitialValue(This,value) (This)->lpVtbl->SetInitialValue(This,value)
3338 #define IUIAnimationTransition2_SetInitialVectorValue(This,value,cDimension) (This)->lpVtbl->SetInitialVectorValue(This,value,cDimension)
3339 #define IUIAnimationTransition2_SetInitialVelocity(This,velocity) (This)->lpVtbl->SetInitialVelocity(This,velocity)
3340 #define IUIAnimationTransition2_SetInitialVectorVelocity(This,velocity,cDimension) (This)->lpVtbl->SetInitialVectorVelocity(This,velocity,cDimension)
3341 #define IUIAnimationTransition2_IsDurationKnown(This) (This)->lpVtbl->IsDurationKnown(This)
3342 #define IUIAnimationTransition2_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
3343 #else
3344 /*** IUnknown methods ***/
3345 static FORCEINLINE HRESULT IUIAnimationTransition2_QueryInterface(IUIAnimationTransition2* This,REFIID riid,void **ppvObject) {
3346     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3347 }
3348 static FORCEINLINE ULONG IUIAnimationTransition2_AddRef(IUIAnimationTransition2* This) {
3349     return This->lpVtbl->AddRef(This);
3350 }
3351 static FORCEINLINE ULONG IUIAnimationTransition2_Release(IUIAnimationTransition2* This) {
3352     return This->lpVtbl->Release(This);
3353 }
3354 /*** IUIAnimationTransition2 methods ***/
3355 static FORCEINLINE HRESULT IUIAnimationTransition2_GetDimension(IUIAnimationTransition2* This,unsigned int *dimension) {
3356     return This->lpVtbl->GetDimension(This,dimension);
3357 }
3358 static FORCEINLINE HRESULT IUIAnimationTransition2_SetInitialValue(IUIAnimationTransition2* This,double value) {
3359     return This->lpVtbl->SetInitialValue(This,value);
3360 }
3361 static FORCEINLINE HRESULT IUIAnimationTransition2_SetInitialVectorValue(IUIAnimationTransition2* This,double *value,unsigned int cDimension) {
3362     return This->lpVtbl->SetInitialVectorValue(This,value,cDimension);
3363 }
3364 static FORCEINLINE HRESULT IUIAnimationTransition2_SetInitialVelocity(IUIAnimationTransition2* This,double velocity) {
3365     return This->lpVtbl->SetInitialVelocity(This,velocity);
3366 }
3367 static FORCEINLINE HRESULT IUIAnimationTransition2_SetInitialVectorVelocity(IUIAnimationTransition2* This,double *velocity,unsigned int cDimension) {
3368     return This->lpVtbl->SetInitialVectorVelocity(This,velocity,cDimension);
3369 }
3370 static FORCEINLINE HRESULT IUIAnimationTransition2_IsDurationKnown(IUIAnimationTransition2* This) {
3371     return This->lpVtbl->IsDurationKnown(This);
3372 }
3373 static FORCEINLINE HRESULT IUIAnimationTransition2_GetDuration(IUIAnimationTransition2* This,double *duration) {
3374     return This->lpVtbl->GetDuration(This,duration);
3375 }
3376 #endif
3377 #endif
3378 
3379 #endif
3380 
3381 
3382 #endif  /* __IUIAnimationTransition2_INTERFACE_DEFINED__ */
3383 
3384 /*****************************************************************************
3385  * IUIAnimationLoopIterationChangeHandler2 interface
3386  */
3387 #ifndef __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__
3388 #define __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__
3389 
3390 DEFINE_GUID(IID_IUIAnimationLoopIterationChangeHandler2, 0x2d3b15a4, 0x4762, 0x47ab, 0xa0,0x30, 0xb2,0x32,0x21,0xdf,0x3a,0xe0);
3391 #if defined(__cplusplus) && !defined(CINTERFACE)
3392 MIDL_INTERFACE("2d3b15a4-4762-47ab-a030-b23221df3ae0")
3393 IUIAnimationLoopIterationChangeHandler2 : public IUnknown
3394 {
3395     virtual HRESULT STDMETHODCALLTYPE OnLoopIterationChanged(
3396         IUIAnimationStoryboard2 *storyboard,
3397         UINT_PTR id,
3398         unsigned int newIterationCount,
3399         unsigned int oldIterationCount) = 0;
3400 
3401 };
3402 #ifdef __CRT_UUID_DECL
3403 __CRT_UUID_DECL(IUIAnimationLoopIterationChangeHandler2, 0x2d3b15a4, 0x4762, 0x47ab, 0xa0,0x30, 0xb2,0x32,0x21,0xdf,0x3a,0xe0)
3404 #endif
3405 #else
3406 typedef struct IUIAnimationLoopIterationChangeHandler2Vtbl {
3407     BEGIN_INTERFACE
3408 
3409     /*** IUnknown methods ***/
3410     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3411         IUIAnimationLoopIterationChangeHandler2 *This,
3412         REFIID riid,
3413         void **ppvObject);
3414 
3415     ULONG (STDMETHODCALLTYPE *AddRef)(
3416         IUIAnimationLoopIterationChangeHandler2 *This);
3417 
3418     ULONG (STDMETHODCALLTYPE *Release)(
3419         IUIAnimationLoopIterationChangeHandler2 *This);
3420 
3421     /*** IUIAnimationLoopIterationChangeHandler2 methods ***/
3422     HRESULT (STDMETHODCALLTYPE *OnLoopIterationChanged)(
3423         IUIAnimationLoopIterationChangeHandler2 *This,
3424         IUIAnimationStoryboard2 *storyboard,
3425         UINT_PTR id,
3426         unsigned int newIterationCount,
3427         unsigned int oldIterationCount);
3428 
3429     END_INTERFACE
3430 } IUIAnimationLoopIterationChangeHandler2Vtbl;
3431 
3432 interface IUIAnimationLoopIterationChangeHandler2 {
3433     CONST_VTBL IUIAnimationLoopIterationChangeHandler2Vtbl* lpVtbl;
3434 };
3435 
3436 #ifdef COBJMACROS
3437 #ifndef WIDL_C_INLINE_WRAPPERS
3438 /*** IUnknown methods ***/
3439 #define IUIAnimationLoopIterationChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3440 #define IUIAnimationLoopIterationChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3441 #define IUIAnimationLoopIterationChangeHandler2_Release(This) (This)->lpVtbl->Release(This)
3442 /*** IUIAnimationLoopIterationChangeHandler2 methods ***/
3443 #define IUIAnimationLoopIterationChangeHandler2_OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount) (This)->lpVtbl->OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount)
3444 #else
3445 /*** IUnknown methods ***/
3446 static FORCEINLINE HRESULT IUIAnimationLoopIterationChangeHandler2_QueryInterface(IUIAnimationLoopIterationChangeHandler2* This,REFIID riid,void **ppvObject) {
3447     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3448 }
3449 static FORCEINLINE ULONG IUIAnimationLoopIterationChangeHandler2_AddRef(IUIAnimationLoopIterationChangeHandler2* This) {
3450     return This->lpVtbl->AddRef(This);
3451 }
3452 static FORCEINLINE ULONG IUIAnimationLoopIterationChangeHandler2_Release(IUIAnimationLoopIterationChangeHandler2* This) {
3453     return This->lpVtbl->Release(This);
3454 }
3455 /*** IUIAnimationLoopIterationChangeHandler2 methods ***/
3456 static FORCEINLINE HRESULT IUIAnimationLoopIterationChangeHandler2_OnLoopIterationChanged(IUIAnimationLoopIterationChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,UINT_PTR id,unsigned int newIterationCount,unsigned int oldIterationCount) {
3457     return This->lpVtbl->OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount);
3458 }
3459 #endif
3460 #endif
3461 
3462 #endif
3463 
3464 
3465 #endif  /* __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__ */
3466 
3467 /*****************************************************************************
3468  * IUIAnimationStoryboardEventHandler2 interface
3469  */
3470 #ifndef __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__
3471 #define __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__
3472 
3473 DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler2, 0xbac5f55a, 0xba7c, 0x414c, 0xb5,0x99, 0xfb,0xf8,0x50,0xf5,0x53,0xc6);
3474 #if defined(__cplusplus) && !defined(CINTERFACE)
3475 MIDL_INTERFACE("bac5f55a-ba7c-414c-b599-fbf850f553c6")
3476 IUIAnimationStoryboardEventHandler2 : public IUnknown
3477 {
3478     virtual HRESULT STDMETHODCALLTYPE OnStoryboardStatusChanged(
3479         IUIAnimationStoryboard2 *storyboard,
3480         UI_ANIMATION_STORYBOARD_STATUS newStatus,
3481         UI_ANIMATION_STORYBOARD_STATUS previousStatus) = 0;
3482 
3483     virtual HRESULT STDMETHODCALLTYPE OnStoryboardUpdated(
3484         IUIAnimationStoryboard2 *storyboard) = 0;
3485 
3486 };
3487 #ifdef __CRT_UUID_DECL
3488 __CRT_UUID_DECL(IUIAnimationStoryboardEventHandler2, 0xbac5f55a, 0xba7c, 0x414c, 0xb5,0x99, 0xfb,0xf8,0x50,0xf5,0x53,0xc6)
3489 #endif
3490 #else
3491 typedef struct IUIAnimationStoryboardEventHandler2Vtbl {
3492     BEGIN_INTERFACE
3493 
3494     /*** IUnknown methods ***/
3495     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3496         IUIAnimationStoryboardEventHandler2 *This,
3497         REFIID riid,
3498         void **ppvObject);
3499 
3500     ULONG (STDMETHODCALLTYPE *AddRef)(
3501         IUIAnimationStoryboardEventHandler2 *This);
3502 
3503     ULONG (STDMETHODCALLTYPE *Release)(
3504         IUIAnimationStoryboardEventHandler2 *This);
3505 
3506     /*** IUIAnimationStoryboardEventHandler2 methods ***/
3507     HRESULT (STDMETHODCALLTYPE *OnStoryboardStatusChanged)(
3508         IUIAnimationStoryboardEventHandler2 *This,
3509         IUIAnimationStoryboard2 *storyboard,
3510         UI_ANIMATION_STORYBOARD_STATUS newStatus,
3511         UI_ANIMATION_STORYBOARD_STATUS previousStatus);
3512 
3513     HRESULT (STDMETHODCALLTYPE *OnStoryboardUpdated)(
3514         IUIAnimationStoryboardEventHandler2 *This,
3515         IUIAnimationStoryboard2 *storyboard);
3516 
3517     END_INTERFACE
3518 } IUIAnimationStoryboardEventHandler2Vtbl;
3519 
3520 interface IUIAnimationStoryboardEventHandler2 {
3521     CONST_VTBL IUIAnimationStoryboardEventHandler2Vtbl* lpVtbl;
3522 };
3523 
3524 #ifdef COBJMACROS
3525 #ifndef WIDL_C_INLINE_WRAPPERS
3526 /*** IUnknown methods ***/
3527 #define IUIAnimationStoryboardEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3528 #define IUIAnimationStoryboardEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3529 #define IUIAnimationStoryboardEventHandler2_Release(This) (This)->lpVtbl->Release(This)
3530 /*** IUIAnimationStoryboardEventHandler2 methods ***/
3531 #define IUIAnimationStoryboardEventHandler2_OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) (This)->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus)
3532 #define IUIAnimationStoryboardEventHandler2_OnStoryboardUpdated(This,storyboard) (This)->lpVtbl->OnStoryboardUpdated(This,storyboard)
3533 #else
3534 /*** IUnknown methods ***/
3535 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler2_QueryInterface(IUIAnimationStoryboardEventHandler2* This,REFIID riid,void **ppvObject) {
3536     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3537 }
3538 static FORCEINLINE ULONG IUIAnimationStoryboardEventHandler2_AddRef(IUIAnimationStoryboardEventHandler2* This) {
3539     return This->lpVtbl->AddRef(This);
3540 }
3541 static FORCEINLINE ULONG IUIAnimationStoryboardEventHandler2_Release(IUIAnimationStoryboardEventHandler2* This) {
3542     return This->lpVtbl->Release(This);
3543 }
3544 /*** IUIAnimationStoryboardEventHandler2 methods ***/
3545 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler2_OnStoryboardStatusChanged(IUIAnimationStoryboardEventHandler2* This,IUIAnimationStoryboard2 *storyboard,UI_ANIMATION_STORYBOARD_STATUS newStatus,UI_ANIMATION_STORYBOARD_STATUS previousStatus) {
3546     return This->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus);
3547 }
3548 static FORCEINLINE HRESULT IUIAnimationStoryboardEventHandler2_OnStoryboardUpdated(IUIAnimationStoryboardEventHandler2* This,IUIAnimationStoryboard2 *storyboard) {
3549     return This->lpVtbl->OnStoryboardUpdated(This,storyboard);
3550 }
3551 #endif
3552 #endif
3553 
3554 #endif
3555 
3556 
3557 #endif  /* __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__ */
3558 
3559 /*****************************************************************************
3560  * IUIAnimationVariableChangeHandler2 interface
3561  */
3562 #ifndef __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__
3563 #define __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__
3564 
3565 DEFINE_GUID(IID_IUIAnimationVariableChangeHandler2, 0x63acc8d2, 0x6eae, 0x4bb0, 0xb8,0x79, 0x58,0x6d,0xd8,0xcf,0xbe,0x42);
3566 #if defined(__cplusplus) && !defined(CINTERFACE)
3567 MIDL_INTERFACE("63acc8d2-6eae-4bb0-b879-586dd8cfbe42")
3568 IUIAnimationVariableChangeHandler2 : public IUnknown
3569 {
3570     virtual HRESULT STDMETHODCALLTYPE OnValueChanged(
3571         IUIAnimationStoryboard2 *storyboard,
3572         IUIAnimationVariable2 *variable,
3573         double *newValue,
3574         double *previousValue,
3575         unsigned int cDimension) = 0;
3576 
3577 };
3578 #ifdef __CRT_UUID_DECL
3579 __CRT_UUID_DECL(IUIAnimationVariableChangeHandler2, 0x63acc8d2, 0x6eae, 0x4bb0, 0xb8,0x79, 0x58,0x6d,0xd8,0xcf,0xbe,0x42)
3580 #endif
3581 #else
3582 typedef struct IUIAnimationVariableChangeHandler2Vtbl {
3583     BEGIN_INTERFACE
3584 
3585     /*** IUnknown methods ***/
3586     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3587         IUIAnimationVariableChangeHandler2 *This,
3588         REFIID riid,
3589         void **ppvObject);
3590 
3591     ULONG (STDMETHODCALLTYPE *AddRef)(
3592         IUIAnimationVariableChangeHandler2 *This);
3593 
3594     ULONG (STDMETHODCALLTYPE *Release)(
3595         IUIAnimationVariableChangeHandler2 *This);
3596 
3597     /*** IUIAnimationVariableChangeHandler2 methods ***/
3598     HRESULT (STDMETHODCALLTYPE *OnValueChanged)(
3599         IUIAnimationVariableChangeHandler2 *This,
3600         IUIAnimationStoryboard2 *storyboard,
3601         IUIAnimationVariable2 *variable,
3602         double *newValue,
3603         double *previousValue,
3604         unsigned int cDimension);
3605 
3606     END_INTERFACE
3607 } IUIAnimationVariableChangeHandler2Vtbl;
3608 
3609 interface IUIAnimationVariableChangeHandler2 {
3610     CONST_VTBL IUIAnimationVariableChangeHandler2Vtbl* lpVtbl;
3611 };
3612 
3613 #ifdef COBJMACROS
3614 #ifndef WIDL_C_INLINE_WRAPPERS
3615 /*** IUnknown methods ***/
3616 #define IUIAnimationVariableChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3617 #define IUIAnimationVariableChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3618 #define IUIAnimationVariableChangeHandler2_Release(This) (This)->lpVtbl->Release(This)
3619 /*** IUIAnimationVariableChangeHandler2 methods ***/
3620 #define IUIAnimationVariableChangeHandler2_OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) (This)->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension)
3621 #else
3622 /*** IUnknown methods ***/
3623 static FORCEINLINE HRESULT IUIAnimationVariableChangeHandler2_QueryInterface(IUIAnimationVariableChangeHandler2* This,REFIID riid,void **ppvObject) {
3624     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3625 }
3626 static FORCEINLINE ULONG IUIAnimationVariableChangeHandler2_AddRef(IUIAnimationVariableChangeHandler2* This) {
3627     return This->lpVtbl->AddRef(This);
3628 }
3629 static FORCEINLINE ULONG IUIAnimationVariableChangeHandler2_Release(IUIAnimationVariableChangeHandler2* This) {
3630     return This->lpVtbl->Release(This);
3631 }
3632 /*** IUIAnimationVariableChangeHandler2 methods ***/
3633 static FORCEINLINE HRESULT IUIAnimationVariableChangeHandler2_OnValueChanged(IUIAnimationVariableChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,IUIAnimationVariable2 *variable,double *newValue,double *previousValue,unsigned int cDimension) {
3634     return This->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension);
3635 }
3636 #endif
3637 #endif
3638 
3639 #endif
3640 
3641 
3642 #endif  /* __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__ */
3643 
3644 /*****************************************************************************
3645  * IUIAnimationVariableIntegerChangeHandler2 interface
3646  */
3647 #ifndef __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__
3648 #define __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__
3649 
3650 DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler2, 0x829b6cf1, 0x4f3a, 0x4412, 0xae,0x09, 0xb2,0x43,0xeb,0x4c,0x6b,0x58);
3651 #if defined(__cplusplus) && !defined(CINTERFACE)
3652 MIDL_INTERFACE("829b6cf1-4f3a-4412-ae09-b243eb4c6b58")
3653 IUIAnimationVariableIntegerChangeHandler2 : public IUnknown
3654 {
3655     virtual HRESULT STDMETHODCALLTYPE OnIntegerValueChanged(
3656         IUIAnimationStoryboard2 *storyboard,
3657         IUIAnimationVariable2 *variable,
3658         int *newValue,
3659         int *previousValue,
3660         unsigned int cDimension) = 0;
3661 
3662 };
3663 #ifdef __CRT_UUID_DECL
3664 __CRT_UUID_DECL(IUIAnimationVariableIntegerChangeHandler2, 0x829b6cf1, 0x4f3a, 0x4412, 0xae,0x09, 0xb2,0x43,0xeb,0x4c,0x6b,0x58)
3665 #endif
3666 #else
3667 typedef struct IUIAnimationVariableIntegerChangeHandler2Vtbl {
3668     BEGIN_INTERFACE
3669 
3670     /*** IUnknown methods ***/
3671     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3672         IUIAnimationVariableIntegerChangeHandler2 *This,
3673         REFIID riid,
3674         void **ppvObject);
3675 
3676     ULONG (STDMETHODCALLTYPE *AddRef)(
3677         IUIAnimationVariableIntegerChangeHandler2 *This);
3678 
3679     ULONG (STDMETHODCALLTYPE *Release)(
3680         IUIAnimationVariableIntegerChangeHandler2 *This);
3681 
3682     /*** IUIAnimationVariableIntegerChangeHandler2 methods ***/
3683     HRESULT (STDMETHODCALLTYPE *OnIntegerValueChanged)(
3684         IUIAnimationVariableIntegerChangeHandler2 *This,
3685         IUIAnimationStoryboard2 *storyboard,
3686         IUIAnimationVariable2 *variable,
3687         int *newValue,
3688         int *previousValue,
3689         unsigned int cDimension);
3690 
3691     END_INTERFACE
3692 } IUIAnimationVariableIntegerChangeHandler2Vtbl;
3693 
3694 interface IUIAnimationVariableIntegerChangeHandler2 {
3695     CONST_VTBL IUIAnimationVariableIntegerChangeHandler2Vtbl* lpVtbl;
3696 };
3697 
3698 #ifdef COBJMACROS
3699 #ifndef WIDL_C_INLINE_WRAPPERS
3700 /*** IUnknown methods ***/
3701 #define IUIAnimationVariableIntegerChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3702 #define IUIAnimationVariableIntegerChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3703 #define IUIAnimationVariableIntegerChangeHandler2_Release(This) (This)->lpVtbl->Release(This)
3704 /*** IUIAnimationVariableIntegerChangeHandler2 methods ***/
3705 #define IUIAnimationVariableIntegerChangeHandler2_OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) (This)->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension)
3706 #else
3707 /*** IUnknown methods ***/
3708 static FORCEINLINE HRESULT IUIAnimationVariableIntegerChangeHandler2_QueryInterface(IUIAnimationVariableIntegerChangeHandler2* This,REFIID riid,void **ppvObject) {
3709     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3710 }
3711 static FORCEINLINE ULONG IUIAnimationVariableIntegerChangeHandler2_AddRef(IUIAnimationVariableIntegerChangeHandler2* This) {
3712     return This->lpVtbl->AddRef(This);
3713 }
3714 static FORCEINLINE ULONG IUIAnimationVariableIntegerChangeHandler2_Release(IUIAnimationVariableIntegerChangeHandler2* This) {
3715     return This->lpVtbl->Release(This);
3716 }
3717 /*** IUIAnimationVariableIntegerChangeHandler2 methods ***/
3718 static FORCEINLINE HRESULT IUIAnimationVariableIntegerChangeHandler2_OnIntegerValueChanged(IUIAnimationVariableIntegerChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,IUIAnimationVariable2 *variable,int *newValue,int *previousValue,unsigned int cDimension) {
3719     return This->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension);
3720 }
3721 #endif
3722 #endif
3723 
3724 #endif
3725 
3726 
3727 #endif  /* __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__ */
3728 
3729 /*****************************************************************************
3730  * IUIAnimationVariableCurveChangeHandler2 interface
3731  */
3732 #ifndef __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__
3733 #define __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__
3734 
3735 DEFINE_GUID(IID_IUIAnimationVariableCurveChangeHandler2, 0x72895e91, 0x0145, 0x4c21, 0x91,0x92, 0x5a,0xab,0x40,0xed,0xdf,0x80);
3736 #if defined(__cplusplus) && !defined(CINTERFACE)
3737 MIDL_INTERFACE("72895e91-0145-4c21-9192-5aab40eddf80")
3738 IUIAnimationVariableCurveChangeHandler2 : public IUnknown
3739 {
3740     virtual HRESULT STDMETHODCALLTYPE OnCurveChanged(
3741         IUIAnimationVariable2 *variable) = 0;
3742 
3743 };
3744 #ifdef __CRT_UUID_DECL
3745 __CRT_UUID_DECL(IUIAnimationVariableCurveChangeHandler2, 0x72895e91, 0x0145, 0x4c21, 0x91,0x92, 0x5a,0xab,0x40,0xed,0xdf,0x80)
3746 #endif
3747 #else
3748 typedef struct IUIAnimationVariableCurveChangeHandler2Vtbl {
3749     BEGIN_INTERFACE
3750 
3751     /*** IUnknown methods ***/
3752     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3753         IUIAnimationVariableCurveChangeHandler2 *This,
3754         REFIID riid,
3755         void **ppvObject);
3756 
3757     ULONG (STDMETHODCALLTYPE *AddRef)(
3758         IUIAnimationVariableCurveChangeHandler2 *This);
3759 
3760     ULONG (STDMETHODCALLTYPE *Release)(
3761         IUIAnimationVariableCurveChangeHandler2 *This);
3762 
3763     /*** IUIAnimationVariableCurveChangeHandler2 methods ***/
3764     HRESULT (STDMETHODCALLTYPE *OnCurveChanged)(
3765         IUIAnimationVariableCurveChangeHandler2 *This,
3766         IUIAnimationVariable2 *variable);
3767 
3768     END_INTERFACE
3769 } IUIAnimationVariableCurveChangeHandler2Vtbl;
3770 
3771 interface IUIAnimationVariableCurveChangeHandler2 {
3772     CONST_VTBL IUIAnimationVariableCurveChangeHandler2Vtbl* lpVtbl;
3773 };
3774 
3775 #ifdef COBJMACROS
3776 #ifndef WIDL_C_INLINE_WRAPPERS
3777 /*** IUnknown methods ***/
3778 #define IUIAnimationVariableCurveChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3779 #define IUIAnimationVariableCurveChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3780 #define IUIAnimationVariableCurveChangeHandler2_Release(This) (This)->lpVtbl->Release(This)
3781 /*** IUIAnimationVariableCurveChangeHandler2 methods ***/
3782 #define IUIAnimationVariableCurveChangeHandler2_OnCurveChanged(This,variable) (This)->lpVtbl->OnCurveChanged(This,variable)
3783 #else
3784 /*** IUnknown methods ***/
3785 static FORCEINLINE HRESULT IUIAnimationVariableCurveChangeHandler2_QueryInterface(IUIAnimationVariableCurveChangeHandler2* This,REFIID riid,void **ppvObject) {
3786     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3787 }
3788 static FORCEINLINE ULONG IUIAnimationVariableCurveChangeHandler2_AddRef(IUIAnimationVariableCurveChangeHandler2* This) {
3789     return This->lpVtbl->AddRef(This);
3790 }
3791 static FORCEINLINE ULONG IUIAnimationVariableCurveChangeHandler2_Release(IUIAnimationVariableCurveChangeHandler2* This) {
3792     return This->lpVtbl->Release(This);
3793 }
3794 /*** IUIAnimationVariableCurveChangeHandler2 methods ***/
3795 static FORCEINLINE HRESULT IUIAnimationVariableCurveChangeHandler2_OnCurveChanged(IUIAnimationVariableCurveChangeHandler2* This,IUIAnimationVariable2 *variable) {
3796     return This->lpVtbl->OnCurveChanged(This,variable);
3797 }
3798 #endif
3799 #endif
3800 
3801 #endif
3802 
3803 
3804 #endif  /* __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__ */
3805 
3806 /*****************************************************************************
3807  * IUIAnimationManagerEventHandler2 interface
3808  */
3809 #ifndef __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__
3810 #define __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__
3811 
3812 DEFINE_GUID(IID_IUIAnimationManagerEventHandler2, 0xf6e022ba, 0xbff3, 0x42ec, 0x90,0x33, 0xe0,0x73,0xf3,0x3e,0x83,0xc3);
3813 #if defined(__cplusplus) && !defined(CINTERFACE)
3814 MIDL_INTERFACE("f6e022ba-bff3-42ec-9033-e073f33e83c3")
3815 IUIAnimationManagerEventHandler2 : public IUnknown
3816 {
3817     virtual HRESULT STDMETHODCALLTYPE OnManagerStatusChanged(
3818         UI_ANIMATION_MANAGER_STATUS newStatus,
3819         UI_ANIMATION_MANAGER_STATUS previousStatus) = 0;
3820 
3821 };
3822 #ifdef __CRT_UUID_DECL
3823 __CRT_UUID_DECL(IUIAnimationManagerEventHandler2, 0xf6e022ba, 0xbff3, 0x42ec, 0x90,0x33, 0xe0,0x73,0xf3,0x3e,0x83,0xc3)
3824 #endif
3825 #else
3826 typedef struct IUIAnimationManagerEventHandler2Vtbl {
3827     BEGIN_INTERFACE
3828 
3829     /*** IUnknown methods ***/
3830     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3831         IUIAnimationManagerEventHandler2 *This,
3832         REFIID riid,
3833         void **ppvObject);
3834 
3835     ULONG (STDMETHODCALLTYPE *AddRef)(
3836         IUIAnimationManagerEventHandler2 *This);
3837 
3838     ULONG (STDMETHODCALLTYPE *Release)(
3839         IUIAnimationManagerEventHandler2 *This);
3840 
3841     /*** IUIAnimationManagerEventHandler2 methods ***/
3842     HRESULT (STDMETHODCALLTYPE *OnManagerStatusChanged)(
3843         IUIAnimationManagerEventHandler2 *This,
3844         UI_ANIMATION_MANAGER_STATUS newStatus,
3845         UI_ANIMATION_MANAGER_STATUS previousStatus);
3846 
3847     END_INTERFACE
3848 } IUIAnimationManagerEventHandler2Vtbl;
3849 
3850 interface IUIAnimationManagerEventHandler2 {
3851     CONST_VTBL IUIAnimationManagerEventHandler2Vtbl* lpVtbl;
3852 };
3853 
3854 #ifdef COBJMACROS
3855 #ifndef WIDL_C_INLINE_WRAPPERS
3856 /*** IUnknown methods ***/
3857 #define IUIAnimationManagerEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3858 #define IUIAnimationManagerEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This)
3859 #define IUIAnimationManagerEventHandler2_Release(This) (This)->lpVtbl->Release(This)
3860 /*** IUIAnimationManagerEventHandler2 methods ***/
3861 #define IUIAnimationManagerEventHandler2_OnManagerStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus)
3862 #else
3863 /*** IUnknown methods ***/
3864 static FORCEINLINE HRESULT IUIAnimationManagerEventHandler2_QueryInterface(IUIAnimationManagerEventHandler2* This,REFIID riid,void **ppvObject) {
3865     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3866 }
3867 static FORCEINLINE ULONG IUIAnimationManagerEventHandler2_AddRef(IUIAnimationManagerEventHandler2* This) {
3868     return This->lpVtbl->AddRef(This);
3869 }
3870 static FORCEINLINE ULONG IUIAnimationManagerEventHandler2_Release(IUIAnimationManagerEventHandler2* This) {
3871     return This->lpVtbl->Release(This);
3872 }
3873 /*** IUIAnimationManagerEventHandler2 methods ***/
3874 static FORCEINLINE HRESULT IUIAnimationManagerEventHandler2_OnManagerStatusChanged(IUIAnimationManagerEventHandler2* This,UI_ANIMATION_MANAGER_STATUS newStatus,UI_ANIMATION_MANAGER_STATUS previousStatus) {
3875     return This->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus);
3876 }
3877 #endif
3878 #endif
3879 
3880 #endif
3881 
3882 
3883 #endif  /* __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__ */
3884 
3885 /*****************************************************************************
3886  * IUIAnimationPriorityComparison2 interface
3887  */
3888 #ifndef __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__
3889 #define __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__
3890 
3891 DEFINE_GUID(IID_IUIAnimationPriorityComparison2, 0x5b6d7a37, 0x4621, 0x467c, 0x8b,0x05, 0x70,0x13,0x1d,0xe6,0x2d,0xdb);
3892 #if defined(__cplusplus) && !defined(CINTERFACE)
3893 MIDL_INTERFACE("5b6d7a37-4621-467c-8b05-70131de62ddb")
3894 IUIAnimationPriorityComparison2 : public IUnknown
3895 {
3896     virtual HRESULT STDMETHODCALLTYPE HasPriority(
3897         IUIAnimationStoryboard2 *scheduledStoryboard,
3898         IUIAnimationStoryboard2 *newStoryboard,
3899         UI_ANIMATION_PRIORITY_EFFECT priorityEffect) = 0;
3900 
3901 };
3902 #ifdef __CRT_UUID_DECL
3903 __CRT_UUID_DECL(IUIAnimationPriorityComparison2, 0x5b6d7a37, 0x4621, 0x467c, 0x8b,0x05, 0x70,0x13,0x1d,0xe6,0x2d,0xdb)
3904 #endif
3905 #else
3906 typedef struct IUIAnimationPriorityComparison2Vtbl {
3907     BEGIN_INTERFACE
3908 
3909     /*** IUnknown methods ***/
3910     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3911         IUIAnimationPriorityComparison2 *This,
3912         REFIID riid,
3913         void **ppvObject);
3914 
3915     ULONG (STDMETHODCALLTYPE *AddRef)(
3916         IUIAnimationPriorityComparison2 *This);
3917 
3918     ULONG (STDMETHODCALLTYPE *Release)(
3919         IUIAnimationPriorityComparison2 *This);
3920 
3921     /*** IUIAnimationPriorityComparison2 methods ***/
3922     HRESULT (STDMETHODCALLTYPE *HasPriority)(
3923         IUIAnimationPriorityComparison2 *This,
3924         IUIAnimationStoryboard2 *scheduledStoryboard,
3925         IUIAnimationStoryboard2 *newStoryboard,
3926         UI_ANIMATION_PRIORITY_EFFECT priorityEffect);
3927 
3928     END_INTERFACE
3929 } IUIAnimationPriorityComparison2Vtbl;
3930 
3931 interface IUIAnimationPriorityComparison2 {
3932     CONST_VTBL IUIAnimationPriorityComparison2Vtbl* lpVtbl;
3933 };
3934 
3935 #ifdef COBJMACROS
3936 #ifndef WIDL_C_INLINE_WRAPPERS
3937 /*** IUnknown methods ***/
3938 #define IUIAnimationPriorityComparison2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3939 #define IUIAnimationPriorityComparison2_AddRef(This) (This)->lpVtbl->AddRef(This)
3940 #define IUIAnimationPriorityComparison2_Release(This) (This)->lpVtbl->Release(This)
3941 /*** IUIAnimationPriorityComparison2 methods ***/
3942 #define IUIAnimationPriorityComparison2_HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) (This)->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect)
3943 #else
3944 /*** IUnknown methods ***/
3945 static FORCEINLINE HRESULT IUIAnimationPriorityComparison2_QueryInterface(IUIAnimationPriorityComparison2* This,REFIID riid,void **ppvObject) {
3946     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3947 }
3948 static FORCEINLINE ULONG IUIAnimationPriorityComparison2_AddRef(IUIAnimationPriorityComparison2* This) {
3949     return This->lpVtbl->AddRef(This);
3950 }
3951 static FORCEINLINE ULONG IUIAnimationPriorityComparison2_Release(IUIAnimationPriorityComparison2* This) {
3952     return This->lpVtbl->Release(This);
3953 }
3954 /*** IUIAnimationPriorityComparison2 methods ***/
3955 static FORCEINLINE HRESULT IUIAnimationPriorityComparison2_HasPriority(IUIAnimationPriorityComparison2* This,IUIAnimationStoryboard2 *scheduledStoryboard,IUIAnimationStoryboard2 *newStoryboard,UI_ANIMATION_PRIORITY_EFFECT priorityEffect) {
3956     return This->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect);
3957 }
3958 #endif
3959 #endif
3960 
3961 #endif
3962 
3963 
3964 #endif  /* __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__ */
3965 
3966 /*****************************************************************************
3967  * IUIAnimationTransitionLibrary interface
3968  */
3969 #ifndef __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__
3970 #define __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__
3971 
3972 DEFINE_GUID(IID_IUIAnimationTransitionLibrary, 0xca5a14b1, 0xd24f, 0x48b8, 0x8f,0xe4, 0xc7,0x81,0x69,0xba,0x95,0x4e);
3973 #if defined(__cplusplus) && !defined(CINTERFACE)
3974 MIDL_INTERFACE("ca5a14b1-d24f-48b8-8fe4-c78169ba954e")
3975 IUIAnimationTransitionLibrary : public IUnknown
3976 {
3977     virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousTransition(
3978         double finalValue,
3979         IUIAnimationTransition **transition) = 0;
3980 
3981     virtual HRESULT STDMETHODCALLTYPE CreateConstantTransition(
3982         double duration,
3983         IUIAnimationTransition **transition) = 0;
3984 
3985     virtual HRESULT STDMETHODCALLTYPE CreateDiscreteTransition(
3986         double delay,
3987         double finalValue,
3988         double hold,
3989         IUIAnimationTransition **transition) = 0;
3990 
3991     virtual HRESULT STDMETHODCALLTYPE CreateLinearTransition(
3992         double duration,
3993         double finalValue,
3994         IUIAnimationTransition **transition) = 0;
3995 
3996     virtual HRESULT STDMETHODCALLTYPE CreateLinearTransitionFromSpeed(
3997         double speed,
3998         double finalValue,
3999         IUIAnimationTransition **transition) = 0;
4000 
4001     virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromVelocity(
4002         double duration,
4003         double period,
4004         IUIAnimationTransition **transition) = 0;
4005 
4006     virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromRange(
4007         double duration,
4008         double minimumValue,
4009         double maximumValue,
4010         double period,
4011         UI_ANIMATION_SLOPE slope,
4012         IUIAnimationTransition **transition) = 0;
4013 
4014     virtual HRESULT STDMETHODCALLTYPE CreateAccelerateDecelerateTransition(
4015         double duration,
4016         double finalValue,
4017         double accelerationRatio,
4018         double decelerationRatio,
4019         IUIAnimationTransition **transition) = 0;
4020 
4021     virtual HRESULT STDMETHODCALLTYPE CreateReversalTransition(
4022         double duration,
4023         IUIAnimationTransition **transition) = 0;
4024 
4025     virtual HRESULT STDMETHODCALLTYPE CreateCubicTransition(
4026         double duration,
4027         double finalValue,
4028         double finalVelocity,
4029         IUIAnimationTransition **transition) = 0;
4030 
4031     virtual HRESULT STDMETHODCALLTYPE CreateSmoothStopTransition(
4032         double maximumDuration,
4033         double finalValue,
4034         IUIAnimationTransition **transition) = 0;
4035 
4036     virtual HRESULT STDMETHODCALLTYPE CreateParabolicTransitionFromAcceleration(
4037         double finalValue,
4038         double finalVelocity,
4039         double acceleration,
4040         IUIAnimationTransition **transition) = 0;
4041 
4042 };
4043 #ifdef __CRT_UUID_DECL
4044 __CRT_UUID_DECL(IUIAnimationTransitionLibrary, 0xca5a14b1, 0xd24f, 0x48b8, 0x8f,0xe4, 0xc7,0x81,0x69,0xba,0x95,0x4e)
4045 #endif
4046 #else
4047 typedef struct IUIAnimationTransitionLibraryVtbl {
4048     BEGIN_INTERFACE
4049 
4050     /*** IUnknown methods ***/
4051     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4052         IUIAnimationTransitionLibrary *This,
4053         REFIID riid,
4054         void **ppvObject);
4055 
4056     ULONG (STDMETHODCALLTYPE *AddRef)(
4057         IUIAnimationTransitionLibrary *This);
4058 
4059     ULONG (STDMETHODCALLTYPE *Release)(
4060         IUIAnimationTransitionLibrary *This);
4061 
4062     /*** IUIAnimationTransitionLibrary methods ***/
4063     HRESULT (STDMETHODCALLTYPE *CreateInstantaneousTransition)(
4064         IUIAnimationTransitionLibrary *This,
4065         double finalValue,
4066         IUIAnimationTransition **transition);
4067 
4068     HRESULT (STDMETHODCALLTYPE *CreateConstantTransition)(
4069         IUIAnimationTransitionLibrary *This,
4070         double duration,
4071         IUIAnimationTransition **transition);
4072 
4073     HRESULT (STDMETHODCALLTYPE *CreateDiscreteTransition)(
4074         IUIAnimationTransitionLibrary *This,
4075         double delay,
4076         double finalValue,
4077         double hold,
4078         IUIAnimationTransition **transition);
4079 
4080     HRESULT (STDMETHODCALLTYPE *CreateLinearTransition)(
4081         IUIAnimationTransitionLibrary *This,
4082         double duration,
4083         double finalValue,
4084         IUIAnimationTransition **transition);
4085 
4086     HRESULT (STDMETHODCALLTYPE *CreateLinearTransitionFromSpeed)(
4087         IUIAnimationTransitionLibrary *This,
4088         double speed,
4089         double finalValue,
4090         IUIAnimationTransition **transition);
4091 
4092     HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromVelocity)(
4093         IUIAnimationTransitionLibrary *This,
4094         double duration,
4095         double period,
4096         IUIAnimationTransition **transition);
4097 
4098     HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromRange)(
4099         IUIAnimationTransitionLibrary *This,
4100         double duration,
4101         double minimumValue,
4102         double maximumValue,
4103         double period,
4104         UI_ANIMATION_SLOPE slope,
4105         IUIAnimationTransition **transition);
4106 
4107     HRESULT (STDMETHODCALLTYPE *CreateAccelerateDecelerateTransition)(
4108         IUIAnimationTransitionLibrary *This,
4109         double duration,
4110         double finalValue,
4111         double accelerationRatio,
4112         double decelerationRatio,
4113         IUIAnimationTransition **transition);
4114 
4115     HRESULT (STDMETHODCALLTYPE *CreateReversalTransition)(
4116         IUIAnimationTransitionLibrary *This,
4117         double duration,
4118         IUIAnimationTransition **transition);
4119 
4120     HRESULT (STDMETHODCALLTYPE *CreateCubicTransition)(
4121         IUIAnimationTransitionLibrary *This,
4122         double duration,
4123         double finalValue,
4124         double finalVelocity,
4125         IUIAnimationTransition **transition);
4126 
4127     HRESULT (STDMETHODCALLTYPE *CreateSmoothStopTransition)(
4128         IUIAnimationTransitionLibrary *This,
4129         double maximumDuration,
4130         double finalValue,
4131         IUIAnimationTransition **transition);
4132 
4133     HRESULT (STDMETHODCALLTYPE *CreateParabolicTransitionFromAcceleration)(
4134         IUIAnimationTransitionLibrary *This,
4135         double finalValue,
4136         double finalVelocity,
4137         double acceleration,
4138         IUIAnimationTransition **transition);
4139 
4140     END_INTERFACE
4141 } IUIAnimationTransitionLibraryVtbl;
4142 
4143 interface IUIAnimationTransitionLibrary {
4144     CONST_VTBL IUIAnimationTransitionLibraryVtbl* lpVtbl;
4145 };
4146 
4147 #ifdef COBJMACROS
4148 #ifndef WIDL_C_INLINE_WRAPPERS
4149 /*** IUnknown methods ***/
4150 #define IUIAnimationTransitionLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4151 #define IUIAnimationTransitionLibrary_AddRef(This) (This)->lpVtbl->AddRef(This)
4152 #define IUIAnimationTransitionLibrary_Release(This) (This)->lpVtbl->Release(This)
4153 /*** IUIAnimationTransitionLibrary methods ***/
4154 #define IUIAnimationTransitionLibrary_CreateInstantaneousTransition(This,finalValue,transition) (This)->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition)
4155 #define IUIAnimationTransitionLibrary_CreateConstantTransition(This,duration,transition) (This)->lpVtbl->CreateConstantTransition(This,duration,transition)
4156 #define IUIAnimationTransitionLibrary_CreateDiscreteTransition(This,delay,finalValue,hold,transition) (This)->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition)
4157 #define IUIAnimationTransitionLibrary_CreateLinearTransition(This,duration,finalValue,transition) (This)->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition)
4158 #define IUIAnimationTransitionLibrary_CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) (This)->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition)
4159 #define IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition)
4160 #define IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition)
4161 #define IUIAnimationTransitionLibrary_CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) (This)->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition)
4162 #define IUIAnimationTransitionLibrary_CreateReversalTransition(This,duration,transition) (This)->lpVtbl->CreateReversalTransition(This,duration,transition)
4163 #define IUIAnimationTransitionLibrary_CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) (This)->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition)
4164 #define IUIAnimationTransitionLibrary_CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) (This)->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition)
4165 #define IUIAnimationTransitionLibrary_CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) (This)->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition)
4166 #else
4167 /*** IUnknown methods ***/
4168 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_QueryInterface(IUIAnimationTransitionLibrary* This,REFIID riid,void **ppvObject) {
4169     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4170 }
4171 static FORCEINLINE ULONG IUIAnimationTransitionLibrary_AddRef(IUIAnimationTransitionLibrary* This) {
4172     return This->lpVtbl->AddRef(This);
4173 }
4174 static FORCEINLINE ULONG IUIAnimationTransitionLibrary_Release(IUIAnimationTransitionLibrary* This) {
4175     return This->lpVtbl->Release(This);
4176 }
4177 /*** IUIAnimationTransitionLibrary methods ***/
4178 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateInstantaneousTransition(IUIAnimationTransitionLibrary* This,double finalValue,IUIAnimationTransition **transition) {
4179     return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition);
4180 }
4181 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateConstantTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) {
4182     return This->lpVtbl->CreateConstantTransition(This,duration,transition);
4183 }
4184 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateDiscreteTransition(IUIAnimationTransitionLibrary* This,double delay,double finalValue,double hold,IUIAnimationTransition **transition) {
4185     return This->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition);
4186 }
4187 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateLinearTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,IUIAnimationTransition **transition) {
4188     return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition);
4189 }
4190 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary* This,double speed,double finalValue,IUIAnimationTransition **transition) {
4191     return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition);
4192 }
4193 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary* This,double duration,double period,IUIAnimationTransition **transition) {
4194     return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition);
4195 }
4196 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromRange(IUIAnimationTransitionLibrary* This,double duration,double minimumValue,double maximumValue,double period,UI_ANIMATION_SLOPE slope,IUIAnimationTransition **transition) {
4197     return This->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition);
4198 }
4199 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateAccelerateDecelerateTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,double accelerationRatio,double decelerationRatio,IUIAnimationTransition **transition) {
4200     return This->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition);
4201 }
4202 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateReversalTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) {
4203     return This->lpVtbl->CreateReversalTransition(This,duration,transition);
4204 }
4205 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateCubicTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,double finalVelocity,IUIAnimationTransition **transition) {
4206     return This->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition);
4207 }
4208 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateSmoothStopTransition(IUIAnimationTransitionLibrary* This,double maximumDuration,double finalValue,IUIAnimationTransition **transition) {
4209     return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition);
4210 }
4211 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary_CreateParabolicTransitionFromAcceleration(IUIAnimationTransitionLibrary* This,double finalValue,double finalVelocity,double acceleration,IUIAnimationTransition **transition) {
4212     return This->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition);
4213 }
4214 #endif
4215 #endif
4216 
4217 #endif
4218 
4219 
4220 #endif  /* __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__ */
4221 
4222 /*****************************************************************************
4223  * IUIAnimationTransitionLibrary2 interface
4224  */
4225 #ifndef __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__
4226 #define __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__
4227 
4228 DEFINE_GUID(IID_IUIAnimationTransitionLibrary2, 0x03cfae53, 0x9580, 0x4ee3, 0xb3,0x63, 0x2e,0xce,0x51,0xb4,0xaf,0x6a);
4229 #if defined(__cplusplus) && !defined(CINTERFACE)
4230 MIDL_INTERFACE("03cfae53-9580-4ee3-b363-2ece51b4af6a")
4231 IUIAnimationTransitionLibrary2 : public IUnknown
4232 {
4233     virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousTransition(
4234         double finalValue,
4235         IUIAnimationTransition2 **transition) = 0;
4236 
4237     virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousVectorTransition(
4238         double *finalValue,
4239         unsigned int cDimension,
4240         IUIAnimationTransition2 **transition) = 0;
4241 
4242     virtual HRESULT STDMETHODCALLTYPE CreateConstantTransition(
4243         double duration,
4244         IUIAnimationTransition2 **transition) = 0;
4245 
4246     virtual HRESULT STDMETHODCALLTYPE CreateDiscreteTransition(
4247         double delay,
4248         double finalValue,
4249         double hold,
4250         IUIAnimationTransition2 **transition) = 0;
4251 
4252     virtual HRESULT STDMETHODCALLTYPE CreateDiscreteVectorTransition(
4253         double delay,
4254         double *finalValue,
4255         unsigned int cDimension,
4256         double hold,
4257         IUIAnimationTransition2 **transition) = 0;
4258 
4259     virtual HRESULT STDMETHODCALLTYPE CreateLinearTransition(
4260         double duration,
4261         double finalValue,
4262         IUIAnimationTransition2 **transition) = 0;
4263 
4264     virtual HRESULT STDMETHODCALLTYPE CreateLinearVectorTransition(
4265         double duration,
4266         double *finalValue,
4267         unsigned int cDimension,
4268         IUIAnimationTransition2 **transition) = 0;
4269 
4270     virtual HRESULT STDMETHODCALLTYPE CreateLinearTransitionFromSpeed(
4271         double speed,
4272         double finalValue,
4273         IUIAnimationTransition2 **transition) = 0;
4274 
4275     virtual HRESULT STDMETHODCALLTYPE CreateLinearVectorTransitionFromSpeed(
4276         double speed,
4277         double *finalValue,
4278         unsigned int cDimension,
4279         IUIAnimationTransition2 **transition) = 0;
4280 
4281     virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromVelocity(
4282         double duration,
4283         double period,
4284         IUIAnimationTransition2 **transition) = 0;
4285 
4286     virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromRange(
4287         double duration,
4288         double minimumValue,
4289         double maximumValue,
4290         double period,
4291         UI_ANIMATION_SLOPE slope,
4292         IUIAnimationTransition2 **transition) = 0;
4293 
4294     virtual HRESULT STDMETHODCALLTYPE CreateAccelerateDecelerateTransition(
4295         double duration,
4296         double finalValue,
4297         double accelerationRatio,
4298         double decelerationRatio,
4299         IUIAnimationTransition2 **transition) = 0;
4300 
4301     virtual HRESULT STDMETHODCALLTYPE CreateReversalTransition(
4302         double duration,
4303         IUIAnimationTransition2 **transition) = 0;
4304 
4305     virtual HRESULT STDMETHODCALLTYPE CreateCubicTransition(
4306         double duration,
4307         double finalValue,
4308         double finalVelocity,
4309         IUIAnimationTransition2 **transition) = 0;
4310 
4311     virtual HRESULT STDMETHODCALLTYPE CreateCubicVectorTransition(
4312         double duration,
4313         double *finalValue,
4314         double *finalVelocity,
4315         unsigned int cDimension,
4316         IUIAnimationTransition2 **transition) = 0;
4317 
4318     virtual HRESULT STDMETHODCALLTYPE CreateSmoothStopTransition(
4319         double maximumDuration,
4320         double finalValue,
4321         IUIAnimationTransition2 **transition) = 0;
4322 
4323     virtual HRESULT STDMETHODCALLTYPE CreateParabolicTransitionFromAcceleration(
4324         double finalValue,
4325         double finalVelocity,
4326         double acceleration,
4327         IUIAnimationTransition2 **transition) = 0;
4328 
4329     virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierLinearTransition(
4330         double duration,
4331         double finalValue,
4332         double x1,
4333         double y1,
4334         double x2,
4335         double y2,
4336         IUIAnimationTransition2 **ppTransition) = 0;
4337 
4338     virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierLinearVectorTransition(
4339         double duration,
4340         double *finalValue,
4341         unsigned int cDimension,
4342         double x1,
4343         double y1,
4344         double x2,
4345         double y2,
4346         IUIAnimationTransition2 **ppTransition) = 0;
4347 
4348 };
4349 #ifdef __CRT_UUID_DECL
4350 __CRT_UUID_DECL(IUIAnimationTransitionLibrary2, 0x03cfae53, 0x9580, 0x4ee3, 0xb3,0x63, 0x2e,0xce,0x51,0xb4,0xaf,0x6a)
4351 #endif
4352 #else
4353 typedef struct IUIAnimationTransitionLibrary2Vtbl {
4354     BEGIN_INTERFACE
4355 
4356     /*** IUnknown methods ***/
4357     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4358         IUIAnimationTransitionLibrary2 *This,
4359         REFIID riid,
4360         void **ppvObject);
4361 
4362     ULONG (STDMETHODCALLTYPE *AddRef)(
4363         IUIAnimationTransitionLibrary2 *This);
4364 
4365     ULONG (STDMETHODCALLTYPE *Release)(
4366         IUIAnimationTransitionLibrary2 *This);
4367 
4368     /*** IUIAnimationTransitionLibrary2 methods ***/
4369     HRESULT (STDMETHODCALLTYPE *CreateInstantaneousTransition)(
4370         IUIAnimationTransitionLibrary2 *This,
4371         double finalValue,
4372         IUIAnimationTransition2 **transition);
4373 
4374     HRESULT (STDMETHODCALLTYPE *CreateInstantaneousVectorTransition)(
4375         IUIAnimationTransitionLibrary2 *This,
4376         double *finalValue,
4377         unsigned int cDimension,
4378         IUIAnimationTransition2 **transition);
4379 
4380     HRESULT (STDMETHODCALLTYPE *CreateConstantTransition)(
4381         IUIAnimationTransitionLibrary2 *This,
4382         double duration,
4383         IUIAnimationTransition2 **transition);
4384 
4385     HRESULT (STDMETHODCALLTYPE *CreateDiscreteTransition)(
4386         IUIAnimationTransitionLibrary2 *This,
4387         double delay,
4388         double finalValue,
4389         double hold,
4390         IUIAnimationTransition2 **transition);
4391 
4392     HRESULT (STDMETHODCALLTYPE *CreateDiscreteVectorTransition)(
4393         IUIAnimationTransitionLibrary2 *This,
4394         double delay,
4395         double *finalValue,
4396         unsigned int cDimension,
4397         double hold,
4398         IUIAnimationTransition2 **transition);
4399 
4400     HRESULT (STDMETHODCALLTYPE *CreateLinearTransition)(
4401         IUIAnimationTransitionLibrary2 *This,
4402         double duration,
4403         double finalValue,
4404         IUIAnimationTransition2 **transition);
4405 
4406     HRESULT (STDMETHODCALLTYPE *CreateLinearVectorTransition)(
4407         IUIAnimationTransitionLibrary2 *This,
4408         double duration,
4409         double *finalValue,
4410         unsigned int cDimension,
4411         IUIAnimationTransition2 **transition);
4412 
4413     HRESULT (STDMETHODCALLTYPE *CreateLinearTransitionFromSpeed)(
4414         IUIAnimationTransitionLibrary2 *This,
4415         double speed,
4416         double finalValue,
4417         IUIAnimationTransition2 **transition);
4418 
4419     HRESULT (STDMETHODCALLTYPE *CreateLinearVectorTransitionFromSpeed)(
4420         IUIAnimationTransitionLibrary2 *This,
4421         double speed,
4422         double *finalValue,
4423         unsigned int cDimension,
4424         IUIAnimationTransition2 **transition);
4425 
4426     HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromVelocity)(
4427         IUIAnimationTransitionLibrary2 *This,
4428         double duration,
4429         double period,
4430         IUIAnimationTransition2 **transition);
4431 
4432     HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromRange)(
4433         IUIAnimationTransitionLibrary2 *This,
4434         double duration,
4435         double minimumValue,
4436         double maximumValue,
4437         double period,
4438         UI_ANIMATION_SLOPE slope,
4439         IUIAnimationTransition2 **transition);
4440 
4441     HRESULT (STDMETHODCALLTYPE *CreateAccelerateDecelerateTransition)(
4442         IUIAnimationTransitionLibrary2 *This,
4443         double duration,
4444         double finalValue,
4445         double accelerationRatio,
4446         double decelerationRatio,
4447         IUIAnimationTransition2 **transition);
4448 
4449     HRESULT (STDMETHODCALLTYPE *CreateReversalTransition)(
4450         IUIAnimationTransitionLibrary2 *This,
4451         double duration,
4452         IUIAnimationTransition2 **transition);
4453 
4454     HRESULT (STDMETHODCALLTYPE *CreateCubicTransition)(
4455         IUIAnimationTransitionLibrary2 *This,
4456         double duration,
4457         double finalValue,
4458         double finalVelocity,
4459         IUIAnimationTransition2 **transition);
4460 
4461     HRESULT (STDMETHODCALLTYPE *CreateCubicVectorTransition)(
4462         IUIAnimationTransitionLibrary2 *This,
4463         double duration,
4464         double *finalValue,
4465         double *finalVelocity,
4466         unsigned int cDimension,
4467         IUIAnimationTransition2 **transition);
4468 
4469     HRESULT (STDMETHODCALLTYPE *CreateSmoothStopTransition)(
4470         IUIAnimationTransitionLibrary2 *This,
4471         double maximumDuration,
4472         double finalValue,
4473         IUIAnimationTransition2 **transition);
4474 
4475     HRESULT (STDMETHODCALLTYPE *CreateParabolicTransitionFromAcceleration)(
4476         IUIAnimationTransitionLibrary2 *This,
4477         double finalValue,
4478         double finalVelocity,
4479         double acceleration,
4480         IUIAnimationTransition2 **transition);
4481 
4482     HRESULT (STDMETHODCALLTYPE *CreateCubicBezierLinearTransition)(
4483         IUIAnimationTransitionLibrary2 *This,
4484         double duration,
4485         double finalValue,
4486         double x1,
4487         double y1,
4488         double x2,
4489         double y2,
4490         IUIAnimationTransition2 **ppTransition);
4491 
4492     HRESULT (STDMETHODCALLTYPE *CreateCubicBezierLinearVectorTransition)(
4493         IUIAnimationTransitionLibrary2 *This,
4494         double duration,
4495         double *finalValue,
4496         unsigned int cDimension,
4497         double x1,
4498         double y1,
4499         double x2,
4500         double y2,
4501         IUIAnimationTransition2 **ppTransition);
4502 
4503     END_INTERFACE
4504 } IUIAnimationTransitionLibrary2Vtbl;
4505 
4506 interface IUIAnimationTransitionLibrary2 {
4507     CONST_VTBL IUIAnimationTransitionLibrary2Vtbl* lpVtbl;
4508 };
4509 
4510 #ifdef COBJMACROS
4511 #ifndef WIDL_C_INLINE_WRAPPERS
4512 /*** IUnknown methods ***/
4513 #define IUIAnimationTransitionLibrary2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4514 #define IUIAnimationTransitionLibrary2_AddRef(This) (This)->lpVtbl->AddRef(This)
4515 #define IUIAnimationTransitionLibrary2_Release(This) (This)->lpVtbl->Release(This)
4516 /*** IUIAnimationTransitionLibrary2 methods ***/
4517 #define IUIAnimationTransitionLibrary2_CreateInstantaneousTransition(This,finalValue,transition) (This)->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition)
4518 #define IUIAnimationTransitionLibrary2_CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition) (This)->lpVtbl->CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition)
4519 #define IUIAnimationTransitionLibrary2_CreateConstantTransition(This,duration,transition) (This)->lpVtbl->CreateConstantTransition(This,duration,transition)
4520 #define IUIAnimationTransitionLibrary2_CreateDiscreteTransition(This,delay,finalValue,hold,transition) (This)->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition)
4521 #define IUIAnimationTransitionLibrary2_CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition) (This)->lpVtbl->CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition)
4522 #define IUIAnimationTransitionLibrary2_CreateLinearTransition(This,duration,finalValue,transition) (This)->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition)
4523 #define IUIAnimationTransitionLibrary2_CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition) (This)->lpVtbl->CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition)
4524 #define IUIAnimationTransitionLibrary2_CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) (This)->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition)
4525 #define IUIAnimationTransitionLibrary2_CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition) (This)->lpVtbl->CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition)
4526 #define IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition)
4527 #define IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition)
4528 #define IUIAnimationTransitionLibrary2_CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) (This)->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition)
4529 #define IUIAnimationTransitionLibrary2_CreateReversalTransition(This,duration,transition) (This)->lpVtbl->CreateReversalTransition(This,duration,transition)
4530 #define IUIAnimationTransitionLibrary2_CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) (This)->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition)
4531 #define IUIAnimationTransitionLibrary2_CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition) (This)->lpVtbl->CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition)
4532 #define IUIAnimationTransitionLibrary2_CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) (This)->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition)
4533 #define IUIAnimationTransitionLibrary2_CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) (This)->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition)
4534 #define IUIAnimationTransitionLibrary2_CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition) (This)->lpVtbl->CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition)
4535 #define IUIAnimationTransitionLibrary2_CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition) (This)->lpVtbl->CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition)
4536 #else
4537 /*** IUnknown methods ***/
4538 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_QueryInterface(IUIAnimationTransitionLibrary2* This,REFIID riid,void **ppvObject) {
4539     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4540 }
4541 static FORCEINLINE ULONG IUIAnimationTransitionLibrary2_AddRef(IUIAnimationTransitionLibrary2* This) {
4542     return This->lpVtbl->AddRef(This);
4543 }
4544 static FORCEINLINE ULONG IUIAnimationTransitionLibrary2_Release(IUIAnimationTransitionLibrary2* This) {
4545     return This->lpVtbl->Release(This);
4546 }
4547 /*** IUIAnimationTransitionLibrary2 methods ***/
4548 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousTransition(IUIAnimationTransitionLibrary2* This,double finalValue,IUIAnimationTransition2 **transition) {
4549     return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition);
4550 }
4551 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousVectorTransition(IUIAnimationTransitionLibrary2* This,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) {
4552     return This->lpVtbl->CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition);
4553 }
4554 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateConstantTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) {
4555     return This->lpVtbl->CreateConstantTransition(This,duration,transition);
4556 }
4557 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateDiscreteTransition(IUIAnimationTransitionLibrary2* This,double delay,double finalValue,double hold,IUIAnimationTransition2 **transition) {
4558     return This->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition);
4559 }
4560 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateDiscreteVectorTransition(IUIAnimationTransitionLibrary2* This,double delay,double *finalValue,unsigned int cDimension,double hold,IUIAnimationTransition2 **transition) {
4561     return This->lpVtbl->CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition);
4562 }
4563 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,IUIAnimationTransition2 **transition) {
4564     return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition);
4565 }
4566 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateLinearVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) {
4567     return This->lpVtbl->CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition);
4568 }
4569 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary2* This,double speed,double finalValue,IUIAnimationTransition2 **transition) {
4570     return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition);
4571 }
4572 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateLinearVectorTransitionFromSpeed(IUIAnimationTransitionLibrary2* This,double speed,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) {
4573     return This->lpVtbl->CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition);
4574 }
4575 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary2* This,double duration,double period,IUIAnimationTransition2 **transition) {
4576     return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition);
4577 }
4578 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromRange(IUIAnimationTransitionLibrary2* This,double duration,double minimumValue,double maximumValue,double period,UI_ANIMATION_SLOPE slope,IUIAnimationTransition2 **transition) {
4579     return This->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition);
4580 }
4581 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateAccelerateDecelerateTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double accelerationRatio,double decelerationRatio,IUIAnimationTransition2 **transition) {
4582     return This->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition);
4583 }
4584 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateReversalTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) {
4585     return This->lpVtbl->CreateReversalTransition(This,duration,transition);
4586 }
4587 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateCubicTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double finalVelocity,IUIAnimationTransition2 **transition) {
4588     return This->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition);
4589 }
4590 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateCubicVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,double *finalVelocity,unsigned int cDimension,IUIAnimationTransition2 **transition) {
4591     return This->lpVtbl->CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition);
4592 }
4593 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateSmoothStopTransition(IUIAnimationTransitionLibrary2* This,double maximumDuration,double finalValue,IUIAnimationTransition2 **transition) {
4594     return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition);
4595 }
4596 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateParabolicTransitionFromAcceleration(IUIAnimationTransitionLibrary2* This,double finalValue,double finalVelocity,double acceleration,IUIAnimationTransition2 **transition) {
4597     return This->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition);
4598 }
4599 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateCubicBezierLinearTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double x1,double y1,double x2,double y2,IUIAnimationTransition2 **ppTransition) {
4600     return This->lpVtbl->CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition);
4601 }
4602 static FORCEINLINE HRESULT IUIAnimationTransitionLibrary2_CreateCubicBezierLinearVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,unsigned int cDimension,double x1,double y1,double x2,double y2,IUIAnimationTransition2 **ppTransition) {
4603     return This->lpVtbl->CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition);
4604 }
4605 #endif
4606 #endif
4607 
4608 #endif
4609 
4610 
4611 #endif  /* __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__ */
4612 
4613 /*****************************************************************************
4614  * IUIAnimationTransitionFactory interface
4615  */
4616 #ifndef __IUIAnimationTransitionFactory_INTERFACE_DEFINED__
4617 #define __IUIAnimationTransitionFactory_INTERFACE_DEFINED__
4618 
4619 DEFINE_GUID(IID_IUIAnimationTransitionFactory, 0xfcd91e03, 0x3e3b, 0x45ad, 0xbb,0xb1, 0x6d,0xfc,0x81,0x53,0x74,0x3d);
4620 #if defined(__cplusplus) && !defined(CINTERFACE)
4621 MIDL_INTERFACE("fcd91e03-3e3b-45ad-bbb1-6dfc8153743d")
4622 IUIAnimationTransitionFactory : public IUnknown
4623 {
4624     virtual HRESULT STDMETHODCALLTYPE CreateTransition(
4625         IUIAnimationInterpolator *interpolator,
4626         IUIAnimationTransition **transition) = 0;
4627 
4628 };
4629 #ifdef __CRT_UUID_DECL
4630 __CRT_UUID_DECL(IUIAnimationTransitionFactory, 0xfcd91e03, 0x3e3b, 0x45ad, 0xbb,0xb1, 0x6d,0xfc,0x81,0x53,0x74,0x3d)
4631 #endif
4632 #else
4633 typedef struct IUIAnimationTransitionFactoryVtbl {
4634     BEGIN_INTERFACE
4635 
4636     /*** IUnknown methods ***/
4637     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4638         IUIAnimationTransitionFactory *This,
4639         REFIID riid,
4640         void **ppvObject);
4641 
4642     ULONG (STDMETHODCALLTYPE *AddRef)(
4643         IUIAnimationTransitionFactory *This);
4644 
4645     ULONG (STDMETHODCALLTYPE *Release)(
4646         IUIAnimationTransitionFactory *This);
4647 
4648     /*** IUIAnimationTransitionFactory methods ***/
4649     HRESULT (STDMETHODCALLTYPE *CreateTransition)(
4650         IUIAnimationTransitionFactory *This,
4651         IUIAnimationInterpolator *interpolator,
4652         IUIAnimationTransition **transition);
4653 
4654     END_INTERFACE
4655 } IUIAnimationTransitionFactoryVtbl;
4656 
4657 interface IUIAnimationTransitionFactory {
4658     CONST_VTBL IUIAnimationTransitionFactoryVtbl* lpVtbl;
4659 };
4660 
4661 #ifdef COBJMACROS
4662 #ifndef WIDL_C_INLINE_WRAPPERS
4663 /*** IUnknown methods ***/
4664 #define IUIAnimationTransitionFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4665 #define IUIAnimationTransitionFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
4666 #define IUIAnimationTransitionFactory_Release(This) (This)->lpVtbl->Release(This)
4667 /*** IUIAnimationTransitionFactory methods ***/
4668 #define IUIAnimationTransitionFactory_CreateTransition(This,interpolator,transition) (This)->lpVtbl->CreateTransition(This,interpolator,transition)
4669 #else
4670 /*** IUnknown methods ***/
4671 static FORCEINLINE HRESULT IUIAnimationTransitionFactory_QueryInterface(IUIAnimationTransitionFactory* This,REFIID riid,void **ppvObject) {
4672     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4673 }
4674 static FORCEINLINE ULONG IUIAnimationTransitionFactory_AddRef(IUIAnimationTransitionFactory* This) {
4675     return This->lpVtbl->AddRef(This);
4676 }
4677 static FORCEINLINE ULONG IUIAnimationTransitionFactory_Release(IUIAnimationTransitionFactory* This) {
4678     return This->lpVtbl->Release(This);
4679 }
4680 /*** IUIAnimationTransitionFactory methods ***/
4681 static FORCEINLINE HRESULT IUIAnimationTransitionFactory_CreateTransition(IUIAnimationTransitionFactory* This,IUIAnimationInterpolator *interpolator,IUIAnimationTransition **transition) {
4682     return This->lpVtbl->CreateTransition(This,interpolator,transition);
4683 }
4684 #endif
4685 #endif
4686 
4687 #endif
4688 
4689 
4690 #endif  /* __IUIAnimationTransitionFactory_INTERFACE_DEFINED__ */
4691 
4692 /*****************************************************************************
4693  * IUIAnimationInterpolator interface
4694  */
4695 #ifndef __IUIAnimationInterpolator_INTERFACE_DEFINED__
4696 #define __IUIAnimationInterpolator_INTERFACE_DEFINED__
4697 
4698 DEFINE_GUID(IID_IUIAnimationInterpolator, 0x7815cbba, 0xddf7, 0x478c, 0xa4,0x6c, 0x7b,0x6c,0x73,0x8b,0x79,0x78);
4699 #if defined(__cplusplus) && !defined(CINTERFACE)
4700 MIDL_INTERFACE("7815cbba-ddf7-478c-a46c-7b6c738b7978")
4701 IUIAnimationInterpolator : public IUnknown
4702 {
4703     virtual HRESULT STDMETHODCALLTYPE SetInitialValueAndVelocity(
4704         double initialValue,
4705         double initialVelocity) = 0;
4706 
4707     virtual HRESULT STDMETHODCALLTYPE SetDuration(
4708         double duration) = 0;
4709 
4710     virtual HRESULT STDMETHODCALLTYPE GetDuration(
4711         double *duration) = 0;
4712 
4713     virtual HRESULT STDMETHODCALLTYPE GetFinalValue(
4714         double *value) = 0;
4715 
4716     virtual HRESULT STDMETHODCALLTYPE InterpolateValue(
4717         double offset,
4718         double *value) = 0;
4719 
4720     virtual HRESULT STDMETHODCALLTYPE InterpolateVelocity(
4721         double offset,
4722         double *velocity) = 0;
4723 
4724     virtual HRESULT STDMETHODCALLTYPE GetDependencies(
4725         UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
4726         UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
4727         UI_ANIMATION_DEPENDENCIES *durationDependencies) = 0;
4728 
4729 };
4730 #ifdef __CRT_UUID_DECL
4731 __CRT_UUID_DECL(IUIAnimationInterpolator, 0x7815cbba, 0xddf7, 0x478c, 0xa4,0x6c, 0x7b,0x6c,0x73,0x8b,0x79,0x78)
4732 #endif
4733 #else
4734 typedef struct IUIAnimationInterpolatorVtbl {
4735     BEGIN_INTERFACE
4736 
4737     /*** IUnknown methods ***/
4738     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4739         IUIAnimationInterpolator *This,
4740         REFIID riid,
4741         void **ppvObject);
4742 
4743     ULONG (STDMETHODCALLTYPE *AddRef)(
4744         IUIAnimationInterpolator *This);
4745 
4746     ULONG (STDMETHODCALLTYPE *Release)(
4747         IUIAnimationInterpolator *This);
4748 
4749     /*** IUIAnimationInterpolator methods ***/
4750     HRESULT (STDMETHODCALLTYPE *SetInitialValueAndVelocity)(
4751         IUIAnimationInterpolator *This,
4752         double initialValue,
4753         double initialVelocity);
4754 
4755     HRESULT (STDMETHODCALLTYPE *SetDuration)(
4756         IUIAnimationInterpolator *This,
4757         double duration);
4758 
4759     HRESULT (STDMETHODCALLTYPE *GetDuration)(
4760         IUIAnimationInterpolator *This,
4761         double *duration);
4762 
4763     HRESULT (STDMETHODCALLTYPE *GetFinalValue)(
4764         IUIAnimationInterpolator *This,
4765         double *value);
4766 
4767     HRESULT (STDMETHODCALLTYPE *InterpolateValue)(
4768         IUIAnimationInterpolator *This,
4769         double offset,
4770         double *value);
4771 
4772     HRESULT (STDMETHODCALLTYPE *InterpolateVelocity)(
4773         IUIAnimationInterpolator *This,
4774         double offset,
4775         double *velocity);
4776 
4777     HRESULT (STDMETHODCALLTYPE *GetDependencies)(
4778         IUIAnimationInterpolator *This,
4779         UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
4780         UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
4781         UI_ANIMATION_DEPENDENCIES *durationDependencies);
4782 
4783     END_INTERFACE
4784 } IUIAnimationInterpolatorVtbl;
4785 
4786 interface IUIAnimationInterpolator {
4787     CONST_VTBL IUIAnimationInterpolatorVtbl* lpVtbl;
4788 };
4789 
4790 #ifdef COBJMACROS
4791 #ifndef WIDL_C_INLINE_WRAPPERS
4792 /*** IUnknown methods ***/
4793 #define IUIAnimationInterpolator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4794 #define IUIAnimationInterpolator_AddRef(This) (This)->lpVtbl->AddRef(This)
4795 #define IUIAnimationInterpolator_Release(This) (This)->lpVtbl->Release(This)
4796 /*** IUIAnimationInterpolator methods ***/
4797 #define IUIAnimationInterpolator_SetInitialValueAndVelocity(This,initialValue,initialVelocity) (This)->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity)
4798 #define IUIAnimationInterpolator_SetDuration(This,duration) (This)->lpVtbl->SetDuration(This,duration)
4799 #define IUIAnimationInterpolator_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
4800 #define IUIAnimationInterpolator_GetFinalValue(This,value) (This)->lpVtbl->GetFinalValue(This,value)
4801 #define IUIAnimationInterpolator_InterpolateValue(This,offset,value) (This)->lpVtbl->InterpolateValue(This,offset,value)
4802 #define IUIAnimationInterpolator_InterpolateVelocity(This,offset,velocity) (This)->lpVtbl->InterpolateVelocity(This,offset,velocity)
4803 #define IUIAnimationInterpolator_GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) (This)->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies)
4804 #else
4805 /*** IUnknown methods ***/
4806 static FORCEINLINE HRESULT IUIAnimationInterpolator_QueryInterface(IUIAnimationInterpolator* This,REFIID riid,void **ppvObject) {
4807     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4808 }
4809 static FORCEINLINE ULONG IUIAnimationInterpolator_AddRef(IUIAnimationInterpolator* This) {
4810     return This->lpVtbl->AddRef(This);
4811 }
4812 static FORCEINLINE ULONG IUIAnimationInterpolator_Release(IUIAnimationInterpolator* This) {
4813     return This->lpVtbl->Release(This);
4814 }
4815 /*** IUIAnimationInterpolator methods ***/
4816 static FORCEINLINE HRESULT IUIAnimationInterpolator_SetInitialValueAndVelocity(IUIAnimationInterpolator* This,double initialValue,double initialVelocity) {
4817     return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity);
4818 }
4819 static FORCEINLINE HRESULT IUIAnimationInterpolator_SetDuration(IUIAnimationInterpolator* This,double duration) {
4820     return This->lpVtbl->SetDuration(This,duration);
4821 }
4822 static FORCEINLINE HRESULT IUIAnimationInterpolator_GetDuration(IUIAnimationInterpolator* This,double *duration) {
4823     return This->lpVtbl->GetDuration(This,duration);
4824 }
4825 static FORCEINLINE HRESULT IUIAnimationInterpolator_GetFinalValue(IUIAnimationInterpolator* This,double *value) {
4826     return This->lpVtbl->GetFinalValue(This,value);
4827 }
4828 static FORCEINLINE HRESULT IUIAnimationInterpolator_InterpolateValue(IUIAnimationInterpolator* This,double offset,double *value) {
4829     return This->lpVtbl->InterpolateValue(This,offset,value);
4830 }
4831 static FORCEINLINE HRESULT IUIAnimationInterpolator_InterpolateVelocity(IUIAnimationInterpolator* This,double offset,double *velocity) {
4832     return This->lpVtbl->InterpolateVelocity(This,offset,velocity);
4833 }
4834 static FORCEINLINE HRESULT IUIAnimationInterpolator_GetDependencies(IUIAnimationInterpolator* This,UI_ANIMATION_DEPENDENCIES *initialValueDependencies,UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,UI_ANIMATION_DEPENDENCIES *durationDependencies) {
4835     return This->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies);
4836 }
4837 #endif
4838 #endif
4839 
4840 #endif
4841 
4842 
4843 #endif  /* __IUIAnimationInterpolator_INTERFACE_DEFINED__ */
4844 
4845 /*****************************************************************************
4846  * IUIAnimationTransitionFactory2 interface
4847  */
4848 #ifndef __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__
4849 #define __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__
4850 
4851 DEFINE_GUID(IID_IUIAnimationTransitionFactory2, 0x937d4916, 0xc1a6, 0x42d5, 0x88,0xd8, 0x30,0x34,0x4d,0x6e,0xfe,0x31);
4852 #if defined(__cplusplus) && !defined(CINTERFACE)
4853 MIDL_INTERFACE("937d4916-c1a6-42d5-88d8-30344d6efe31")
4854 IUIAnimationTransitionFactory2 : public IUnknown
4855 {
4856     virtual HRESULT STDMETHODCALLTYPE CreateTransition(
4857         IUIAnimationInterpolator2 *interpolator,
4858         IUIAnimationTransition2 **transition) = 0;
4859 
4860 };
4861 #ifdef __CRT_UUID_DECL
4862 __CRT_UUID_DECL(IUIAnimationTransitionFactory2, 0x937d4916, 0xc1a6, 0x42d5, 0x88,0xd8, 0x30,0x34,0x4d,0x6e,0xfe,0x31)
4863 #endif
4864 #else
4865 typedef struct IUIAnimationTransitionFactory2Vtbl {
4866     BEGIN_INTERFACE
4867 
4868     /*** IUnknown methods ***/
4869     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4870         IUIAnimationTransitionFactory2 *This,
4871         REFIID riid,
4872         void **ppvObject);
4873 
4874     ULONG (STDMETHODCALLTYPE *AddRef)(
4875         IUIAnimationTransitionFactory2 *This);
4876 
4877     ULONG (STDMETHODCALLTYPE *Release)(
4878         IUIAnimationTransitionFactory2 *This);
4879 
4880     /*** IUIAnimationTransitionFactory2 methods ***/
4881     HRESULT (STDMETHODCALLTYPE *CreateTransition)(
4882         IUIAnimationTransitionFactory2 *This,
4883         IUIAnimationInterpolator2 *interpolator,
4884         IUIAnimationTransition2 **transition);
4885 
4886     END_INTERFACE
4887 } IUIAnimationTransitionFactory2Vtbl;
4888 
4889 interface IUIAnimationTransitionFactory2 {
4890     CONST_VTBL IUIAnimationTransitionFactory2Vtbl* lpVtbl;
4891 };
4892 
4893 #ifdef COBJMACROS
4894 #ifndef WIDL_C_INLINE_WRAPPERS
4895 /*** IUnknown methods ***/
4896 #define IUIAnimationTransitionFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4897 #define IUIAnimationTransitionFactory2_AddRef(This) (This)->lpVtbl->AddRef(This)
4898 #define IUIAnimationTransitionFactory2_Release(This) (This)->lpVtbl->Release(This)
4899 /*** IUIAnimationTransitionFactory2 methods ***/
4900 #define IUIAnimationTransitionFactory2_CreateTransition(This,interpolator,transition) (This)->lpVtbl->CreateTransition(This,interpolator,transition)
4901 #else
4902 /*** IUnknown methods ***/
4903 static FORCEINLINE HRESULT IUIAnimationTransitionFactory2_QueryInterface(IUIAnimationTransitionFactory2* This,REFIID riid,void **ppvObject) {
4904     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4905 }
4906 static FORCEINLINE ULONG IUIAnimationTransitionFactory2_AddRef(IUIAnimationTransitionFactory2* This) {
4907     return This->lpVtbl->AddRef(This);
4908 }
4909 static FORCEINLINE ULONG IUIAnimationTransitionFactory2_Release(IUIAnimationTransitionFactory2* This) {
4910     return This->lpVtbl->Release(This);
4911 }
4912 /*** IUIAnimationTransitionFactory2 methods ***/
4913 static FORCEINLINE HRESULT IUIAnimationTransitionFactory2_CreateTransition(IUIAnimationTransitionFactory2* This,IUIAnimationInterpolator2 *interpolator,IUIAnimationTransition2 **transition) {
4914     return This->lpVtbl->CreateTransition(This,interpolator,transition);
4915 }
4916 #endif
4917 #endif
4918 
4919 #endif
4920 
4921 
4922 #endif  /* __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__ */
4923 
4924 /*****************************************************************************
4925  * IUIAnimationInterpolator2 interface
4926  */
4927 #ifndef __IUIAnimationInterpolator2_INTERFACE_DEFINED__
4928 #define __IUIAnimationInterpolator2_INTERFACE_DEFINED__
4929 
4930 DEFINE_GUID(IID_IUIAnimationInterpolator2, 0xea76aff8, 0xea22, 0x4a23, 0xa0,0xef, 0xa6,0xa9,0x66,0x70,0x35,0x18);
4931 #if defined(__cplusplus) && !defined(CINTERFACE)
4932 MIDL_INTERFACE("ea76aff8-ea22-4a23-a0ef-a6a966703518")
4933 IUIAnimationInterpolator2 : public IUnknown
4934 {
4935     virtual HRESULT STDMETHODCALLTYPE GetDimension(
4936         unsigned int *dimension) = 0;
4937 
4938     virtual HRESULT STDMETHODCALLTYPE SetInitialValueAndVelocity(
4939         double *initialValue,
4940         double *initialVelocity,
4941         unsigned int cDimension) = 0;
4942 
4943     virtual HRESULT STDMETHODCALLTYPE SetDuration(
4944         double duration) = 0;
4945 
4946     virtual HRESULT STDMETHODCALLTYPE GetDuration(
4947         double *duration) = 0;
4948 
4949     virtual HRESULT STDMETHODCALLTYPE GetFinalValue(
4950         double *value,
4951         unsigned int cDimension) = 0;
4952 
4953     virtual HRESULT STDMETHODCALLTYPE InterpolateValue(
4954         double offset,
4955         double *value,
4956         unsigned int cDimension) = 0;
4957 
4958     virtual HRESULT STDMETHODCALLTYPE InterpolateVelocity(
4959         double offset,
4960         double *velocity,
4961         unsigned int cDimension) = 0;
4962 
4963     virtual HRESULT STDMETHODCALLTYPE GetPrimitiveInterpolation(
4964         IUIAnimationPrimitiveInterpolation *interpolation,
4965         unsigned int cDimension) = 0;
4966 
4967     virtual HRESULT STDMETHODCALLTYPE GetDependencies(
4968         UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
4969         UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
4970         UI_ANIMATION_DEPENDENCIES *durationDependencies) = 0;
4971 
4972 };
4973 #ifdef __CRT_UUID_DECL
4974 __CRT_UUID_DECL(IUIAnimationInterpolator2, 0xea76aff8, 0xea22, 0x4a23, 0xa0,0xef, 0xa6,0xa9,0x66,0x70,0x35,0x18)
4975 #endif
4976 #else
4977 typedef struct IUIAnimationInterpolator2Vtbl {
4978     BEGIN_INTERFACE
4979 
4980     /*** IUnknown methods ***/
4981     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4982         IUIAnimationInterpolator2 *This,
4983         REFIID riid,
4984         void **ppvObject);
4985 
4986     ULONG (STDMETHODCALLTYPE *AddRef)(
4987         IUIAnimationInterpolator2 *This);
4988 
4989     ULONG (STDMETHODCALLTYPE *Release)(
4990         IUIAnimationInterpolator2 *This);
4991 
4992     /*** IUIAnimationInterpolator2 methods ***/
4993     HRESULT (STDMETHODCALLTYPE *GetDimension)(
4994         IUIAnimationInterpolator2 *This,
4995         unsigned int *dimension);
4996 
4997     HRESULT (STDMETHODCALLTYPE *SetInitialValueAndVelocity)(
4998         IUIAnimationInterpolator2 *This,
4999         double *initialValue,
5000         double *initialVelocity,
5001         unsigned int cDimension);
5002 
5003     HRESULT (STDMETHODCALLTYPE *SetDuration)(
5004         IUIAnimationInterpolator2 *This,
5005         double duration);
5006 
5007     HRESULT (STDMETHODCALLTYPE *GetDuration)(
5008         IUIAnimationInterpolator2 *This,
5009         double *duration);
5010 
5011     HRESULT (STDMETHODCALLTYPE *GetFinalValue)(
5012         IUIAnimationInterpolator2 *This,
5013         double *value,
5014         unsigned int cDimension);
5015 
5016     HRESULT (STDMETHODCALLTYPE *InterpolateValue)(
5017         IUIAnimationInterpolator2 *This,
5018         double offset,
5019         double *value,
5020         unsigned int cDimension);
5021 
5022     HRESULT (STDMETHODCALLTYPE *InterpolateVelocity)(
5023         IUIAnimationInterpolator2 *This,
5024         double offset,
5025         double *velocity,
5026         unsigned int cDimension);
5027 
5028     HRESULT (STDMETHODCALLTYPE *GetPrimitiveInterpolation)(
5029         IUIAnimationInterpolator2 *This,
5030         IUIAnimationPrimitiveInterpolation *interpolation,
5031         unsigned int cDimension);
5032 
5033     HRESULT (STDMETHODCALLTYPE *GetDependencies)(
5034         IUIAnimationInterpolator2 *This,
5035         UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
5036         UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
5037         UI_ANIMATION_DEPENDENCIES *durationDependencies);
5038 
5039     END_INTERFACE
5040 } IUIAnimationInterpolator2Vtbl;
5041 
5042 interface IUIAnimationInterpolator2 {
5043     CONST_VTBL IUIAnimationInterpolator2Vtbl* lpVtbl;
5044 };
5045 
5046 #ifdef COBJMACROS
5047 #ifndef WIDL_C_INLINE_WRAPPERS
5048 /*** IUnknown methods ***/
5049 #define IUIAnimationInterpolator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5050 #define IUIAnimationInterpolator2_AddRef(This) (This)->lpVtbl->AddRef(This)
5051 #define IUIAnimationInterpolator2_Release(This) (This)->lpVtbl->Release(This)
5052 /*** IUIAnimationInterpolator2 methods ***/
5053 #define IUIAnimationInterpolator2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension)
5054 #define IUIAnimationInterpolator2_SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension) (This)->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension)
5055 #define IUIAnimationInterpolator2_SetDuration(This,duration) (This)->lpVtbl->SetDuration(This,duration)
5056 #define IUIAnimationInterpolator2_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration)
5057 #define IUIAnimationInterpolator2_GetFinalValue(This,value,cDimension) (This)->lpVtbl->GetFinalValue(This,value,cDimension)
5058 #define IUIAnimationInterpolator2_InterpolateValue(This,offset,value,cDimension) (This)->lpVtbl->InterpolateValue(This,offset,value,cDimension)
5059 #define IUIAnimationInterpolator2_InterpolateVelocity(This,offset,velocity,cDimension) (This)->lpVtbl->InterpolateVelocity(This,offset,velocity,cDimension)
5060 #define IUIAnimationInterpolator2_GetPrimitiveInterpolation(This,interpolation,cDimension) (This)->lpVtbl->GetPrimitiveInterpolation(This,interpolation,cDimension)
5061 #define IUIAnimationInterpolator2_GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) (This)->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies)
5062 #else
5063 /*** IUnknown methods ***/
5064 static FORCEINLINE HRESULT IUIAnimationInterpolator2_QueryInterface(IUIAnimationInterpolator2* This,REFIID riid,void **ppvObject) {
5065     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5066 }
5067 static FORCEINLINE ULONG IUIAnimationInterpolator2_AddRef(IUIAnimationInterpolator2* This) {
5068     return This->lpVtbl->AddRef(This);
5069 }
5070 static FORCEINLINE ULONG IUIAnimationInterpolator2_Release(IUIAnimationInterpolator2* This) {
5071     return This->lpVtbl->Release(This);
5072 }
5073 /*** IUIAnimationInterpolator2 methods ***/
5074 static FORCEINLINE HRESULT IUIAnimationInterpolator2_GetDimension(IUIAnimationInterpolator2* This,unsigned int *dimension) {
5075     return This->lpVtbl->GetDimension(This,dimension);
5076 }
5077 static FORCEINLINE HRESULT IUIAnimationInterpolator2_SetInitialValueAndVelocity(IUIAnimationInterpolator2* This,double *initialValue,double *initialVelocity,unsigned int cDimension) {
5078     return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension);
5079 }
5080 static FORCEINLINE HRESULT IUIAnimationInterpolator2_SetDuration(IUIAnimationInterpolator2* This,double duration) {
5081     return This->lpVtbl->SetDuration(This,duration);
5082 }
5083 static FORCEINLINE HRESULT IUIAnimationInterpolator2_GetDuration(IUIAnimationInterpolator2* This,double *duration) {
5084     return This->lpVtbl->GetDuration(This,duration);
5085 }
5086 static FORCEINLINE HRESULT IUIAnimationInterpolator2_GetFinalValue(IUIAnimationInterpolator2* This,double *value,unsigned int cDimension) {
5087     return This->lpVtbl->GetFinalValue(This,value,cDimension);
5088 }
5089 static FORCEINLINE HRESULT IUIAnimationInterpolator2_InterpolateValue(IUIAnimationInterpolator2* This,double offset,double *value,unsigned int cDimension) {
5090     return This->lpVtbl->InterpolateValue(This,offset,value,cDimension);
5091 }
5092 static FORCEINLINE HRESULT IUIAnimationInterpolator2_InterpolateVelocity(IUIAnimationInterpolator2* This,double offset,double *velocity,unsigned int cDimension) {
5093     return This->lpVtbl->InterpolateVelocity(This,offset,velocity,cDimension);
5094 }
5095 static FORCEINLINE HRESULT IUIAnimationInterpolator2_GetPrimitiveInterpolation(IUIAnimationInterpolator2* This,IUIAnimationPrimitiveInterpolation *interpolation,unsigned int cDimension) {
5096     return This->lpVtbl->GetPrimitiveInterpolation(This,interpolation,cDimension);
5097 }
5098 static FORCEINLINE HRESULT IUIAnimationInterpolator2_GetDependencies(IUIAnimationInterpolator2* This,UI_ANIMATION_DEPENDENCIES *initialValueDependencies,UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,UI_ANIMATION_DEPENDENCIES *durationDependencies) {
5099     return This->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies);
5100 }
5101 #endif
5102 #endif
5103 
5104 #endif
5105 
5106 
5107 #endif  /* __IUIAnimationInterpolator2_INTERFACE_DEFINED__ */
5108 
5109 /*****************************************************************************
5110  * IUIAnimationPrimitiveInterpolation interface
5111  */
5112 #ifndef __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__
5113 #define __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__
5114 
5115 DEFINE_GUID(IID_IUIAnimationPrimitiveInterpolation, 0xbab20d63, 0x4361, 0x45da, 0xa2,0x4f, 0xab,0x85,0x08,0x84,0x6b,0x5b);
5116 #if defined(__cplusplus) && !defined(CINTERFACE)
5117 MIDL_INTERFACE("bab20d63-4361-45da-a24f-ab8508846b5b")
5118 IUIAnimationPrimitiveInterpolation : public IUnknown
5119 {
5120     virtual HRESULT STDMETHODCALLTYPE AddCubic(
5121         unsigned int dimension,
5122         double beginOffset,
5123         float constantCoefficient,
5124         float linearCoefficient,
5125         float quadraticCoefficient,
5126         float cubicCoefficient) = 0;
5127 
5128     virtual HRESULT STDMETHODCALLTYPE AddSinusoidal(
5129         unsigned int dimension,
5130         double beginOffset,
5131         float bias,
5132         float amplitude,
5133         float frequency,
5134         float phase) = 0;
5135 
5136 };
5137 #ifdef __CRT_UUID_DECL
5138 __CRT_UUID_DECL(IUIAnimationPrimitiveInterpolation, 0xbab20d63, 0x4361, 0x45da, 0xa2,0x4f, 0xab,0x85,0x08,0x84,0x6b,0x5b)
5139 #endif
5140 #else
5141 typedef struct IUIAnimationPrimitiveInterpolationVtbl {
5142     BEGIN_INTERFACE
5143 
5144     /*** IUnknown methods ***/
5145     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5146         IUIAnimationPrimitiveInterpolation *This,
5147         REFIID riid,
5148         void **ppvObject);
5149 
5150     ULONG (STDMETHODCALLTYPE *AddRef)(
5151         IUIAnimationPrimitiveInterpolation *This);
5152 
5153     ULONG (STDMETHODCALLTYPE *Release)(
5154         IUIAnimationPrimitiveInterpolation *This);
5155 
5156     /*** IUIAnimationPrimitiveInterpolation methods ***/
5157     HRESULT (STDMETHODCALLTYPE *AddCubic)(
5158         IUIAnimationPrimitiveInterpolation *This,
5159         unsigned int dimension,
5160         double beginOffset,
5161         float constantCoefficient,
5162         float linearCoefficient,
5163         float quadraticCoefficient,
5164         float cubicCoefficient);
5165 
5166     HRESULT (STDMETHODCALLTYPE *AddSinusoidal)(
5167         IUIAnimationPrimitiveInterpolation *This,
5168         unsigned int dimension,
5169         double beginOffset,
5170         float bias,
5171         float amplitude,
5172         float frequency,
5173         float phase);
5174 
5175     END_INTERFACE
5176 } IUIAnimationPrimitiveInterpolationVtbl;
5177 
5178 interface IUIAnimationPrimitiveInterpolation {
5179     CONST_VTBL IUIAnimationPrimitiveInterpolationVtbl* lpVtbl;
5180 };
5181 
5182 #ifdef COBJMACROS
5183 #ifndef WIDL_C_INLINE_WRAPPERS
5184 /*** IUnknown methods ***/
5185 #define IUIAnimationPrimitiveInterpolation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5186 #define IUIAnimationPrimitiveInterpolation_AddRef(This) (This)->lpVtbl->AddRef(This)
5187 #define IUIAnimationPrimitiveInterpolation_Release(This) (This)->lpVtbl->Release(This)
5188 /*** IUIAnimationPrimitiveInterpolation methods ***/
5189 #define IUIAnimationPrimitiveInterpolation_AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) (This)->lpVtbl->AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient)
5190 #define IUIAnimationPrimitiveInterpolation_AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase) (This)->lpVtbl->AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase)
5191 #else
5192 /*** IUnknown methods ***/
5193 static FORCEINLINE HRESULT IUIAnimationPrimitiveInterpolation_QueryInterface(IUIAnimationPrimitiveInterpolation* This,REFIID riid,void **ppvObject) {
5194     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5195 }
5196 static FORCEINLINE ULONG IUIAnimationPrimitiveInterpolation_AddRef(IUIAnimationPrimitiveInterpolation* This) {
5197     return This->lpVtbl->AddRef(This);
5198 }
5199 static FORCEINLINE ULONG IUIAnimationPrimitiveInterpolation_Release(IUIAnimationPrimitiveInterpolation* This) {
5200     return This->lpVtbl->Release(This);
5201 }
5202 /*** IUIAnimationPrimitiveInterpolation methods ***/
5203 static FORCEINLINE HRESULT IUIAnimationPrimitiveInterpolation_AddCubic(IUIAnimationPrimitiveInterpolation* This,unsigned int dimension,double beginOffset,float constantCoefficient,float linearCoefficient,float quadraticCoefficient,float cubicCoefficient) {
5204     return This->lpVtbl->AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient);
5205 }
5206 static FORCEINLINE HRESULT IUIAnimationPrimitiveInterpolation_AddSinusoidal(IUIAnimationPrimitiveInterpolation* This,unsigned int dimension,double beginOffset,float bias,float amplitude,float frequency,float phase) {
5207     return This->lpVtbl->AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase);
5208 }
5209 #endif
5210 #endif
5211 
5212 #endif
5213 
5214 
5215 #endif  /* __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__ */
5216 
5217 /*****************************************************************************
5218  * IUIAnimationTimer interface
5219  */
5220 #ifndef __IUIAnimationTimer_INTERFACE_DEFINED__
5221 #define __IUIAnimationTimer_INTERFACE_DEFINED__
5222 
5223 DEFINE_GUID(IID_IUIAnimationTimer, 0x6b0efad1, 0xa053, 0x41d6, 0x90,0x85, 0x33,0xa6,0x89,0x14,0x46,0x65);
5224 #if defined(__cplusplus) && !defined(CINTERFACE)
5225 MIDL_INTERFACE("6b0efad1-a053-41d6-9085-33a689144665")
5226 IUIAnimationTimer : public IUnknown
5227 {
5228     virtual HRESULT STDMETHODCALLTYPE SetTimerUpdateHandler(
5229         IUIAnimationTimerUpdateHandler *updateHandler,
5230         UI_ANIMATION_IDLE_BEHAVIOR idleBehavior) = 0;
5231 
5232     virtual HRESULT STDMETHODCALLTYPE SetTimerEventHandler(
5233         IUIAnimationTimerEventHandler *handler) = 0;
5234 
5235     virtual HRESULT STDMETHODCALLTYPE Enable(
5236         ) = 0;
5237 
5238     virtual HRESULT STDMETHODCALLTYPE Disable(
5239         ) = 0;
5240 
5241     virtual HRESULT STDMETHODCALLTYPE IsEnabled(
5242         ) = 0;
5243 
5244     virtual HRESULT STDMETHODCALLTYPE GetTime(
5245         double *seconds) = 0;
5246 
5247     virtual HRESULT STDMETHODCALLTYPE SetFrameRateThreshold(
5248         unsigned int framesPerSecond) = 0;
5249 
5250 };
5251 #ifdef __CRT_UUID_DECL
5252 __CRT_UUID_DECL(IUIAnimationTimer, 0x6b0efad1, 0xa053, 0x41d6, 0x90,0x85, 0x33,0xa6,0x89,0x14,0x46,0x65)
5253 #endif
5254 #else
5255 typedef struct IUIAnimationTimerVtbl {
5256     BEGIN_INTERFACE
5257 
5258     /*** IUnknown methods ***/
5259     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5260         IUIAnimationTimer *This,
5261         REFIID riid,
5262         void **ppvObject);
5263 
5264     ULONG (STDMETHODCALLTYPE *AddRef)(
5265         IUIAnimationTimer *This);
5266 
5267     ULONG (STDMETHODCALLTYPE *Release)(
5268         IUIAnimationTimer *This);
5269 
5270     /*** IUIAnimationTimer methods ***/
5271     HRESULT (STDMETHODCALLTYPE *SetTimerUpdateHandler)(
5272         IUIAnimationTimer *This,
5273         IUIAnimationTimerUpdateHandler *updateHandler,
5274         UI_ANIMATION_IDLE_BEHAVIOR idleBehavior);
5275 
5276     HRESULT (STDMETHODCALLTYPE *SetTimerEventHandler)(
5277         IUIAnimationTimer *This,
5278         IUIAnimationTimerEventHandler *handler);
5279 
5280     HRESULT (STDMETHODCALLTYPE *Enable)(
5281         IUIAnimationTimer *This);
5282 
5283     HRESULT (STDMETHODCALLTYPE *Disable)(
5284         IUIAnimationTimer *This);
5285 
5286     HRESULT (STDMETHODCALLTYPE *IsEnabled)(
5287         IUIAnimationTimer *This);
5288 
5289     HRESULT (STDMETHODCALLTYPE *GetTime)(
5290         IUIAnimationTimer *This,
5291         double *seconds);
5292 
5293     HRESULT (STDMETHODCALLTYPE *SetFrameRateThreshold)(
5294         IUIAnimationTimer *This,
5295         unsigned int framesPerSecond);
5296 
5297     END_INTERFACE
5298 } IUIAnimationTimerVtbl;
5299 
5300 interface IUIAnimationTimer {
5301     CONST_VTBL IUIAnimationTimerVtbl* lpVtbl;
5302 };
5303 
5304 #ifdef COBJMACROS
5305 #ifndef WIDL_C_INLINE_WRAPPERS
5306 /*** IUnknown methods ***/
5307 #define IUIAnimationTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5308 #define IUIAnimationTimer_AddRef(This) (This)->lpVtbl->AddRef(This)
5309 #define IUIAnimationTimer_Release(This) (This)->lpVtbl->Release(This)
5310 /*** IUIAnimationTimer methods ***/
5311 #define IUIAnimationTimer_SetTimerUpdateHandler(This,updateHandler,idleBehavior) (This)->lpVtbl->SetTimerUpdateHandler(This,updateHandler,idleBehavior)
5312 #define IUIAnimationTimer_SetTimerEventHandler(This,handler) (This)->lpVtbl->SetTimerEventHandler(This,handler)
5313 #define IUIAnimationTimer_Enable(This) (This)->lpVtbl->Enable(This)
5314 #define IUIAnimationTimer_Disable(This) (This)->lpVtbl->Disable(This)
5315 #define IUIAnimationTimer_IsEnabled(This) (This)->lpVtbl->IsEnabled(This)
5316 #define IUIAnimationTimer_GetTime(This,seconds) (This)->lpVtbl->GetTime(This,seconds)
5317 #define IUIAnimationTimer_SetFrameRateThreshold(This,framesPerSecond) (This)->lpVtbl->SetFrameRateThreshold(This,framesPerSecond)
5318 #else
5319 /*** IUnknown methods ***/
5320 static FORCEINLINE HRESULT IUIAnimationTimer_QueryInterface(IUIAnimationTimer* This,REFIID riid,void **ppvObject) {
5321     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5322 }
5323 static FORCEINLINE ULONG IUIAnimationTimer_AddRef(IUIAnimationTimer* This) {
5324     return This->lpVtbl->AddRef(This);
5325 }
5326 static FORCEINLINE ULONG IUIAnimationTimer_Release(IUIAnimationTimer* This) {
5327     return This->lpVtbl->Release(This);
5328 }
5329 /*** IUIAnimationTimer methods ***/
5330 static FORCEINLINE HRESULT IUIAnimationTimer_SetTimerUpdateHandler(IUIAnimationTimer* This,IUIAnimationTimerUpdateHandler *updateHandler,UI_ANIMATION_IDLE_BEHAVIOR idleBehavior) {
5331     return This->lpVtbl->SetTimerUpdateHandler(This,updateHandler,idleBehavior);
5332 }
5333 static FORCEINLINE HRESULT IUIAnimationTimer_SetTimerEventHandler(IUIAnimationTimer* This,IUIAnimationTimerEventHandler *handler) {
5334     return This->lpVtbl->SetTimerEventHandler(This,handler);
5335 }
5336 static FORCEINLINE HRESULT IUIAnimationTimer_Enable(IUIAnimationTimer* This) {
5337     return This->lpVtbl->Enable(This);
5338 }
5339 static FORCEINLINE HRESULT IUIAnimationTimer_Disable(IUIAnimationTimer* This) {
5340     return This->lpVtbl->Disable(This);
5341 }
5342 static FORCEINLINE HRESULT IUIAnimationTimer_IsEnabled(IUIAnimationTimer* This) {
5343     return This->lpVtbl->IsEnabled(This);
5344 }
5345 static FORCEINLINE HRESULT IUIAnimationTimer_GetTime(IUIAnimationTimer* This,double *seconds) {
5346     return This->lpVtbl->GetTime(This,seconds);
5347 }
5348 static FORCEINLINE HRESULT IUIAnimationTimer_SetFrameRateThreshold(IUIAnimationTimer* This,unsigned int framesPerSecond) {
5349     return This->lpVtbl->SetFrameRateThreshold(This,framesPerSecond);
5350 }
5351 #endif
5352 #endif
5353 
5354 #endif
5355 
5356 
5357 #endif  /* __IUIAnimationTimer_INTERFACE_DEFINED__ */
5358 
5359 /*****************************************************************************
5360  * IUIAnimationTimerUpdateHandler interface
5361  */
5362 #ifndef __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__
5363 #define __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__
5364 
5365 DEFINE_GUID(IID_IUIAnimationTimerUpdateHandler, 0x195509b7, 0x5d5e, 0x4e3e, 0xb2,0x78, 0xee,0x37,0x59,0xb3,0x67,0xad);
5366 #if defined(__cplusplus) && !defined(CINTERFACE)
5367 MIDL_INTERFACE("195509b7-5d5e-4e3e-b278-ee3759b367ad")
5368 IUIAnimationTimerUpdateHandler : public IUnknown
5369 {
5370     virtual HRESULT STDMETHODCALLTYPE OnUpdate(
5371         double timeNow,
5372         UI_ANIMATION_UPDATE_RESULT *result) = 0;
5373 
5374     virtual HRESULT STDMETHODCALLTYPE SetTimerClientEventHandler(
5375         IUIAnimationTimerClientEventHandler *handler) = 0;
5376 
5377     virtual HRESULT STDMETHODCALLTYPE ClearTimerClientEventHandler(
5378         ) = 0;
5379 
5380 };
5381 #ifdef __CRT_UUID_DECL
5382 __CRT_UUID_DECL(IUIAnimationTimerUpdateHandler, 0x195509b7, 0x5d5e, 0x4e3e, 0xb2,0x78, 0xee,0x37,0x59,0xb3,0x67,0xad)
5383 #endif
5384 #else
5385 typedef struct IUIAnimationTimerUpdateHandlerVtbl {
5386     BEGIN_INTERFACE
5387 
5388     /*** IUnknown methods ***/
5389     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5390         IUIAnimationTimerUpdateHandler *This,
5391         REFIID riid,
5392         void **ppvObject);
5393 
5394     ULONG (STDMETHODCALLTYPE *AddRef)(
5395         IUIAnimationTimerUpdateHandler *This);
5396 
5397     ULONG (STDMETHODCALLTYPE *Release)(
5398         IUIAnimationTimerUpdateHandler *This);
5399 
5400     /*** IUIAnimationTimerUpdateHandler methods ***/
5401     HRESULT (STDMETHODCALLTYPE *OnUpdate)(
5402         IUIAnimationTimerUpdateHandler *This,
5403         double timeNow,
5404         UI_ANIMATION_UPDATE_RESULT *result);
5405 
5406     HRESULT (STDMETHODCALLTYPE *SetTimerClientEventHandler)(
5407         IUIAnimationTimerUpdateHandler *This,
5408         IUIAnimationTimerClientEventHandler *handler);
5409 
5410     HRESULT (STDMETHODCALLTYPE *ClearTimerClientEventHandler)(
5411         IUIAnimationTimerUpdateHandler *This);
5412 
5413     END_INTERFACE
5414 } IUIAnimationTimerUpdateHandlerVtbl;
5415 
5416 interface IUIAnimationTimerUpdateHandler {
5417     CONST_VTBL IUIAnimationTimerUpdateHandlerVtbl* lpVtbl;
5418 };
5419 
5420 #ifdef COBJMACROS
5421 #ifndef WIDL_C_INLINE_WRAPPERS
5422 /*** IUnknown methods ***/
5423 #define IUIAnimationTimerUpdateHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5424 #define IUIAnimationTimerUpdateHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
5425 #define IUIAnimationTimerUpdateHandler_Release(This) (This)->lpVtbl->Release(This)
5426 /*** IUIAnimationTimerUpdateHandler methods ***/
5427 #define IUIAnimationTimerUpdateHandler_OnUpdate(This,timeNow,result) (This)->lpVtbl->OnUpdate(This,timeNow,result)
5428 #define IUIAnimationTimerUpdateHandler_SetTimerClientEventHandler(This,handler) (This)->lpVtbl->SetTimerClientEventHandler(This,handler)
5429 #define IUIAnimationTimerUpdateHandler_ClearTimerClientEventHandler(This) (This)->lpVtbl->ClearTimerClientEventHandler(This)
5430 #else
5431 /*** IUnknown methods ***/
5432 static FORCEINLINE HRESULT IUIAnimationTimerUpdateHandler_QueryInterface(IUIAnimationTimerUpdateHandler* This,REFIID riid,void **ppvObject) {
5433     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5434 }
5435 static FORCEINLINE ULONG IUIAnimationTimerUpdateHandler_AddRef(IUIAnimationTimerUpdateHandler* This) {
5436     return This->lpVtbl->AddRef(This);
5437 }
5438 static FORCEINLINE ULONG IUIAnimationTimerUpdateHandler_Release(IUIAnimationTimerUpdateHandler* This) {
5439     return This->lpVtbl->Release(This);
5440 }
5441 /*** IUIAnimationTimerUpdateHandler methods ***/
5442 static FORCEINLINE HRESULT IUIAnimationTimerUpdateHandler_OnUpdate(IUIAnimationTimerUpdateHandler* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *result) {
5443     return This->lpVtbl->OnUpdate(This,timeNow,result);
5444 }
5445 static FORCEINLINE HRESULT IUIAnimationTimerUpdateHandler_SetTimerClientEventHandler(IUIAnimationTimerUpdateHandler* This,IUIAnimationTimerClientEventHandler *handler) {
5446     return This->lpVtbl->SetTimerClientEventHandler(This,handler);
5447 }
5448 static FORCEINLINE HRESULT IUIAnimationTimerUpdateHandler_ClearTimerClientEventHandler(IUIAnimationTimerUpdateHandler* This) {
5449     return This->lpVtbl->ClearTimerClientEventHandler(This);
5450 }
5451 #endif
5452 #endif
5453 
5454 #endif
5455 
5456 
5457 #endif  /* __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__ */
5458 
5459 /*****************************************************************************
5460  * IUIAnimationTimerClientEventHandler interface
5461  */
5462 #ifndef __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__
5463 #define __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__
5464 
5465 DEFINE_GUID(IID_IUIAnimationTimerClientEventHandler, 0xbedb4db6, 0x94fa, 0x4bfb, 0xa4,0x7f, 0xef,0x2d,0x9e,0x40,0x8c,0x25);
5466 #if defined(__cplusplus) && !defined(CINTERFACE)
5467 MIDL_INTERFACE("bedb4db6-94fa-4bfb-a47f-ef2d9e408c25")
5468 IUIAnimationTimerClientEventHandler : public IUnknown
5469 {
5470     virtual HRESULT STDMETHODCALLTYPE OnTimerClientStatusChanged(
5471         UI_ANIMATION_TIMER_CLIENT_STATUS newStatus,
5472         UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus) = 0;
5473 
5474 };
5475 #ifdef __CRT_UUID_DECL
5476 __CRT_UUID_DECL(IUIAnimationTimerClientEventHandler, 0xbedb4db6, 0x94fa, 0x4bfb, 0xa4,0x7f, 0xef,0x2d,0x9e,0x40,0x8c,0x25)
5477 #endif
5478 #else
5479 typedef struct IUIAnimationTimerClientEventHandlerVtbl {
5480     BEGIN_INTERFACE
5481 
5482     /*** IUnknown methods ***/
5483     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5484         IUIAnimationTimerClientEventHandler *This,
5485         REFIID riid,
5486         void **ppvObject);
5487 
5488     ULONG (STDMETHODCALLTYPE *AddRef)(
5489         IUIAnimationTimerClientEventHandler *This);
5490 
5491     ULONG (STDMETHODCALLTYPE *Release)(
5492         IUIAnimationTimerClientEventHandler *This);
5493 
5494     /*** IUIAnimationTimerClientEventHandler methods ***/
5495     HRESULT (STDMETHODCALLTYPE *OnTimerClientStatusChanged)(
5496         IUIAnimationTimerClientEventHandler *This,
5497         UI_ANIMATION_TIMER_CLIENT_STATUS newStatus,
5498         UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus);
5499 
5500     END_INTERFACE
5501 } IUIAnimationTimerClientEventHandlerVtbl;
5502 
5503 interface IUIAnimationTimerClientEventHandler {
5504     CONST_VTBL IUIAnimationTimerClientEventHandlerVtbl* lpVtbl;
5505 };
5506 
5507 #ifdef COBJMACROS
5508 #ifndef WIDL_C_INLINE_WRAPPERS
5509 /*** IUnknown methods ***/
5510 #define IUIAnimationTimerClientEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5511 #define IUIAnimationTimerClientEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
5512 #define IUIAnimationTimerClientEventHandler_Release(This) (This)->lpVtbl->Release(This)
5513 /*** IUIAnimationTimerClientEventHandler methods ***/
5514 #define IUIAnimationTimerClientEventHandler_OnTimerClientStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnTimerClientStatusChanged(This,newStatus,previousStatus)
5515 #else
5516 /*** IUnknown methods ***/
5517 static FORCEINLINE HRESULT IUIAnimationTimerClientEventHandler_QueryInterface(IUIAnimationTimerClientEventHandler* This,REFIID riid,void **ppvObject) {
5518     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5519 }
5520 static FORCEINLINE ULONG IUIAnimationTimerClientEventHandler_AddRef(IUIAnimationTimerClientEventHandler* This) {
5521     return This->lpVtbl->AddRef(This);
5522 }
5523 static FORCEINLINE ULONG IUIAnimationTimerClientEventHandler_Release(IUIAnimationTimerClientEventHandler* This) {
5524     return This->lpVtbl->Release(This);
5525 }
5526 /*** IUIAnimationTimerClientEventHandler methods ***/
5527 static FORCEINLINE HRESULT IUIAnimationTimerClientEventHandler_OnTimerClientStatusChanged(IUIAnimationTimerClientEventHandler* This,UI_ANIMATION_TIMER_CLIENT_STATUS newStatus,UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus) {
5528     return This->lpVtbl->OnTimerClientStatusChanged(This,newStatus,previousStatus);
5529 }
5530 #endif
5531 #endif
5532 
5533 #endif
5534 
5535 
5536 #endif  /* __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__ */
5537 
5538 /*****************************************************************************
5539  * IUIAnimationTimerEventHandler interface
5540  */
5541 #ifndef __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__
5542 #define __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__
5543 
5544 DEFINE_GUID(IID_IUIAnimationTimerEventHandler, 0x274a7dea, 0xd771, 0x4095, 0xab,0xbd, 0x8d,0xf7,0xab,0xd2,0x3c,0xe3);
5545 #if defined(__cplusplus) && !defined(CINTERFACE)
5546 MIDL_INTERFACE("274a7dea-d771-4095-abbd-8df7abd23ce3")
5547 IUIAnimationTimerEventHandler : public IUnknown
5548 {
5549     virtual HRESULT STDMETHODCALLTYPE OnPreUpdate(
5550         ) = 0;
5551 
5552     virtual HRESULT STDMETHODCALLTYPE OnPostUpdate(
5553         ) = 0;
5554 
5555     virtual HRESULT STDMETHODCALLTYPE OnRenderingTooSlow(
5556         UINT32 framesPerSecond) = 0;
5557 
5558 };
5559 #ifdef __CRT_UUID_DECL
5560 __CRT_UUID_DECL(IUIAnimationTimerEventHandler, 0x274a7dea, 0xd771, 0x4095, 0xab,0xbd, 0x8d,0xf7,0xab,0xd2,0x3c,0xe3)
5561 #endif
5562 #else
5563 typedef struct IUIAnimationTimerEventHandlerVtbl {
5564     BEGIN_INTERFACE
5565 
5566     /*** IUnknown methods ***/
5567     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5568         IUIAnimationTimerEventHandler *This,
5569         REFIID riid,
5570         void **ppvObject);
5571 
5572     ULONG (STDMETHODCALLTYPE *AddRef)(
5573         IUIAnimationTimerEventHandler *This);
5574 
5575     ULONG (STDMETHODCALLTYPE *Release)(
5576         IUIAnimationTimerEventHandler *This);
5577 
5578     /*** IUIAnimationTimerEventHandler methods ***/
5579     HRESULT (STDMETHODCALLTYPE *OnPreUpdate)(
5580         IUIAnimationTimerEventHandler *This);
5581 
5582     HRESULT (STDMETHODCALLTYPE *OnPostUpdate)(
5583         IUIAnimationTimerEventHandler *This);
5584 
5585     HRESULT (STDMETHODCALLTYPE *OnRenderingTooSlow)(
5586         IUIAnimationTimerEventHandler *This,
5587         UINT32 framesPerSecond);
5588 
5589     END_INTERFACE
5590 } IUIAnimationTimerEventHandlerVtbl;
5591 
5592 interface IUIAnimationTimerEventHandler {
5593     CONST_VTBL IUIAnimationTimerEventHandlerVtbl* lpVtbl;
5594 };
5595 
5596 #ifdef COBJMACROS
5597 #ifndef WIDL_C_INLINE_WRAPPERS
5598 /*** IUnknown methods ***/
5599 #define IUIAnimationTimerEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5600 #define IUIAnimationTimerEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
5601 #define IUIAnimationTimerEventHandler_Release(This) (This)->lpVtbl->Release(This)
5602 /*** IUIAnimationTimerEventHandler methods ***/
5603 #define IUIAnimationTimerEventHandler_OnPreUpdate(This) (This)->lpVtbl->OnPreUpdate(This)
5604 #define IUIAnimationTimerEventHandler_OnPostUpdate(This) (This)->lpVtbl->OnPostUpdate(This)
5605 #define IUIAnimationTimerEventHandler_OnRenderingTooSlow(This,framesPerSecond) (This)->lpVtbl->OnRenderingTooSlow(This,framesPerSecond)
5606 #else
5607 /*** IUnknown methods ***/
5608 static FORCEINLINE HRESULT IUIAnimationTimerEventHandler_QueryInterface(IUIAnimationTimerEventHandler* This,REFIID riid,void **ppvObject) {
5609     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5610 }
5611 static FORCEINLINE ULONG IUIAnimationTimerEventHandler_AddRef(IUIAnimationTimerEventHandler* This) {
5612     return This->lpVtbl->AddRef(This);
5613 }
5614 static FORCEINLINE ULONG IUIAnimationTimerEventHandler_Release(IUIAnimationTimerEventHandler* This) {
5615     return This->lpVtbl->Release(This);
5616 }
5617 /*** IUIAnimationTimerEventHandler methods ***/
5618 static FORCEINLINE HRESULT IUIAnimationTimerEventHandler_OnPreUpdate(IUIAnimationTimerEventHandler* This) {
5619     return This->lpVtbl->OnPreUpdate(This);
5620 }
5621 static FORCEINLINE HRESULT IUIAnimationTimerEventHandler_OnPostUpdate(IUIAnimationTimerEventHandler* This) {
5622     return This->lpVtbl->OnPostUpdate(This);
5623 }
5624 static FORCEINLINE HRESULT IUIAnimationTimerEventHandler_OnRenderingTooSlow(IUIAnimationTimerEventHandler* This,UINT32 framesPerSecond) {
5625     return This->lpVtbl->OnRenderingTooSlow(This,framesPerSecond);
5626 }
5627 #endif
5628 #endif
5629 
5630 #endif
5631 
5632 
5633 #endif  /* __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__ */
5634 
5635 /* Begin additional prototypes for all interfaces */
5636 
5637 
5638 /* End additional prototypes */
5639 
5640 #ifdef __cplusplus
5641 }
5642 #endif
5643 
5644 #endif /* __uianimation_h__ */
5645