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