master
   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
  24typedef class UIAnimationManager UIAnimationManager;
  25#else
  26typedef 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
  33typedef class UIAnimationManager2 UIAnimationManager2;
  34#else
  35typedef 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
  42typedef class UIAnimationTransitionLibrary UIAnimationTransitionLibrary;
  43#else
  44typedef 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
  51typedef class UIAnimationTransitionLibrary2 UIAnimationTransitionLibrary2;
  52#else
  53typedef 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
  60typedef class UIAnimationTransitionFactory UIAnimationTransitionFactory;
  61#else
  62typedef 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
  69typedef class UIAnimationTransitionFactory2 UIAnimationTransitionFactory2;
  70#else
  71typedef 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
  78typedef class UIAnimationTimer UIAnimationTimer;
  79#else
  80typedef struct UIAnimationTimer UIAnimationTimer;
  81#endif /* defined __cplusplus */
  82#endif /* defined __UIAnimationTimer_FWD_DEFINED__ */
  83
  84#ifndef __IUIAnimationManager_FWD_DEFINED__
  85#define __IUIAnimationManager_FWD_DEFINED__
  86typedef interface IUIAnimationManager IUIAnimationManager;
  87#ifdef __cplusplus
  88interface IUIAnimationManager;
  89#endif /* __cplusplus */
  90#endif
  91
  92#ifndef __IUIAnimationVariable_FWD_DEFINED__
  93#define __IUIAnimationVariable_FWD_DEFINED__
  94typedef interface IUIAnimationVariable IUIAnimationVariable;
  95#ifdef __cplusplus
  96interface IUIAnimationVariable;
  97#endif /* __cplusplus */
  98#endif
  99
 100#ifndef __IUIAnimationStoryboard_FWD_DEFINED__
 101#define __IUIAnimationStoryboard_FWD_DEFINED__
 102typedef interface IUIAnimationStoryboard IUIAnimationStoryboard;
 103#ifdef __cplusplus
 104interface IUIAnimationStoryboard;
 105#endif /* __cplusplus */
 106#endif
 107
 108#ifndef __IUIAnimationTransition_FWD_DEFINED__
 109#define __IUIAnimationTransition_FWD_DEFINED__
 110typedef interface IUIAnimationTransition IUIAnimationTransition;
 111#ifdef __cplusplus
 112interface IUIAnimationTransition;
 113#endif /* __cplusplus */
 114#endif
 115
 116#ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
 117#define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
 118typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler;
 119#ifdef __cplusplus
 120interface IUIAnimationStoryboardEventHandler;
 121#endif /* __cplusplus */
 122#endif
 123
 124#ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__
 125#define __IUIAnimationVariableChangeHandler_FWD_DEFINED__
 126typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler;
 127#ifdef __cplusplus
 128interface IUIAnimationVariableChangeHandler;
 129#endif /* __cplusplus */
 130#endif
 131
 132#ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
 133#define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
 134typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler;
 135#ifdef __cplusplus
 136interface IUIAnimationVariableIntegerChangeHandler;
 137#endif /* __cplusplus */
 138#endif
 139
 140#ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__
 141#define __IUIAnimationManagerEventHandler_FWD_DEFINED__
 142typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler;
 143#ifdef __cplusplus
 144interface IUIAnimationManagerEventHandler;
 145#endif /* __cplusplus */
 146#endif
 147
 148#ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__
 149#define __IUIAnimationPriorityComparison_FWD_DEFINED__
 150typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison;
 151#ifdef __cplusplus
 152interface IUIAnimationPriorityComparison;
 153#endif /* __cplusplus */
 154#endif
 155
 156#ifndef __IUIAnimationManager2_FWD_DEFINED__
 157#define __IUIAnimationManager2_FWD_DEFINED__
 158typedef interface IUIAnimationManager2 IUIAnimationManager2;
 159#ifdef __cplusplus
 160interface IUIAnimationManager2;
 161#endif /* __cplusplus */
 162#endif
 163
 164#ifndef __IUIAnimationVariable2_FWD_DEFINED__
 165#define __IUIAnimationVariable2_FWD_DEFINED__
 166typedef interface IUIAnimationVariable2 IUIAnimationVariable2;
 167#ifdef __cplusplus
 168interface IUIAnimationVariable2;
 169#endif /* __cplusplus */
 170#endif
 171
 172#ifndef __IDCompositionAnimation_FWD_DEFINED__
 173#define __IDCompositionAnimation_FWD_DEFINED__
 174typedef interface IDCompositionAnimation IDCompositionAnimation;
 175#ifdef __cplusplus
 176interface IDCompositionAnimation;
 177#endif /* __cplusplus */
 178#endif
 179
 180#ifndef __IUIAnimationStoryboard2_FWD_DEFINED__
 181#define __IUIAnimationStoryboard2_FWD_DEFINED__
 182typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2;
 183#ifdef __cplusplus
 184interface IUIAnimationStoryboard2;
 185#endif /* __cplusplus */
 186#endif
 187
 188#ifndef __IUIAnimationTransition2_FWD_DEFINED__
 189#define __IUIAnimationTransition2_FWD_DEFINED__
 190typedef interface IUIAnimationTransition2 IUIAnimationTransition2;
 191#ifdef __cplusplus
 192interface IUIAnimationTransition2;
 193#endif /* __cplusplus */
 194#endif
 195
 196#ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
 197#define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
 198typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2;
 199#ifdef __cplusplus
 200interface IUIAnimationLoopIterationChangeHandler2;
 201#endif /* __cplusplus */
 202#endif
 203
 204#ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
 205#define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
 206typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2;
 207#ifdef __cplusplus
 208interface IUIAnimationStoryboardEventHandler2;
 209#endif /* __cplusplus */
 210#endif
 211
 212#ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
 213#define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
 214typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2;
 215#ifdef __cplusplus
 216interface IUIAnimationVariableChangeHandler2;
 217#endif /* __cplusplus */
 218#endif
 219
 220#ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
 221#define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
 222typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2;
 223#ifdef __cplusplus
 224interface IUIAnimationVariableIntegerChangeHandler2;
 225#endif /* __cplusplus */
 226#endif
 227
 228#ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
 229#define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
 230typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2;
 231#ifdef __cplusplus
 232interface IUIAnimationVariableCurveChangeHandler2;
 233#endif /* __cplusplus */
 234#endif
 235
 236#ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__
 237#define __IUIAnimationManagerEventHandler2_FWD_DEFINED__
 238typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2;
 239#ifdef __cplusplus
 240interface IUIAnimationManagerEventHandler2;
 241#endif /* __cplusplus */
 242#endif
 243
 244#ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__
 245#define __IUIAnimationPriorityComparison2_FWD_DEFINED__
 246typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2;
 247#ifdef __cplusplus
 248interface IUIAnimationPriorityComparison2;
 249#endif /* __cplusplus */
 250#endif
 251
 252#ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__
 253#define __IUIAnimationTransitionLibrary_FWD_DEFINED__
 254typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary;
 255#ifdef __cplusplus
 256interface IUIAnimationTransitionLibrary;
 257#endif /* __cplusplus */
 258#endif
 259
 260#ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__
 261#define __IUIAnimationTransitionLibrary2_FWD_DEFINED__
 262typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2;
 263#ifdef __cplusplus
 264interface IUIAnimationTransitionLibrary2;
 265#endif /* __cplusplus */
 266#endif
 267
 268#ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__
 269#define __IUIAnimationTransitionFactory_FWD_DEFINED__
 270typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory;
 271#ifdef __cplusplus
 272interface IUIAnimationTransitionFactory;
 273#endif /* __cplusplus */
 274#endif
 275
 276#ifndef __IUIAnimationInterpolator_FWD_DEFINED__
 277#define __IUIAnimationInterpolator_FWD_DEFINED__
 278typedef interface IUIAnimationInterpolator IUIAnimationInterpolator;
 279#ifdef __cplusplus
 280interface IUIAnimationInterpolator;
 281#endif /* __cplusplus */
 282#endif
 283
 284#ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__
 285#define __IUIAnimationTransitionFactory2_FWD_DEFINED__
 286typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2;
 287#ifdef __cplusplus
 288interface IUIAnimationTransitionFactory2;
 289#endif /* __cplusplus */
 290#endif
 291
 292#ifndef __IUIAnimationInterpolator2_FWD_DEFINED__
 293#define __IUIAnimationInterpolator2_FWD_DEFINED__
 294typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2;
 295#ifdef __cplusplus
 296interface IUIAnimationInterpolator2;
 297#endif /* __cplusplus */
 298#endif
 299
 300#ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
 301#define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
 302typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation;
 303#ifdef __cplusplus
 304interface IUIAnimationPrimitiveInterpolation;
 305#endif /* __cplusplus */
 306#endif
 307
 308#ifndef __IUIAnimationTimer_FWD_DEFINED__
 309#define __IUIAnimationTimer_FWD_DEFINED__
 310typedef interface IUIAnimationTimer IUIAnimationTimer;
 311#ifdef __cplusplus
 312interface IUIAnimationTimer;
 313#endif /* __cplusplus */
 314#endif
 315
 316#ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
 317#define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
 318typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler;
 319#ifdef __cplusplus
 320interface IUIAnimationTimerUpdateHandler;
 321#endif /* __cplusplus */
 322#endif
 323
 324#ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
 325#define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
 326typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler;
 327#ifdef __cplusplus
 328interface IUIAnimationTimerClientEventHandler;
 329#endif /* __cplusplus */
 330#endif
 331
 332#ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__
 333#define __IUIAnimationTimerEventHandler_FWD_DEFINED__
 334typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler;
 335#ifdef __cplusplus
 336interface IUIAnimationTimerEventHandler;
 337#endif /* __cplusplus */
 338#endif
 339
 340/* Headers for imported files */
 341
 342#include <unknwn.h>
 343
 344#ifdef __cplusplus
 345extern "C" {
 346#endif
 347
 348#ifndef __IUIAnimationManager_FWD_DEFINED__
 349#define __IUIAnimationManager_FWD_DEFINED__
 350typedef interface IUIAnimationManager IUIAnimationManager;
 351#ifdef __cplusplus
 352interface IUIAnimationManager;
 353#endif /* __cplusplus */
 354#endif
 355
 356#ifndef __IUIAnimationVariable_FWD_DEFINED__
 357#define __IUIAnimationVariable_FWD_DEFINED__
 358typedef interface IUIAnimationVariable IUIAnimationVariable;
 359#ifdef __cplusplus
 360interface IUIAnimationVariable;
 361#endif /* __cplusplus */
 362#endif
 363
 364#ifndef __IUIAnimationStoryboard_FWD_DEFINED__
 365#define __IUIAnimationStoryboard_FWD_DEFINED__
 366typedef interface IUIAnimationStoryboard IUIAnimationStoryboard;
 367#ifdef __cplusplus
 368interface IUIAnimationStoryboard;
 369#endif /* __cplusplus */
 370#endif
 371
 372#ifndef __IUIAnimationTransition_FWD_DEFINED__
 373#define __IUIAnimationTransition_FWD_DEFINED__
 374typedef interface IUIAnimationTransition IUIAnimationTransition;
 375#ifdef __cplusplus
 376interface IUIAnimationTransition;
 377#endif /* __cplusplus */
 378#endif
 379
 380#ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
 381#define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__
 382typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler;
 383#ifdef __cplusplus
 384interface IUIAnimationStoryboardEventHandler;
 385#endif /* __cplusplus */
 386#endif
 387
 388#ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__
 389#define __IUIAnimationVariableChangeHandler_FWD_DEFINED__
 390typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler;
 391#ifdef __cplusplus
 392interface IUIAnimationVariableChangeHandler;
 393#endif /* __cplusplus */
 394#endif
 395
 396#ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
 397#define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__
 398typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler;
 399#ifdef __cplusplus
 400interface IUIAnimationVariableIntegerChangeHandler;
 401#endif /* __cplusplus */
 402#endif
 403
 404#ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__
 405#define __IUIAnimationManagerEventHandler_FWD_DEFINED__
 406typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler;
 407#ifdef __cplusplus
 408interface IUIAnimationManagerEventHandler;
 409#endif /* __cplusplus */
 410#endif
 411
 412#ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__
 413#define __IUIAnimationPriorityComparison_FWD_DEFINED__
 414typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison;
 415#ifdef __cplusplus
 416interface IUIAnimationPriorityComparison;
 417#endif /* __cplusplus */
 418#endif
 419
 420#ifndef __IUIAnimationManager2_FWD_DEFINED__
 421#define __IUIAnimationManager2_FWD_DEFINED__
 422typedef interface IUIAnimationManager2 IUIAnimationManager2;
 423#ifdef __cplusplus
 424interface IUIAnimationManager2;
 425#endif /* __cplusplus */
 426#endif
 427
 428#ifndef __IUIAnimationVariable2_FWD_DEFINED__
 429#define __IUIAnimationVariable2_FWD_DEFINED__
 430typedef interface IUIAnimationVariable2 IUIAnimationVariable2;
 431#ifdef __cplusplus
 432interface IUIAnimationVariable2;
 433#endif /* __cplusplus */
 434#endif
 435
 436#ifndef __IDCompositionAnimation_FWD_DEFINED__
 437#define __IDCompositionAnimation_FWD_DEFINED__
 438typedef interface IDCompositionAnimation IDCompositionAnimation;
 439#ifdef __cplusplus
 440interface IDCompositionAnimation;
 441#endif /* __cplusplus */
 442#endif
 443
 444#ifndef __IUIAnimationStoryboard2_FWD_DEFINED__
 445#define __IUIAnimationStoryboard2_FWD_DEFINED__
 446typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2;
 447#ifdef __cplusplus
 448interface IUIAnimationStoryboard2;
 449#endif /* __cplusplus */
 450#endif
 451
 452#ifndef __IUIAnimationTransition2_FWD_DEFINED__
 453#define __IUIAnimationTransition2_FWD_DEFINED__
 454typedef interface IUIAnimationTransition2 IUIAnimationTransition2;
 455#ifdef __cplusplus
 456interface IUIAnimationTransition2;
 457#endif /* __cplusplus */
 458#endif
 459
 460#ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
 461#define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__
 462typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2;
 463#ifdef __cplusplus
 464interface IUIAnimationLoopIterationChangeHandler2;
 465#endif /* __cplusplus */
 466#endif
 467
 468#ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
 469#define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__
 470typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2;
 471#ifdef __cplusplus
 472interface IUIAnimationStoryboardEventHandler2;
 473#endif /* __cplusplus */
 474#endif
 475
 476#ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
 477#define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__
 478typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2;
 479#ifdef __cplusplus
 480interface IUIAnimationVariableChangeHandler2;
 481#endif /* __cplusplus */
 482#endif
 483
 484#ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
 485#define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__
 486typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2;
 487#ifdef __cplusplus
 488interface IUIAnimationVariableIntegerChangeHandler2;
 489#endif /* __cplusplus */
 490#endif
 491
 492#ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
 493#define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__
 494typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2;
 495#ifdef __cplusplus
 496interface IUIAnimationVariableCurveChangeHandler2;
 497#endif /* __cplusplus */
 498#endif
 499
 500#ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__
 501#define __IUIAnimationManagerEventHandler2_FWD_DEFINED__
 502typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2;
 503#ifdef __cplusplus
 504interface IUIAnimationManagerEventHandler2;
 505#endif /* __cplusplus */
 506#endif
 507
 508#ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__
 509#define __IUIAnimationPriorityComparison2_FWD_DEFINED__
 510typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2;
 511#ifdef __cplusplus
 512interface IUIAnimationPriorityComparison2;
 513#endif /* __cplusplus */
 514#endif
 515
 516#ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__
 517#define __IUIAnimationTransitionLibrary_FWD_DEFINED__
 518typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary;
 519#ifdef __cplusplus
 520interface IUIAnimationTransitionLibrary;
 521#endif /* __cplusplus */
 522#endif
 523
 524#ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__
 525#define __IUIAnimationTransitionLibrary2_FWD_DEFINED__
 526typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2;
 527#ifdef __cplusplus
 528interface IUIAnimationTransitionLibrary2;
 529#endif /* __cplusplus */
 530#endif
 531
 532#ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__
 533#define __IUIAnimationTransitionFactory_FWD_DEFINED__
 534typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory;
 535#ifdef __cplusplus
 536interface IUIAnimationTransitionFactory;
 537#endif /* __cplusplus */
 538#endif
 539
 540#ifndef __IUIAnimationInterpolator_FWD_DEFINED__
 541#define __IUIAnimationInterpolator_FWD_DEFINED__
 542typedef interface IUIAnimationInterpolator IUIAnimationInterpolator;
 543#ifdef __cplusplus
 544interface IUIAnimationInterpolator;
 545#endif /* __cplusplus */
 546#endif
 547
 548#ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__
 549#define __IUIAnimationTransitionFactory2_FWD_DEFINED__
 550typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2;
 551#ifdef __cplusplus
 552interface IUIAnimationTransitionFactory2;
 553#endif /* __cplusplus */
 554#endif
 555
 556#ifndef __IUIAnimationInterpolator2_FWD_DEFINED__
 557#define __IUIAnimationInterpolator2_FWD_DEFINED__
 558typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2;
 559#ifdef __cplusplus
 560interface IUIAnimationInterpolator2;
 561#endif /* __cplusplus */
 562#endif
 563
 564#ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
 565#define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__
 566typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation;
 567#ifdef __cplusplus
 568interface IUIAnimationPrimitiveInterpolation;
 569#endif /* __cplusplus */
 570#endif
 571
 572#ifndef __IUIAnimationTimer_FWD_DEFINED__
 573#define __IUIAnimationTimer_FWD_DEFINED__
 574typedef interface IUIAnimationTimer IUIAnimationTimer;
 575#ifdef __cplusplus
 576interface IUIAnimationTimer;
 577#endif /* __cplusplus */
 578#endif
 579
 580#ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
 581#define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__
 582typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler;
 583#ifdef __cplusplus
 584interface IUIAnimationTimerUpdateHandler;
 585#endif /* __cplusplus */
 586#endif
 587
 588#ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
 589#define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__
 590typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler;
 591#ifdef __cplusplus
 592interface IUIAnimationTimerClientEventHandler;
 593#endif /* __cplusplus */
 594#endif
 595
 596#ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__
 597#define __IUIAnimationTimerEventHandler_FWD_DEFINED__
 598typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler;
 599#ifdef __cplusplus
 600interface IUIAnimationTimerEventHandler;
 601#endif /* __cplusplus */
 602#endif
 603
 604typedef DOUBLE UI_ANIMATION_SECONDS;
 605typedef 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;
 612typedef 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;
 622typedef 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;
 627typedef 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;
 631typedef enum __WIDL_uianimation_generated_name_00000010 {
 632    UI_ANIMATION_MANAGER_IDLE = 0,
 633    UI_ANIMATION_MANAGER_BUSY = 1
 634} UI_ANIMATION_MANAGER_STATUS;
 635typedef 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;
 640typedef 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;
 644typedef 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;
 648typedef enum __WIDL_uianimation_generated_name_00000014 {
 649    UI_ANIMATION_SLOPE_INCREASING = 0,
 650    UI_ANIMATION_SLOPE_DECREASING = 1
 651} UI_ANIMATION_SLOPE;
 652typedef 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;
 659typedef 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;
 663typedef 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;
 667typedef 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
 681DEFINE_GUID(LIBID_uianimation, 0x44ca24db, 0x1a92, 0x4149, 0xba,0xb5, 0xfb,0x14,0xd6,0x4b,0x40,0x1e);
 682
 683/*****************************************************************************
 684 * UIAnimationManager coclass
 685 */
 686
 687DEFINE_GUID(CLSID_UIAnimationManager, 0x4c1fc63a, 0x695c, 0x47e8, 0xa3,0x39, 0x1a,0x19,0x4b,0xe3,0xd0,0xb8);
 688
 689#ifdef __cplusplus
 690class 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
 700DEFINE_GUID(CLSID_UIAnimationManager2, 0xd25d8842, 0x8884, 0x4a4a, 0xb3,0x21, 0x09,0x13,0x14,0x37,0x9b,0xdd);
 701
 702#ifdef __cplusplus
 703class 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
 713DEFINE_GUID(CLSID_UIAnimationTransitionLibrary, 0x1d6322ad, 0xaa85, 0x4ef5, 0xa8,0x28, 0x86,0xd7,0x10,0x67,0xd1,0x45);
 714
 715#ifdef __cplusplus
 716class 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
 726DEFINE_GUID(CLSID_UIAnimationTransitionLibrary2, 0x812f944a, 0xc5c8, 0x4cd9, 0xb0,0xa6, 0xb3,0xda,0x80,0x2f,0x22,0x8d);
 727
 728#ifdef __cplusplus
 729class 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
 739DEFINE_GUID(CLSID_UIAnimationTransitionFactory, 0x8a9b1cdd, 0xfcd7, 0x419c, 0x8b,0x44, 0x42,0xfd,0x17,0xdb,0x18,0x87);
 740
 741#ifdef __cplusplus
 742class 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
 752DEFINE_GUID(CLSID_UIAnimationTransitionFactory2, 0x84302f97, 0x7f7b, 0x4040, 0xb1,0x90, 0x72,0xac,0x9d,0x18,0xe4,0x20);
 753
 754#ifdef __cplusplus
 755class 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
 765DEFINE_GUID(CLSID_UIAnimationTimer, 0xbfcd4a0c, 0x06b6, 0x4384, 0xb7,0x68, 0x0d,0xaa,0x79,0x2c,0x38,0x0e);
 766
 767#ifdef __cplusplus
 768class 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
 781DEFINE_GUID(IID_IUIAnimationManager, 0x9169896c, 0xac8d, 0x4e7d, 0x94,0xe5, 0x67,0xfa,0x4d,0xc2,0xf2,0xe8);
 782#if defined(__cplusplus) && !defined(CINTERFACE)
 783MIDL_INTERFACE("9169896c-ac8d-4e7d-94e5-67fa4dc2f2e8")
 784IUIAnimationManager : 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
 856typedef 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
 955interface 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 ***/
 987static inline HRESULT IUIAnimationManager_QueryInterface(IUIAnimationManager* This,REFIID riid,void **ppvObject) {
 988    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 989}
 990static inline ULONG IUIAnimationManager_AddRef(IUIAnimationManager* This) {
 991    return This->lpVtbl->AddRef(This);
 992}
 993static inline ULONG IUIAnimationManager_Release(IUIAnimationManager* This) {
 994    return This->lpVtbl->Release(This);
 995}
 996/*** IUIAnimationManager methods ***/
 997static inline HRESULT IUIAnimationManager_CreateAnimationVariable(IUIAnimationManager* This,double initialValue,IUIAnimationVariable **variable) {
 998    return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable);
 999}
1000static inline HRESULT IUIAnimationManager_ScheduleTransition(IUIAnimationManager* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,double timeNow) {
1001    return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow);
1002}
1003static inline HRESULT IUIAnimationManager_CreateStoryboard(IUIAnimationManager* This,IUIAnimationStoryboard **storyboard) {
1004    return This->lpVtbl->CreateStoryboard(This,storyboard);
1005}
1006static inline HRESULT IUIAnimationManager_FinishAllStoryboards(IUIAnimationManager* This,double completionDeadline) {
1007    return This->lpVtbl->FinishAllStoryboards(This,completionDeadline);
1008}
1009static inline HRESULT IUIAnimationManager_AbandonAllStoryboards(IUIAnimationManager* This) {
1010    return This->lpVtbl->AbandonAllStoryboards(This);
1011}
1012static inline HRESULT IUIAnimationManager_Update(IUIAnimationManager* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) {
1013    return This->lpVtbl->Update(This,timeNow,updateResult);
1014}
1015static inline HRESULT IUIAnimationManager_GetVariableFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationVariable **variable) {
1016    return This->lpVtbl->GetVariableFromTag(This,object,id,variable);
1017}
1018static inline HRESULT IUIAnimationManager_GetStoryboardFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationStoryboard **storyboard) {
1019    return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard);
1020}
1021static inline HRESULT IUIAnimationManager_GetStatus(IUIAnimationManager* This,UI_ANIMATION_MANAGER_STATUS *status) {
1022    return This->lpVtbl->GetStatus(This,status);
1023}
1024static inline HRESULT IUIAnimationManager_SetAnimationMode(IUIAnimationManager* This,UI_ANIMATION_MODE mode) {
1025    return This->lpVtbl->SetAnimationMode(This,mode);
1026}
1027static inline HRESULT IUIAnimationManager_Pause(IUIAnimationManager* This) {
1028    return This->lpVtbl->Pause(This);
1029}
1030static inline HRESULT IUIAnimationManager_Resume(IUIAnimationManager* This) {
1031    return This->lpVtbl->Resume(This);
1032}
1033static inline HRESULT IUIAnimationManager_SetManagerEventHandler(IUIAnimationManager* This,IUIAnimationManagerEventHandler *handler) {
1034    return This->lpVtbl->SetManagerEventHandler(This,handler);
1035}
1036static inline HRESULT IUIAnimationManager_SetCancelPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1037    return This->lpVtbl->SetCancelPriorityComparison(This,comparison);
1038}
1039static inline HRESULT IUIAnimationManager_SetTrimPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1040    return This->lpVtbl->SetTrimPriorityComparison(This,comparison);
1041}
1042static inline HRESULT IUIAnimationManager_SetCompressPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1043    return This->lpVtbl->SetCompressPriorityComparison(This,comparison);
1044}
1045static inline HRESULT IUIAnimationManager_SetConcludePriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) {
1046    return This->lpVtbl->SetConcludePriorityComparison(This,comparison);
1047}
1048static inline HRESULT IUIAnimationManager_SetDefaultLongestAcceptableDelay(IUIAnimationManager* This,double delay) {
1049    return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay);
1050}
1051static 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
1068DEFINE_GUID(IID_IUIAnimationVariable, 0x8ceeb155, 0x2849, 0x4ce5, 0x94,0x48, 0x91,0xff,0x70,0xe1,0xe4,0xd9);
1069#if defined(__cplusplus) && !defined(CINTERFACE)
1070MIDL_INTERFACE("8ceeb155-2849-4ce5-9448-91ff70e1e4d9")
1071IUIAnimationVariable : 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
1122typedef 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
1199interface 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 ***/
1226static inline HRESULT IUIAnimationVariable_QueryInterface(IUIAnimationVariable* This,REFIID riid,void **ppvObject) {
1227    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1228}
1229static inline ULONG IUIAnimationVariable_AddRef(IUIAnimationVariable* This) {
1230    return This->lpVtbl->AddRef(This);
1231}
1232static inline ULONG IUIAnimationVariable_Release(IUIAnimationVariable* This) {
1233    return This->lpVtbl->Release(This);
1234}
1235/*** IUIAnimationVariable methods ***/
1236static inline HRESULT IUIAnimationVariable_GetValue(IUIAnimationVariable* This,double *value) {
1237    return This->lpVtbl->GetValue(This,value);
1238}
1239static inline HRESULT IUIAnimationVariable_GetFinalValue(IUIAnimationVariable* This,double *finalValue) {
1240    return This->lpVtbl->GetFinalValue(This,finalValue);
1241}
1242static inline HRESULT IUIAnimationVariable_GetPreviousValue(IUIAnimationVariable* This,double *previousValue) {
1243    return This->lpVtbl->GetPreviousValue(This,previousValue);
1244}
1245static inline HRESULT IUIAnimationVariable_GetIntegerValue(IUIAnimationVariable* This,int *value) {
1246    return This->lpVtbl->GetIntegerValue(This,value);
1247}
1248static inline HRESULT IUIAnimationVariable_GetFinalIntegerValue(IUIAnimationVariable* This,int *finalValue) {
1249    return This->lpVtbl->GetFinalIntegerValue(This,finalValue);
1250}
1251static inline HRESULT IUIAnimationVariable_GetPreviousIntegerValue(IUIAnimationVariable* This,int *previousValue) {
1252    return This->lpVtbl->GetPreviousIntegerValue(This,previousValue);
1253}
1254static inline HRESULT IUIAnimationVariable_GetCurrentStoryboard(IUIAnimationVariable* This,IUIAnimationStoryboard **storyboard) {
1255    return This->lpVtbl->GetCurrentStoryboard(This,storyboard);
1256}
1257static inline HRESULT IUIAnimationVariable_SetLowerBound(IUIAnimationVariable* This,double bound) {
1258    return This->lpVtbl->SetLowerBound(This,bound);
1259}
1260static inline HRESULT IUIAnimationVariable_SetUpperBound(IUIAnimationVariable* This,double bound) {
1261    return This->lpVtbl->SetUpperBound(This,bound);
1262}
1263static inline HRESULT IUIAnimationVariable_SetRoundingMode(IUIAnimationVariable* This,UI_ANIMATION_ROUNDING_MODE mode) {
1264    return This->lpVtbl->SetRoundingMode(This,mode);
1265}
1266static inline HRESULT IUIAnimationVariable_SetTag(IUIAnimationVariable* This,IUnknown *object,unsigned int id) {
1267    return This->lpVtbl->SetTag(This,object,id);
1268}
1269static inline HRESULT IUIAnimationVariable_GetTag(IUIAnimationVariable* This,IUnknown **object,unsigned int *id) {
1270    return This->lpVtbl->GetTag(This,object,id);
1271}
1272static inline HRESULT IUIAnimationVariable_SetVariableChangeHandler(IUIAnimationVariable* This,IUIAnimationVariableChangeHandler *handler) {
1273    return This->lpVtbl->SetVariableChangeHandler(This,handler);
1274}
1275static 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
1292DEFINE_GUID(IID_IUIAnimationStoryboard, 0xa8ff128f, 0x9bf9, 0x4af1, 0x9e,0x67, 0xe5,0xe4,0x10,0xde,0xfb,0x84);
1293#if defined(__cplusplus) && !defined(CINTERFACE)
1294MIDL_INTERFACE("a8ff128f-9bf9-4af1-9e67-e5e410defb84")
1295IUIAnimationStoryboard : 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
1367typedef 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
1466interface 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 ***/
1496static inline HRESULT IUIAnimationStoryboard_QueryInterface(IUIAnimationStoryboard* This,REFIID riid,void **ppvObject) {
1497    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1498}
1499static inline ULONG IUIAnimationStoryboard_AddRef(IUIAnimationStoryboard* This) {
1500    return This->lpVtbl->AddRef(This);
1501}
1502static inline ULONG IUIAnimationStoryboard_Release(IUIAnimationStoryboard* This) {
1503    return This->lpVtbl->Release(This);
1504}
1505/*** IUIAnimationStoryboard methods ***/
1506static inline HRESULT IUIAnimationStoryboard_AddTransition(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition) {
1507    return This->lpVtbl->AddTransition(This,variable,transition);
1508}
1509static 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}
1512static inline HRESULT IUIAnimationStoryboard_AddKeyframeAfterTransition(IUIAnimationStoryboard* This,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME *keyframe) {
1513    return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe);
1514}
1515static inline HRESULT IUIAnimationStoryboard_AddTransitionAtKeyframe(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME startKeyframe) {
1516    return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe);
1517}
1518static 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}
1521static 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}
1524static inline HRESULT IUIAnimationStoryboard_HoldVariable(IUIAnimationStoryboard* This,IUIAnimationVariable *variable) {
1525    return This->lpVtbl->HoldVariable(This,variable);
1526}
1527static inline HRESULT IUIAnimationStoryboard_SetLongestAcceptableDelay(IUIAnimationStoryboard* This,double delay) {
1528    return This->lpVtbl->SetLongestAcceptableDelay(This,delay);
1529}
1530static inline HRESULT IUIAnimationStoryboard_Schedule(IUIAnimationStoryboard* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) {
1531    return This->lpVtbl->Schedule(This,timeNow,schedulingResult);
1532}
1533static inline HRESULT IUIAnimationStoryboard_Conclude(IUIAnimationStoryboard* This) {
1534    return This->lpVtbl->Conclude(This);
1535}
1536static inline HRESULT IUIAnimationStoryboard_Finish(IUIAnimationStoryboard* This,double completionDeadline) {
1537    return This->lpVtbl->Finish(This,completionDeadline);
1538}
1539static inline HRESULT IUIAnimationStoryboard_Abandon(IUIAnimationStoryboard* This) {
1540    return This->lpVtbl->Abandon(This);
1541}
1542static inline HRESULT IUIAnimationStoryboard_SetTag(IUIAnimationStoryboard* This,IUnknown *object,unsigned int id) {
1543    return This->lpVtbl->SetTag(This,object,id);
1544}
1545static inline HRESULT IUIAnimationStoryboard_GetTag(IUIAnimationStoryboard* This,IUnknown **object,unsigned int *id) {
1546    return This->lpVtbl->GetTag(This,object,id);
1547}
1548static inline HRESULT IUIAnimationStoryboard_GetStatus(IUIAnimationStoryboard* This,UI_ANIMATION_STORYBOARD_STATUS *status) {
1549    return This->lpVtbl->GetStatus(This,status);
1550}
1551static inline HRESULT IUIAnimationStoryboard_GetElapsedTime(IUIAnimationStoryboard* This,double *elapsedTime) {
1552    return This->lpVtbl->GetElapsedTime(This,elapsedTime);
1553}
1554static 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
1571DEFINE_GUID(IID_IUIAnimationTransition, 0xdc6ce252, 0xf731, 0x41cf, 0xb6,0x10, 0x61,0x4b,0x6c,0xa0,0x49,0xad);
1572#if defined(__cplusplus) && !defined(CINTERFACE)
1573MIDL_INTERFACE("dc6ce252-f731-41cf-b610-614b6ca049ad")
1574IUIAnimationTransition : 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
1593typedef 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
1627interface 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 ***/
1644static inline HRESULT IUIAnimationTransition_QueryInterface(IUIAnimationTransition* This,REFIID riid,void **ppvObject) {
1645    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1646}
1647static inline ULONG IUIAnimationTransition_AddRef(IUIAnimationTransition* This) {
1648    return This->lpVtbl->AddRef(This);
1649}
1650static inline ULONG IUIAnimationTransition_Release(IUIAnimationTransition* This) {
1651    return This->lpVtbl->Release(This);
1652}
1653/*** IUIAnimationTransition methods ***/
1654static inline HRESULT IUIAnimationTransition_SetInitialValue(IUIAnimationTransition* This,double value) {
1655    return This->lpVtbl->SetInitialValue(This,value);
1656}
1657static inline HRESULT IUIAnimationTransition_SetInitialVelocity(IUIAnimationTransition* This,double velocity) {
1658    return This->lpVtbl->SetInitialVelocity(This,velocity);
1659}
1660static inline HRESULT IUIAnimationTransition_IsDurationKnown(IUIAnimationTransition* This) {
1661    return This->lpVtbl->IsDurationKnown(This);
1662}
1663static 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
1680DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler, 0x3d5c9008, 0xec7c, 0x4364, 0x9f,0x8a, 0x9a,0xf3,0xc5,0x8c,0xba,0xe6);
1681#if defined(__cplusplus) && !defined(CINTERFACE)
1682MIDL_INTERFACE("3d5c9008-ec7c-4364-9f8a-9af3c58cbae6")
1683IUIAnimationStoryboardEventHandler : 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
1698typedef 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
1727interface 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 ***/
1742static inline HRESULT IUIAnimationStoryboardEventHandler_QueryInterface(IUIAnimationStoryboardEventHandler* This,REFIID riid,void **ppvObject) {
1743    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1744}
1745static inline ULONG IUIAnimationStoryboardEventHandler_AddRef(IUIAnimationStoryboardEventHandler* This) {
1746    return This->lpVtbl->AddRef(This);
1747}
1748static inline ULONG IUIAnimationStoryboardEventHandler_Release(IUIAnimationStoryboardEventHandler* This) {
1749    return This->lpVtbl->Release(This);
1750}
1751/*** IUIAnimationStoryboardEventHandler methods ***/
1752static 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}
1755static 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
1772DEFINE_GUID(IID_IUIAnimationVariableChangeHandler, 0x6358b7ba, 0x87d2, 0x42d5, 0xbf,0x71, 0x82,0xe9,0x19,0xdd,0x58,0x62);
1773#if defined(__cplusplus) && !defined(CINTERFACE)
1774MIDL_INTERFACE("6358b7ba-87d2-42d5-bf71-82e919dd5862")
1775IUIAnimationVariableChangeHandler : 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
1788typedef 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
1814interface 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 ***/
1828static inline HRESULT IUIAnimationVariableChangeHandler_QueryInterface(IUIAnimationVariableChangeHandler* This,REFIID riid,void **ppvObject) {
1829    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1830}
1831static inline ULONG IUIAnimationVariableChangeHandler_AddRef(IUIAnimationVariableChangeHandler* This) {
1832    return This->lpVtbl->AddRef(This);
1833}
1834static inline ULONG IUIAnimationVariableChangeHandler_Release(IUIAnimationVariableChangeHandler* This) {
1835    return This->lpVtbl->Release(This);
1836}
1837/*** IUIAnimationVariableChangeHandler methods ***/
1838static 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
1855DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler, 0xbb3e1550, 0x356e, 0x44b0, 0x99,0xda, 0x85,0xac,0x60,0x17,0x86,0x5e);
1856#if defined(__cplusplus) && !defined(CINTERFACE)
1857MIDL_INTERFACE("bb3e1550-356e-44b0-99da-85ac6017865e")
1858IUIAnimationVariableIntegerChangeHandler : 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
1871typedef 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
1897interface 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 ***/
1911static inline HRESULT IUIAnimationVariableIntegerChangeHandler_QueryInterface(IUIAnimationVariableIntegerChangeHandler* This,REFIID riid,void **ppvObject) {
1912    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1913}
1914static inline ULONG IUIAnimationVariableIntegerChangeHandler_AddRef(IUIAnimationVariableIntegerChangeHandler* This) {
1915    return This->lpVtbl->AddRef(This);
1916}
1917static inline ULONG IUIAnimationVariableIntegerChangeHandler_Release(IUIAnimationVariableIntegerChangeHandler* This) {
1918    return This->lpVtbl->Release(This);
1919}
1920/*** IUIAnimationVariableIntegerChangeHandler methods ***/
1921static 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
1938DEFINE_GUID(IID_IUIAnimationManagerEventHandler, 0x783321ed, 0x78a3, 0x4366, 0xb5,0x74, 0x6a,0xf6,0x07,0xa6,0x47,0x88);
1939#if defined(__cplusplus) && !defined(CINTERFACE)
1940MIDL_INTERFACE("783321ed-78a3-4366-b574-6af607a64788")
1941IUIAnimationManagerEventHandler : 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
1952typedef 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
1976interface 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 ***/
1990static inline HRESULT IUIAnimationManagerEventHandler_QueryInterface(IUIAnimationManagerEventHandler* This,REFIID riid,void **ppvObject) {
1991    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1992}
1993static inline ULONG IUIAnimationManagerEventHandler_AddRef(IUIAnimationManagerEventHandler* This) {
1994    return This->lpVtbl->AddRef(This);
1995}
1996static inline ULONG IUIAnimationManagerEventHandler_Release(IUIAnimationManagerEventHandler* This) {
1997    return This->lpVtbl->Release(This);
1998}
1999/*** IUIAnimationManagerEventHandler methods ***/
2000static 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
2017DEFINE_GUID(IID_IUIAnimationPriorityComparison, 0x83fa9b74, 0x5f86, 0x4618, 0xbc,0x6a, 0xa2,0xfa,0xc1,0x9b,0x3f,0x44);
2018#if defined(__cplusplus) && !defined(CINTERFACE)
2019MIDL_INTERFACE("83fa9b74-5f86-4618-bc6a-a2fac19b3f44")
2020IUIAnimationPriorityComparison : 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
2032typedef 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
2057interface 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 ***/
2071static inline HRESULT IUIAnimationPriorityComparison_QueryInterface(IUIAnimationPriorityComparison* This,REFIID riid,void **ppvObject) {
2072    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2073}
2074static inline ULONG IUIAnimationPriorityComparison_AddRef(IUIAnimationPriorityComparison* This) {
2075    return This->lpVtbl->AddRef(This);
2076}
2077static inline ULONG IUIAnimationPriorityComparison_Release(IUIAnimationPriorityComparison* This) {
2078    return This->lpVtbl->Release(This);
2079}
2080/*** IUIAnimationPriorityComparison methods ***/
2081static 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
2098DEFINE_GUID(IID_IUIAnimationManager2, 0xd8b6f7d4, 0x4109, 0x4d3f, 0xac,0xee, 0x87,0x99,0x26,0x96,0x8c,0xb1);
2099#if defined(__cplusplus) && !defined(CINTERFACE)
2100MIDL_INTERFACE("d8b6f7d4-4109-4d3f-acee-879926968cb1")
2101IUIAnimationManager2 : 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
2182typedef 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
2292interface 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 ***/
2326static inline HRESULT IUIAnimationManager2_QueryInterface(IUIAnimationManager2* This,REFIID riid,void **ppvObject) {
2327    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2328}
2329static inline ULONG IUIAnimationManager2_AddRef(IUIAnimationManager2* This) {
2330    return This->lpVtbl->AddRef(This);
2331}
2332static inline ULONG IUIAnimationManager2_Release(IUIAnimationManager2* This) {
2333    return This->lpVtbl->Release(This);
2334}
2335/*** IUIAnimationManager2 methods ***/
2336static inline HRESULT IUIAnimationManager2_CreateAnimationVectorVariable(IUIAnimationManager2* This,double *initialValue,unsigned int cDimension,IUIAnimationVariable2 **variable) {
2337    return This->lpVtbl->CreateAnimationVectorVariable(This,initialValue,cDimension,variable);
2338}
2339static inline HRESULT IUIAnimationManager2_CreateAnimationVariable(IUIAnimationManager2* This,double initialValue,IUIAnimationVariable2 **variable) {
2340    return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable);
2341}
2342static inline HRESULT IUIAnimationManager2_ScheduleTransition(IUIAnimationManager2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,double timeNow) {
2343    return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow);
2344}
2345static inline HRESULT IUIAnimationManager2_CreateStoryboard(IUIAnimationManager2* This,IUIAnimationStoryboard2 **storyboard) {
2346    return This->lpVtbl->CreateStoryboard(This,storyboard);
2347}
2348static inline HRESULT IUIAnimationManager2_FinishAllStoryboards(IUIAnimationManager2* This,double completionDeadline) {
2349    return This->lpVtbl->FinishAllStoryboards(This,completionDeadline);
2350}
2351static inline HRESULT IUIAnimationManager2_AbandonAllStoryboards(IUIAnimationManager2* This) {
2352    return This->lpVtbl->AbandonAllStoryboards(This);
2353}
2354static inline HRESULT IUIAnimationManager2_Update(IUIAnimationManager2* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) {
2355    return This->lpVtbl->Update(This,timeNow,updateResult);
2356}
2357static inline HRESULT IUIAnimationManager2_GetVariableFromTag(IUIAnimationManager2* This,IUnknown *object,UINT32 id,IUIAnimationVariable2 **variable) {
2358    return This->lpVtbl->GetVariableFromTag(This,object,id,variable);
2359}
2360static inline HRESULT IUIAnimationManager2_GetStoryboardFromTag(IUIAnimationManager2* This,IUnknown *object,unsigned int id,IUIAnimationStoryboard2 **storyboard) {
2361    return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard);
2362}
2363static inline HRESULT IUIAnimationManager2_EstimateNextEventTime(IUIAnimationManager2* This,double *seconds) {
2364    return This->lpVtbl->EstimateNextEventTime(This,seconds);
2365}
2366static inline HRESULT IUIAnimationManager2_GetStatus(IUIAnimationManager2* This,UI_ANIMATION_MANAGER_STATUS *status) {
2367    return This->lpVtbl->GetStatus(This,status);
2368}
2369static inline HRESULT IUIAnimationManager2_SetAnimationMode(IUIAnimationManager2* This,UI_ANIMATION_MODE mode) {
2370    return This->lpVtbl->SetAnimationMode(This,mode);
2371}
2372static inline HRESULT IUIAnimationManager2_Pause(IUIAnimationManager2* This) {
2373    return This->lpVtbl->Pause(This);
2374}
2375static inline HRESULT IUIAnimationManager2_Resume(IUIAnimationManager2* This) {
2376    return This->lpVtbl->Resume(This);
2377}
2378static inline HRESULT IUIAnimationManager2_SetManagerEventHandler(IUIAnimationManager2* This,IUIAnimationManagerEventHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2379    return This->lpVtbl->SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent);
2380}
2381static inline HRESULT IUIAnimationManager2_SetCancelPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2382    return This->lpVtbl->SetCancelPriorityComparison(This,comparison);
2383}
2384static inline HRESULT IUIAnimationManager2_SetTrimPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2385    return This->lpVtbl->SetTrimPriorityComparison(This,comparison);
2386}
2387static inline HRESULT IUIAnimationManager2_SetCompressPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2388    return This->lpVtbl->SetCompressPriorityComparison(This,comparison);
2389}
2390static inline HRESULT IUIAnimationManager2_SetConcludePriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) {
2391    return This->lpVtbl->SetConcludePriorityComparison(This,comparison);
2392}
2393static inline HRESULT IUIAnimationManager2_SetDefaultLongestAcceptableDelay(IUIAnimationManager2* This,double delay) {
2394    return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay);
2395}
2396static 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
2413DEFINE_GUID(IID_IUIAnimationVariable2, 0x4914b304, 0x96ab, 0x44d9, 0x9e,0x77, 0xd5,0x10,0x9b,0x7e,0x74,0x66);
2414#if defined(__cplusplus) && !defined(CINTERFACE)
2415MIDL_INTERFACE("4914b304-96ab-44d9-9e77-d5109b7e7466")
2416IUIAnimationVariable2 : 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
2514typedef 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
2650interface 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 ***/
2689static inline HRESULT IUIAnimationVariable2_QueryInterface(IUIAnimationVariable2* This,REFIID riid,void **ppvObject) {
2690    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2691}
2692static inline ULONG IUIAnimationVariable2_AddRef(IUIAnimationVariable2* This) {
2693    return This->lpVtbl->AddRef(This);
2694}
2695static inline ULONG IUIAnimationVariable2_Release(IUIAnimationVariable2* This) {
2696    return This->lpVtbl->Release(This);
2697}
2698/*** IUIAnimationVariable2 methods ***/
2699static inline HRESULT IUIAnimationVariable2_GetDimension(IUIAnimationVariable2* This,unsigned int *dimension) {
2700    return This->lpVtbl->GetDimension(This,dimension);
2701}
2702static inline HRESULT IUIAnimationVariable2_GetValue(IUIAnimationVariable2* This,double *value) {
2703    return This->lpVtbl->GetValue(This,value);
2704}
2705static inline HRESULT IUIAnimationVariable2_GetVectorValue(IUIAnimationVariable2* This,double *value,unsigned int cDimension) {
2706    return This->lpVtbl->GetVectorValue(This,value,cDimension);
2707}
2708static inline HRESULT IUIAnimationVariable2_GetCurve(IUIAnimationVariable2* This,IDCompositionAnimation *animation) {
2709    return This->lpVtbl->GetCurve(This,animation);
2710}
2711static inline HRESULT IUIAnimationVariable2_GetVectorCurve(IUIAnimationVariable2* This,IDCompositionAnimation **animation,unsigned int cDimension) {
2712    return This->lpVtbl->GetVectorCurve(This,animation,cDimension);
2713}
2714static inline HRESULT IUIAnimationVariable2_GetFinalValue(IUIAnimationVariable2* This,double *finalValue) {
2715    return This->lpVtbl->GetFinalValue(This,finalValue);
2716}
2717static inline HRESULT IUIAnimationVariable2_GetFinalVectorValue(IUIAnimationVariable2* This,double *finalValue,unsigned int cDimension) {
2718    return This->lpVtbl->GetFinalVectorValue(This,finalValue,cDimension);
2719}
2720static inline HRESULT IUIAnimationVariable2_GetPreviousValue(IUIAnimationVariable2* This,double *previousValue) {
2721    return This->lpVtbl->GetPreviousValue(This,previousValue);
2722}
2723static inline HRESULT IUIAnimationVariable2_GetPreviousVectorValue(IUIAnimationVariable2* This,double *previousValue,unsigned int cDimension) {
2724    return This->lpVtbl->GetPreviousVectorValue(This,previousValue,cDimension);
2725}
2726static inline HRESULT IUIAnimationVariable2_GetIntegerValue(IUIAnimationVariable2* This,int *value) {
2727    return This->lpVtbl->GetIntegerValue(This,value);
2728}
2729static inline HRESULT IUIAnimationVariable2_GetIntegerVectorValue(IUIAnimationVariable2* This,int *value,unsigned int cDimension) {
2730    return This->lpVtbl->GetIntegerVectorValue(This,value,cDimension);
2731}
2732static inline HRESULT IUIAnimationVariable2_GetFinalIntegerValue(IUIAnimationVariable2* This,int *finalValue) {
2733    return This->lpVtbl->GetFinalIntegerValue(This,finalValue);
2734}
2735static inline HRESULT IUIAnimationVariable2_GetFinalIntegerVectorValue(IUIAnimationVariable2* This,int *finalValue,unsigned int cDimension) {
2736    return This->lpVtbl->GetFinalIntegerVectorValue(This,finalValue,cDimension);
2737}
2738static inline HRESULT IUIAnimationVariable2_GetPreviousIntegerValue(IUIAnimationVariable2* This,int *previousValue) {
2739    return This->lpVtbl->GetPreviousIntegerValue(This,previousValue);
2740}
2741static inline HRESULT IUIAnimationVariable2_GetPreviousIntegerVectorValue(IUIAnimationVariable2* This,int *previousValue,unsigned int cDimension) {
2742    return This->lpVtbl->GetPreviousIntegerVectorValue(This,previousValue,cDimension);
2743}
2744static inline HRESULT IUIAnimationVariable2_GetCurrentStoryboard(IUIAnimationVariable2* This,IUIAnimationStoryboard2 **storyboard) {
2745    return This->lpVtbl->GetCurrentStoryboard(This,storyboard);
2746}
2747static inline HRESULT IUIAnimationVariable2_SetLowerBound(IUIAnimationVariable2* This,double bound) {
2748    return This->lpVtbl->SetLowerBound(This,bound);
2749}
2750static inline HRESULT IUIAnimationVariable2_SetLowerBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) {
2751    return This->lpVtbl->SetLowerBoundVector(This,bound,cDimension);
2752}
2753static inline HRESULT IUIAnimationVariable2_SetUpperBound(IUIAnimationVariable2* This,double bound) {
2754    return This->lpVtbl->SetUpperBound(This,bound);
2755}
2756static inline HRESULT IUIAnimationVariable2_SetUpperBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) {
2757    return This->lpVtbl->SetUpperBoundVector(This,bound,cDimension);
2758}
2759static inline HRESULT IUIAnimationVariable2_SetRoundingMode(IUIAnimationVariable2* This,UI_ANIMATION_ROUNDING_MODE mode) {
2760    return This->lpVtbl->SetRoundingMode(This,mode);
2761}
2762static inline HRESULT IUIAnimationVariable2_SetTag(IUIAnimationVariable2* This,IUnknown *object,unsigned int id) {
2763    return This->lpVtbl->SetTag(This,object,id);
2764}
2765static inline HRESULT IUIAnimationVariable2_GetTag(IUIAnimationVariable2* This,IUnknown **object,unsigned int *id) {
2766    return This->lpVtbl->GetTag(This,object,id);
2767}
2768static inline HRESULT IUIAnimationVariable2_SetVariableChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2769    return This->lpVtbl->SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent);
2770}
2771static inline HRESULT IUIAnimationVariable2_SetVariableIntegerChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableIntegerChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) {
2772    return This->lpVtbl->SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent);
2773}
2774static 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
2791DEFINE_GUID(IID_IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5);
2792#if defined(__cplusplus) && !defined(CINTERFACE)
2793MIDL_INTERFACE("cbfd91d9-51b2-45e4-b3de-d19ccfb863c5")
2794IDCompositionAnimation : 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
2829typedef 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
2881interface 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 ***/
2900static inline HRESULT IDCompositionAnimation_QueryInterface(IDCompositionAnimation* This,REFIID riid,void **ppvObject) {
2901    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2902}
2903static inline ULONG IDCompositionAnimation_AddRef(IDCompositionAnimation* This) {
2904    return This->lpVtbl->AddRef(This);
2905}
2906static inline ULONG IDCompositionAnimation_Release(IDCompositionAnimation* This) {
2907    return This->lpVtbl->Release(This);
2908}
2909/*** IDCompositionAnimation methods ***/
2910static inline HRESULT IDCompositionAnimation_Reset(IDCompositionAnimation* This) {
2911    return This->lpVtbl->Reset(This);
2912}
2913static inline HRESULT IDCompositionAnimation_SetAbsoluteBeginTime(IDCompositionAnimation* This,LARGE_INTEGER beginTime) {
2914    return This->lpVtbl->SetAbsoluteBeginTime(This,beginTime);
2915}
2916static 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}
2919static 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}
2922static inline HRESULT IDCompositionAnimation_AddRepeat(IDCompositionAnimation* This,double beginOffset,double durationToRepeat) {
2923    return This->lpVtbl->AddRepeat(This,beginOffset,durationToRepeat);
2924}
2925static 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
2942DEFINE_GUID(IID_IUIAnimationStoryboard2, 0xae289cd2, 0x12d4, 0x4945, 0x94,0x19, 0x9e,0x41,0xbe,0x03,0x4d,0xf2);
2943#if defined(__cplusplus) && !defined(CINTERFACE)
2944MIDL_INTERFACE("ae289cd2-12d4-4945-9419-9e41be034df2")
2945IUIAnimationStoryboard2 : 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
3026typedef 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
3135interface 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 ***/
3166static inline HRESULT IUIAnimationStoryboard2_QueryInterface(IUIAnimationStoryboard2* This,REFIID riid,void **ppvObject) {
3167    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3168}
3169static inline ULONG IUIAnimationStoryboard2_AddRef(IUIAnimationStoryboard2* This) {
3170    return This->lpVtbl->AddRef(This);
3171}
3172static inline ULONG IUIAnimationStoryboard2_Release(IUIAnimationStoryboard2* This) {
3173    return This->lpVtbl->Release(This);
3174}
3175/*** IUIAnimationStoryboard2 methods ***/
3176static inline HRESULT IUIAnimationStoryboard2_AddTransition(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition) {
3177    return This->lpVtbl->AddTransition(This,variable,transition);
3178}
3179static 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}
3182static inline HRESULT IUIAnimationStoryboard2_AddKeyframeAfterTransition(IUIAnimationStoryboard2* This,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME *keyframe) {
3183    return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe);
3184}
3185static inline HRESULT IUIAnimationStoryboard2_AddTransitionAtKeyframe(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME startKeyframe) {
3186    return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe);
3187}
3188static 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}
3191static 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}
3194static inline HRESULT IUIAnimationStoryboard2_HoldVariable(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable) {
3195    return This->lpVtbl->HoldVariable(This,variable);
3196}
3197static inline HRESULT IUIAnimationStoryboard2_SetLongestAcceptableDelay(IUIAnimationStoryboard2* This,double delay) {
3198    return This->lpVtbl->SetLongestAcceptableDelay(This,delay);
3199}
3200static inline HRESULT IUIAnimationStoryboard2_SetSkipDuration(IUIAnimationStoryboard2* This,double secondsDuration) {
3201    return This->lpVtbl->SetSkipDuration(This,secondsDuration);
3202}
3203static inline HRESULT IUIAnimationStoryboard2_Schedule(IUIAnimationStoryboard2* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) {
3204    return This->lpVtbl->Schedule(This,timeNow,schedulingResult);
3205}
3206static inline HRESULT IUIAnimationStoryboard2_Conclude(IUIAnimationStoryboard2* This) {
3207    return This->lpVtbl->Conclude(This);
3208}
3209static inline HRESULT IUIAnimationStoryboard2_Finish(IUIAnimationStoryboard2* This,double completionDeadline) {
3210    return This->lpVtbl->Finish(This,completionDeadline);
3211}
3212static inline HRESULT IUIAnimationStoryboard2_Abandon(IUIAnimationStoryboard2* This) {
3213    return This->lpVtbl->Abandon(This);
3214}
3215static inline HRESULT IUIAnimationStoryboard2_SetTag(IUIAnimationStoryboard2* This,IUnknown *object,unsigned int id) {
3216    return This->lpVtbl->SetTag(This,object,id);
3217}
3218static inline HRESULT IUIAnimationStoryboard2_GetTag(IUIAnimationStoryboard2* This,IUnknown **object,unsigned int *id) {
3219    return This->lpVtbl->GetTag(This,object,id);
3220}
3221static inline HRESULT IUIAnimationStoryboard2_GetStatus(IUIAnimationStoryboard2* This,UI_ANIMATION_STORYBOARD_STATUS *status) {
3222    return This->lpVtbl->GetStatus(This,status);
3223}
3224static inline HRESULT IUIAnimationStoryboard2_GetElapsedTime(IUIAnimationStoryboard2* This,double *elapsedTime) {
3225    return This->lpVtbl->GetElapsedTime(This,elapsedTime);
3226}
3227static 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
3244DEFINE_GUID(IID_IUIAnimationTransition2, 0x62ff9123, 0xa85a, 0x4e9b, 0xa2,0x18, 0x43,0x5a,0x93,0xe2,0x68,0xfd);
3245#if defined(__cplusplus) && !defined(CINTERFACE)
3246MIDL_INTERFACE("62ff9123-a85a-4e9b-a218-435a93e268fd")
3247IUIAnimationTransition2 : 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
3277typedef 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
3325interface 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 ***/
3345static inline HRESULT IUIAnimationTransition2_QueryInterface(IUIAnimationTransition2* This,REFIID riid,void **ppvObject) {
3346    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3347}
3348static inline ULONG IUIAnimationTransition2_AddRef(IUIAnimationTransition2* This) {
3349    return This->lpVtbl->AddRef(This);
3350}
3351static inline ULONG IUIAnimationTransition2_Release(IUIAnimationTransition2* This) {
3352    return This->lpVtbl->Release(This);
3353}
3354/*** IUIAnimationTransition2 methods ***/
3355static inline HRESULT IUIAnimationTransition2_GetDimension(IUIAnimationTransition2* This,unsigned int *dimension) {
3356    return This->lpVtbl->GetDimension(This,dimension);
3357}
3358static inline HRESULT IUIAnimationTransition2_SetInitialValue(IUIAnimationTransition2* This,double value) {
3359    return This->lpVtbl->SetInitialValue(This,value);
3360}
3361static inline HRESULT IUIAnimationTransition2_SetInitialVectorValue(IUIAnimationTransition2* This,double *value,unsigned int cDimension) {
3362    return This->lpVtbl->SetInitialVectorValue(This,value,cDimension);
3363}
3364static inline HRESULT IUIAnimationTransition2_SetInitialVelocity(IUIAnimationTransition2* This,double velocity) {
3365    return This->lpVtbl->SetInitialVelocity(This,velocity);
3366}
3367static inline HRESULT IUIAnimationTransition2_SetInitialVectorVelocity(IUIAnimationTransition2* This,double *velocity,unsigned int cDimension) {
3368    return This->lpVtbl->SetInitialVectorVelocity(This,velocity,cDimension);
3369}
3370static inline HRESULT IUIAnimationTransition2_IsDurationKnown(IUIAnimationTransition2* This) {
3371    return This->lpVtbl->IsDurationKnown(This);
3372}
3373static 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
3390DEFINE_GUID(IID_IUIAnimationLoopIterationChangeHandler2, 0x2d3b15a4, 0x4762, 0x47ab, 0xa0,0x30, 0xb2,0x32,0x21,0xdf,0x3a,0xe0);
3391#if defined(__cplusplus) && !defined(CINTERFACE)
3392MIDL_INTERFACE("2d3b15a4-4762-47ab-a030-b23221df3ae0")
3393IUIAnimationLoopIterationChangeHandler2 : 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
3406typedef 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
3432interface 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 ***/
3446static inline HRESULT IUIAnimationLoopIterationChangeHandler2_QueryInterface(IUIAnimationLoopIterationChangeHandler2* This,REFIID riid,void **ppvObject) {
3447    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3448}
3449static inline ULONG IUIAnimationLoopIterationChangeHandler2_AddRef(IUIAnimationLoopIterationChangeHandler2* This) {
3450    return This->lpVtbl->AddRef(This);
3451}
3452static inline ULONG IUIAnimationLoopIterationChangeHandler2_Release(IUIAnimationLoopIterationChangeHandler2* This) {
3453    return This->lpVtbl->Release(This);
3454}
3455/*** IUIAnimationLoopIterationChangeHandler2 methods ***/
3456static 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
3473DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler2, 0xbac5f55a, 0xba7c, 0x414c, 0xb5,0x99, 0xfb,0xf8,0x50,0xf5,0x53,0xc6);
3474#if defined(__cplusplus) && !defined(CINTERFACE)
3475MIDL_INTERFACE("bac5f55a-ba7c-414c-b599-fbf850f553c6")
3476IUIAnimationStoryboardEventHandler2 : 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
3491typedef 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
3520interface 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 ***/
3535static inline HRESULT IUIAnimationStoryboardEventHandler2_QueryInterface(IUIAnimationStoryboardEventHandler2* This,REFIID riid,void **ppvObject) {
3536    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3537}
3538static inline ULONG IUIAnimationStoryboardEventHandler2_AddRef(IUIAnimationStoryboardEventHandler2* This) {
3539    return This->lpVtbl->AddRef(This);
3540}
3541static inline ULONG IUIAnimationStoryboardEventHandler2_Release(IUIAnimationStoryboardEventHandler2* This) {
3542    return This->lpVtbl->Release(This);
3543}
3544/*** IUIAnimationStoryboardEventHandler2 methods ***/
3545static 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}
3548static 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
3565DEFINE_GUID(IID_IUIAnimationVariableChangeHandler2, 0x63acc8d2, 0x6eae, 0x4bb0, 0xb8,0x79, 0x58,0x6d,0xd8,0xcf,0xbe,0x42);
3566#if defined(__cplusplus) && !defined(CINTERFACE)
3567MIDL_INTERFACE("63acc8d2-6eae-4bb0-b879-586dd8cfbe42")
3568IUIAnimationVariableChangeHandler2 : 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
3582typedef 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
3609interface 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 ***/
3623static inline HRESULT IUIAnimationVariableChangeHandler2_QueryInterface(IUIAnimationVariableChangeHandler2* This,REFIID riid,void **ppvObject) {
3624    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3625}
3626static inline ULONG IUIAnimationVariableChangeHandler2_AddRef(IUIAnimationVariableChangeHandler2* This) {
3627    return This->lpVtbl->AddRef(This);
3628}
3629static inline ULONG IUIAnimationVariableChangeHandler2_Release(IUIAnimationVariableChangeHandler2* This) {
3630    return This->lpVtbl->Release(This);
3631}
3632/*** IUIAnimationVariableChangeHandler2 methods ***/
3633static 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
3650DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler2, 0x829b6cf1, 0x4f3a, 0x4412, 0xae,0x09, 0xb2,0x43,0xeb,0x4c,0x6b,0x58);
3651#if defined(__cplusplus) && !defined(CINTERFACE)
3652MIDL_INTERFACE("829b6cf1-4f3a-4412-ae09-b243eb4c6b58")
3653IUIAnimationVariableIntegerChangeHandler2 : 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
3667typedef 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
3694interface 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 ***/
3708static inline HRESULT IUIAnimationVariableIntegerChangeHandler2_QueryInterface(IUIAnimationVariableIntegerChangeHandler2* This,REFIID riid,void **ppvObject) {
3709    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3710}
3711static inline ULONG IUIAnimationVariableIntegerChangeHandler2_AddRef(IUIAnimationVariableIntegerChangeHandler2* This) {
3712    return This->lpVtbl->AddRef(This);
3713}
3714static inline ULONG IUIAnimationVariableIntegerChangeHandler2_Release(IUIAnimationVariableIntegerChangeHandler2* This) {
3715    return This->lpVtbl->Release(This);
3716}
3717/*** IUIAnimationVariableIntegerChangeHandler2 methods ***/
3718static 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
3735DEFINE_GUID(IID_IUIAnimationVariableCurveChangeHandler2, 0x72895e91, 0x0145, 0x4c21, 0x91,0x92, 0x5a,0xab,0x40,0xed,0xdf,0x80);
3736#if defined(__cplusplus) && !defined(CINTERFACE)
3737MIDL_INTERFACE("72895e91-0145-4c21-9192-5aab40eddf80")
3738IUIAnimationVariableCurveChangeHandler2 : 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
3748typedef 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
3771interface 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 ***/
3785static inline HRESULT IUIAnimationVariableCurveChangeHandler2_QueryInterface(IUIAnimationVariableCurveChangeHandler2* This,REFIID riid,void **ppvObject) {
3786    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3787}
3788static inline ULONG IUIAnimationVariableCurveChangeHandler2_AddRef(IUIAnimationVariableCurveChangeHandler2* This) {
3789    return This->lpVtbl->AddRef(This);
3790}
3791static inline ULONG IUIAnimationVariableCurveChangeHandler2_Release(IUIAnimationVariableCurveChangeHandler2* This) {
3792    return This->lpVtbl->Release(This);
3793}
3794/*** IUIAnimationVariableCurveChangeHandler2 methods ***/
3795static 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
3812DEFINE_GUID(IID_IUIAnimationManagerEventHandler2, 0xf6e022ba, 0xbff3, 0x42ec, 0x90,0x33, 0xe0,0x73,0xf3,0x3e,0x83,0xc3);
3813#if defined(__cplusplus) && !defined(CINTERFACE)
3814MIDL_INTERFACE("f6e022ba-bff3-42ec-9033-e073f33e83c3")
3815IUIAnimationManagerEventHandler2 : 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
3826typedef 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
3850interface 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 ***/
3864static inline HRESULT IUIAnimationManagerEventHandler2_QueryInterface(IUIAnimationManagerEventHandler2* This,REFIID riid,void **ppvObject) {
3865    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3866}
3867static inline ULONG IUIAnimationManagerEventHandler2_AddRef(IUIAnimationManagerEventHandler2* This) {
3868    return This->lpVtbl->AddRef(This);
3869}
3870static inline ULONG IUIAnimationManagerEventHandler2_Release(IUIAnimationManagerEventHandler2* This) {
3871    return This->lpVtbl->Release(This);
3872}
3873/*** IUIAnimationManagerEventHandler2 methods ***/
3874static 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
3891DEFINE_GUID(IID_IUIAnimationPriorityComparison2, 0x5b6d7a37, 0x4621, 0x467c, 0x8b,0x05, 0x70,0x13,0x1d,0xe6,0x2d,0xdb);
3892#if defined(__cplusplus) && !defined(CINTERFACE)
3893MIDL_INTERFACE("5b6d7a37-4621-467c-8b05-70131de62ddb")
3894IUIAnimationPriorityComparison2 : 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
3906typedef 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
3931interface 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 ***/
3945static inline HRESULT IUIAnimationPriorityComparison2_QueryInterface(IUIAnimationPriorityComparison2* This,REFIID riid,void **ppvObject) {
3946    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3947}
3948static inline ULONG IUIAnimationPriorityComparison2_AddRef(IUIAnimationPriorityComparison2* This) {
3949    return This->lpVtbl->AddRef(This);
3950}
3951static inline ULONG IUIAnimationPriorityComparison2_Release(IUIAnimationPriorityComparison2* This) {
3952    return This->lpVtbl->Release(This);
3953}
3954/*** IUIAnimationPriorityComparison2 methods ***/
3955static 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
3972DEFINE_GUID(IID_IUIAnimationTransitionLibrary, 0xca5a14b1, 0xd24f, 0x48b8, 0x8f,0xe4, 0xc7,0x81,0x69,0xba,0x95,0x4e);
3973#if defined(__cplusplus) && !defined(CINTERFACE)
3974MIDL_INTERFACE("ca5a14b1-d24f-48b8-8fe4-c78169ba954e")
3975IUIAnimationTransitionLibrary : 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
4047typedef 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
4143interface 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 ***/
4168static inline HRESULT IUIAnimationTransitionLibrary_QueryInterface(IUIAnimationTransitionLibrary* This,REFIID riid,void **ppvObject) {
4169    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4170}
4171static inline ULONG IUIAnimationTransitionLibrary_AddRef(IUIAnimationTransitionLibrary* This) {
4172    return This->lpVtbl->AddRef(This);
4173}
4174static inline ULONG IUIAnimationTransitionLibrary_Release(IUIAnimationTransitionLibrary* This) {
4175    return This->lpVtbl->Release(This);
4176}
4177/*** IUIAnimationTransitionLibrary methods ***/
4178static inline HRESULT IUIAnimationTransitionLibrary_CreateInstantaneousTransition(IUIAnimationTransitionLibrary* This,double finalValue,IUIAnimationTransition **transition) {
4179    return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition);
4180}
4181static inline HRESULT IUIAnimationTransitionLibrary_CreateConstantTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) {
4182    return This->lpVtbl->CreateConstantTransition(This,duration,transition);
4183}
4184static 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}
4187static inline HRESULT IUIAnimationTransitionLibrary_CreateLinearTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,IUIAnimationTransition **transition) {
4188    return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition);
4189}
4190static inline HRESULT IUIAnimationTransitionLibrary_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary* This,double speed,double finalValue,IUIAnimationTransition **transition) {
4191    return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition);
4192}
4193static inline HRESULT IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary* This,double duration,double period,IUIAnimationTransition **transition) {
4194    return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition);
4195}
4196static 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}
4199static 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}
4202static inline HRESULT IUIAnimationTransitionLibrary_CreateReversalTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) {
4203    return This->lpVtbl->CreateReversalTransition(This,duration,transition);
4204}
4205static 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}
4208static inline HRESULT IUIAnimationTransitionLibrary_CreateSmoothStopTransition(IUIAnimationTransitionLibrary* This,double maximumDuration,double finalValue,IUIAnimationTransition **transition) {
4209    return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition);
4210}
4211static 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
4228DEFINE_GUID(IID_IUIAnimationTransitionLibrary2, 0x03cfae53, 0x9580, 0x4ee3, 0xb3,0x63, 0x2e,0xce,0x51,0xb4,0xaf,0x6a);
4229#if defined(__cplusplus) && !defined(CINTERFACE)
4230MIDL_INTERFACE("03cfae53-9580-4ee3-b363-2ece51b4af6a")
4231IUIAnimationTransitionLibrary2 : 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
4353typedef 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
4506interface 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 ***/
4538static inline HRESULT IUIAnimationTransitionLibrary2_QueryInterface(IUIAnimationTransitionLibrary2* This,REFIID riid,void **ppvObject) {
4539    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4540}
4541static inline ULONG IUIAnimationTransitionLibrary2_AddRef(IUIAnimationTransitionLibrary2* This) {
4542    return This->lpVtbl->AddRef(This);
4543}
4544static inline ULONG IUIAnimationTransitionLibrary2_Release(IUIAnimationTransitionLibrary2* This) {
4545    return This->lpVtbl->Release(This);
4546}
4547/*** IUIAnimationTransitionLibrary2 methods ***/
4548static inline HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousTransition(IUIAnimationTransitionLibrary2* This,double finalValue,IUIAnimationTransition2 **transition) {
4549    return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition);
4550}
4551static inline HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousVectorTransition(IUIAnimationTransitionLibrary2* This,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) {
4552    return This->lpVtbl->CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition);
4553}
4554static inline HRESULT IUIAnimationTransitionLibrary2_CreateConstantTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) {
4555    return This->lpVtbl->CreateConstantTransition(This,duration,transition);
4556}
4557static 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}
4560static 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}
4563static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,IUIAnimationTransition2 **transition) {
4564    return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition);
4565}
4566static 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}
4569static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary2* This,double speed,double finalValue,IUIAnimationTransition2 **transition) {
4570    return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition);
4571}
4572static 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}
4575static inline HRESULT IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary2* This,double duration,double period,IUIAnimationTransition2 **transition) {
4576    return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition);
4577}
4578static 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}
4581static 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}
4584static inline HRESULT IUIAnimationTransitionLibrary2_CreateReversalTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) {
4585    return This->lpVtbl->CreateReversalTransition(This,duration,transition);
4586}
4587static 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}
4590static 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}
4593static inline HRESULT IUIAnimationTransitionLibrary2_CreateSmoothStopTransition(IUIAnimationTransitionLibrary2* This,double maximumDuration,double finalValue,IUIAnimationTransition2 **transition) {
4594    return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition);
4595}
4596static 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}
4599static 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}
4602static 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
4619DEFINE_GUID(IID_IUIAnimationTransitionFactory, 0xfcd91e03, 0x3e3b, 0x45ad, 0xbb,0xb1, 0x6d,0xfc,0x81,0x53,0x74,0x3d);
4620#if defined(__cplusplus) && !defined(CINTERFACE)
4621MIDL_INTERFACE("fcd91e03-3e3b-45ad-bbb1-6dfc8153743d")
4622IUIAnimationTransitionFactory : 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
4633typedef 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
4657interface 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 ***/
4671static inline HRESULT IUIAnimationTransitionFactory_QueryInterface(IUIAnimationTransitionFactory* This,REFIID riid,void **ppvObject) {
4672    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4673}
4674static inline ULONG IUIAnimationTransitionFactory_AddRef(IUIAnimationTransitionFactory* This) {
4675    return This->lpVtbl->AddRef(This);
4676}
4677static inline ULONG IUIAnimationTransitionFactory_Release(IUIAnimationTransitionFactory* This) {
4678    return This->lpVtbl->Release(This);
4679}
4680/*** IUIAnimationTransitionFactory methods ***/
4681static 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
4698DEFINE_GUID(IID_IUIAnimationInterpolator, 0x7815cbba, 0xddf7, 0x478c, 0xa4,0x6c, 0x7b,0x6c,0x73,0x8b,0x79,0x78);
4699#if defined(__cplusplus) && !defined(CINTERFACE)
4700MIDL_INTERFACE("7815cbba-ddf7-478c-a46c-7b6c738b7978")
4701IUIAnimationInterpolator : 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
4734typedef 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
4786interface 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 ***/
4806static inline HRESULT IUIAnimationInterpolator_QueryInterface(IUIAnimationInterpolator* This,REFIID riid,void **ppvObject) {
4807    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4808}
4809static inline ULONG IUIAnimationInterpolator_AddRef(IUIAnimationInterpolator* This) {
4810    return This->lpVtbl->AddRef(This);
4811}
4812static inline ULONG IUIAnimationInterpolator_Release(IUIAnimationInterpolator* This) {
4813    return This->lpVtbl->Release(This);
4814}
4815/*** IUIAnimationInterpolator methods ***/
4816static inline HRESULT IUIAnimationInterpolator_SetInitialValueAndVelocity(IUIAnimationInterpolator* This,double initialValue,double initialVelocity) {
4817    return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity);
4818}
4819static inline HRESULT IUIAnimationInterpolator_SetDuration(IUIAnimationInterpolator* This,double duration) {
4820    return This->lpVtbl->SetDuration(This,duration);
4821}
4822static inline HRESULT IUIAnimationInterpolator_GetDuration(IUIAnimationInterpolator* This,double *duration) {
4823    return This->lpVtbl->GetDuration(This,duration);
4824}
4825static inline HRESULT IUIAnimationInterpolator_GetFinalValue(IUIAnimationInterpolator* This,double *value) {
4826    return This->lpVtbl->GetFinalValue(This,value);
4827}
4828static inline HRESULT IUIAnimationInterpolator_InterpolateValue(IUIAnimationInterpolator* This,double offset,double *value) {
4829    return This->lpVtbl->InterpolateValue(This,offset,value);
4830}
4831static inline HRESULT IUIAnimationInterpolator_InterpolateVelocity(IUIAnimationInterpolator* This,double offset,double *velocity) {
4832    return This->lpVtbl->InterpolateVelocity(This,offset,velocity);
4833}
4834static 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
4851DEFINE_GUID(IID_IUIAnimationTransitionFactory2, 0x937d4916, 0xc1a6, 0x42d5, 0x88,0xd8, 0x30,0x34,0x4d,0x6e,0xfe,0x31);
4852#if defined(__cplusplus) && !defined(CINTERFACE)
4853MIDL_INTERFACE("937d4916-c1a6-42d5-88d8-30344d6efe31")
4854IUIAnimationTransitionFactory2 : 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
4865typedef 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
4889interface 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 ***/
4903static inline HRESULT IUIAnimationTransitionFactory2_QueryInterface(IUIAnimationTransitionFactory2* This,REFIID riid,void **ppvObject) {
4904    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4905}
4906static inline ULONG IUIAnimationTransitionFactory2_AddRef(IUIAnimationTransitionFactory2* This) {
4907    return This->lpVtbl->AddRef(This);
4908}
4909static inline ULONG IUIAnimationTransitionFactory2_Release(IUIAnimationTransitionFactory2* This) {
4910    return This->lpVtbl->Release(This);
4911}
4912/*** IUIAnimationTransitionFactory2 methods ***/
4913static 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
4930DEFINE_GUID(IID_IUIAnimationInterpolator2, 0xea76aff8, 0xea22, 0x4a23, 0xa0,0xef, 0xa6,0xa9,0x66,0x70,0x35,0x18);
4931#if defined(__cplusplus) && !defined(CINTERFACE)
4932MIDL_INTERFACE("ea76aff8-ea22-4a23-a0ef-a6a966703518")
4933IUIAnimationInterpolator2 : 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
4977typedef 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
5042interface 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 ***/
5064static inline HRESULT IUIAnimationInterpolator2_QueryInterface(IUIAnimationInterpolator2* This,REFIID riid,void **ppvObject) {
5065    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5066}
5067static inline ULONG IUIAnimationInterpolator2_AddRef(IUIAnimationInterpolator2* This) {
5068    return This->lpVtbl->AddRef(This);
5069}
5070static inline ULONG IUIAnimationInterpolator2_Release(IUIAnimationInterpolator2* This) {
5071    return This->lpVtbl->Release(This);
5072}
5073/*** IUIAnimationInterpolator2 methods ***/
5074static inline HRESULT IUIAnimationInterpolator2_GetDimension(IUIAnimationInterpolator2* This,unsigned int *dimension) {
5075    return This->lpVtbl->GetDimension(This,dimension);
5076}
5077static inline HRESULT IUIAnimationInterpolator2_SetInitialValueAndVelocity(IUIAnimationInterpolator2* This,double *initialValue,double *initialVelocity,unsigned int cDimension) {
5078    return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension);
5079}
5080static inline HRESULT IUIAnimationInterpolator2_SetDuration(IUIAnimationInterpolator2* This,double duration) {
5081    return This->lpVtbl->SetDuration(This,duration);
5082}
5083static inline HRESULT IUIAnimationInterpolator2_GetDuration(IUIAnimationInterpolator2* This,double *duration) {
5084    return This->lpVtbl->GetDuration(This,duration);
5085}
5086static inline HRESULT IUIAnimationInterpolator2_GetFinalValue(IUIAnimationInterpolator2* This,double *value,unsigned int cDimension) {
5087    return This->lpVtbl->GetFinalValue(This,value,cDimension);
5088}
5089static inline HRESULT IUIAnimationInterpolator2_InterpolateValue(IUIAnimationInterpolator2* This,double offset,double *value,unsigned int cDimension) {
5090    return This->lpVtbl->InterpolateValue(This,offset,value,cDimension);
5091}
5092static inline HRESULT IUIAnimationInterpolator2_InterpolateVelocity(IUIAnimationInterpolator2* This,double offset,double *velocity,unsigned int cDimension) {
5093    return This->lpVtbl->InterpolateVelocity(This,offset,velocity,cDimension);
5094}
5095static inline HRESULT IUIAnimationInterpolator2_GetPrimitiveInterpolation(IUIAnimationInterpolator2* This,IUIAnimationPrimitiveInterpolation *interpolation,unsigned int cDimension) {
5096    return This->lpVtbl->GetPrimitiveInterpolation(This,interpolation,cDimension);
5097}
5098static 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
5115DEFINE_GUID(IID_IUIAnimationPrimitiveInterpolation, 0xbab20d63, 0x4361, 0x45da, 0xa2,0x4f, 0xab,0x85,0x08,0x84,0x6b,0x5b);
5116#if defined(__cplusplus) && !defined(CINTERFACE)
5117MIDL_INTERFACE("bab20d63-4361-45da-a24f-ab8508846b5b")
5118IUIAnimationPrimitiveInterpolation : 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
5141typedef 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
5178interface 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 ***/
5193static inline HRESULT IUIAnimationPrimitiveInterpolation_QueryInterface(IUIAnimationPrimitiveInterpolation* This,REFIID riid,void **ppvObject) {
5194    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5195}
5196static inline ULONG IUIAnimationPrimitiveInterpolation_AddRef(IUIAnimationPrimitiveInterpolation* This) {
5197    return This->lpVtbl->AddRef(This);
5198}
5199static inline ULONG IUIAnimationPrimitiveInterpolation_Release(IUIAnimationPrimitiveInterpolation* This) {
5200    return This->lpVtbl->Release(This);
5201}
5202/*** IUIAnimationPrimitiveInterpolation methods ***/
5203static 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}
5206static 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
5223DEFINE_GUID(IID_IUIAnimationTimer, 0x6b0efad1, 0xa053, 0x41d6, 0x90,0x85, 0x33,0xa6,0x89,0x14,0x46,0x65);
5224#if defined(__cplusplus) && !defined(CINTERFACE)
5225MIDL_INTERFACE("6b0efad1-a053-41d6-9085-33a689144665")
5226IUIAnimationTimer : 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
5255typedef 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
5300interface 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 ***/
5320static inline HRESULT IUIAnimationTimer_QueryInterface(IUIAnimationTimer* This,REFIID riid,void **ppvObject) {
5321    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5322}
5323static inline ULONG IUIAnimationTimer_AddRef(IUIAnimationTimer* This) {
5324    return This->lpVtbl->AddRef(This);
5325}
5326static inline ULONG IUIAnimationTimer_Release(IUIAnimationTimer* This) {
5327    return This->lpVtbl->Release(This);
5328}
5329/*** IUIAnimationTimer methods ***/
5330static inline HRESULT IUIAnimationTimer_SetTimerUpdateHandler(IUIAnimationTimer* This,IUIAnimationTimerUpdateHandler *updateHandler,UI_ANIMATION_IDLE_BEHAVIOR idleBehavior) {
5331    return This->lpVtbl->SetTimerUpdateHandler(This,updateHandler,idleBehavior);
5332}
5333static inline HRESULT IUIAnimationTimer_SetTimerEventHandler(IUIAnimationTimer* This,IUIAnimationTimerEventHandler *handler) {
5334    return This->lpVtbl->SetTimerEventHandler(This,handler);
5335}
5336static inline HRESULT IUIAnimationTimer_Enable(IUIAnimationTimer* This) {
5337    return This->lpVtbl->Enable(This);
5338}
5339static inline HRESULT IUIAnimationTimer_Disable(IUIAnimationTimer* This) {
5340    return This->lpVtbl->Disable(This);
5341}
5342static inline HRESULT IUIAnimationTimer_IsEnabled(IUIAnimationTimer* This) {
5343    return This->lpVtbl->IsEnabled(This);
5344}
5345static inline HRESULT IUIAnimationTimer_GetTime(IUIAnimationTimer* This,double *seconds) {
5346    return This->lpVtbl->GetTime(This,seconds);
5347}
5348static 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
5365DEFINE_GUID(IID_IUIAnimationTimerUpdateHandler, 0x195509b7, 0x5d5e, 0x4e3e, 0xb2,0x78, 0xee,0x37,0x59,0xb3,0x67,0xad);
5366#if defined(__cplusplus) && !defined(CINTERFACE)
5367MIDL_INTERFACE("195509b7-5d5e-4e3e-b278-ee3759b367ad")
5368IUIAnimationTimerUpdateHandler : 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
5385typedef 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
5416interface 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 ***/
5432static inline HRESULT IUIAnimationTimerUpdateHandler_QueryInterface(IUIAnimationTimerUpdateHandler* This,REFIID riid,void **ppvObject) {
5433    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5434}
5435static inline ULONG IUIAnimationTimerUpdateHandler_AddRef(IUIAnimationTimerUpdateHandler* This) {
5436    return This->lpVtbl->AddRef(This);
5437}
5438static inline ULONG IUIAnimationTimerUpdateHandler_Release(IUIAnimationTimerUpdateHandler* This) {
5439    return This->lpVtbl->Release(This);
5440}
5441/*** IUIAnimationTimerUpdateHandler methods ***/
5442static inline HRESULT IUIAnimationTimerUpdateHandler_OnUpdate(IUIAnimationTimerUpdateHandler* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *result) {
5443    return This->lpVtbl->OnUpdate(This,timeNow,result);
5444}
5445static inline HRESULT IUIAnimationTimerUpdateHandler_SetTimerClientEventHandler(IUIAnimationTimerUpdateHandler* This,IUIAnimationTimerClientEventHandler *handler) {
5446    return This->lpVtbl->SetTimerClientEventHandler(This,handler);
5447}
5448static 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
5465DEFINE_GUID(IID_IUIAnimationTimerClientEventHandler, 0xbedb4db6, 0x94fa, 0x4bfb, 0xa4,0x7f, 0xef,0x2d,0x9e,0x40,0x8c,0x25);
5466#if defined(__cplusplus) && !defined(CINTERFACE)
5467MIDL_INTERFACE("bedb4db6-94fa-4bfb-a47f-ef2d9e408c25")
5468IUIAnimationTimerClientEventHandler : 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
5479typedef 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
5503interface 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 ***/
5517static inline HRESULT IUIAnimationTimerClientEventHandler_QueryInterface(IUIAnimationTimerClientEventHandler* This,REFIID riid,void **ppvObject) {
5518    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5519}
5520static inline ULONG IUIAnimationTimerClientEventHandler_AddRef(IUIAnimationTimerClientEventHandler* This) {
5521    return This->lpVtbl->AddRef(This);
5522}
5523static inline ULONG IUIAnimationTimerClientEventHandler_Release(IUIAnimationTimerClientEventHandler* This) {
5524    return This->lpVtbl->Release(This);
5525}
5526/*** IUIAnimationTimerClientEventHandler methods ***/
5527static 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
5544DEFINE_GUID(IID_IUIAnimationTimerEventHandler, 0x274a7dea, 0xd771, 0x4095, 0xab,0xbd, 0x8d,0xf7,0xab,0xd2,0x3c,0xe3);
5545#if defined(__cplusplus) && !defined(CINTERFACE)
5546MIDL_INTERFACE("274a7dea-d771-4095-abbd-8df7abd23ce3")
5547IUIAnimationTimerEventHandler : 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
5563typedef 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
5592interface 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 ***/
5608static inline HRESULT IUIAnimationTimerEventHandler_QueryInterface(IUIAnimationTimerEventHandler* This,REFIID riid,void **ppvObject) {
5609    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5610}
5611static inline ULONG IUIAnimationTimerEventHandler_AddRef(IUIAnimationTimerEventHandler* This) {
5612    return This->lpVtbl->AddRef(This);
5613}
5614static inline ULONG IUIAnimationTimerEventHandler_Release(IUIAnimationTimerEventHandler* This) {
5615    return This->lpVtbl->Release(This);
5616}
5617/*** IUIAnimationTimerEventHandler methods ***/
5618static inline HRESULT IUIAnimationTimerEventHandler_OnPreUpdate(IUIAnimationTimerEventHandler* This) {
5619    return This->lpVtbl->OnPreUpdate(This);
5620}
5621static inline HRESULT IUIAnimationTimerEventHandler_OnPostUpdate(IUIAnimationTimerEventHandler* This) {
5622    return This->lpVtbl->OnPostUpdate(This);
5623}
5624static 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__ */