zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

uianimation.h (243958B) - Raw


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