blob: 3c559aef58adb94e66cb3bc15212bd0d43ff52b4 [file] [log] [blame]
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
import "unknwn.idl";
/* Interface forward declarations. */
interface IUIAnimationManager;
interface IUIAnimationVariable;
interface IUIAnimationStoryboard;
interface IUIAnimationTransition;
interface IUIAnimationStoryboardEventHandler;
interface IUIAnimationVariableChangeHandler;
interface IUIAnimationVariableIntegerChangeHandler;
interface IUIAnimationManagerEventHandler;
interface IUIAnimationPriorityComparison;
interface IUIAnimationManager2;
interface IUIAnimationVariable2;
interface IDCompositionAnimation;
interface IUIAnimationStoryboard2;
interface IUIAnimationTransition2;
interface IUIAnimationLoopIterationChangeHandler2;
interface IUIAnimationStoryboardEventHandler2;
interface IUIAnimationVariableChangeHandler2;
interface IUIAnimationVariableIntegerChangeHandler2;
interface IUIAnimationVariableCurveChangeHandler2;
interface IUIAnimationManagerEventHandler2;
interface IUIAnimationPriorityComparison2;
interface IUIAnimationTransitionLibrary;
interface IUIAnimationTransitionLibrary2;
interface IUIAnimationTransitionFactory;
interface IUIAnimationInterpolator;
interface IUIAnimationTransitionFactory2;
interface IUIAnimationInterpolator2;
interface IUIAnimationPrimitiveInterpolation;
interface IUIAnimationTimer;
interface IUIAnimationTimerUpdateHandler;
interface IUIAnimationTimerClientEventHandler;
interface IUIAnimationTimerEventHandler;
/* Coclass record forward declarations. */
coclass UIAnimationManager;
coclass UIAnimationManager2;
coclass UIAnimationTransitionLibrary;
coclass UIAnimationTransitionLibrary2;
coclass UIAnimationTransitionFactory;
coclass UIAnimationTransitionFactory2;
coclass UIAnimationTimer;
typedef DOUBLE UI_ANIMATION_SECONDS;
/* Enumeration declarations. */
typedef [v1_enum] enum
{
UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE = 0,
UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY = 1,
UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED = 2,
UI_ANIMATION_SCHEDULING_SUCCEEDED = 3,
UI_ANIMATION_SCHEDULING_DEFERRED = 4
} UI_ANIMATION_SCHEDULING_RESULT;
typedef [v1_enum] enum
{
UI_ANIMATION_STORYBOARD_BUILDING = 0,
UI_ANIMATION_STORYBOARD_SCHEDULED = 1,
UI_ANIMATION_STORYBOARD_CANCELLED = 2,
UI_ANIMATION_STORYBOARD_PLAYING = 3,
UI_ANIMATION_STORYBOARD_TRUNCATED = 4,
UI_ANIMATION_STORYBOARD_FINISHED = 5,
UI_ANIMATION_STORYBOARD_READY = 6,
UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY = 7
} UI_ANIMATION_STORYBOARD_STATUS;
typedef [v1_enum] enum
{
UI_ANIMATION_ROUNDING_NEAREST = 0,
UI_ANIMATION_ROUNDING_FLOOR = 1,
UI_ANIMATION_ROUNDING_CEILING = 2
} UI_ANIMATION_ROUNDING_MODE;
typedef [v1_enum] enum
{
UI_ANIMATION_UPDATE_NO_CHANGE = 0,
UI_ANIMATION_UPDATE_VARIABLES_CHANGED = 1
} UI_ANIMATION_UPDATE_RESULT;
typedef [v1_enum] enum
{
UI_ANIMATION_MANAGER_IDLE = 0,
UI_ANIMATION_MANAGER_BUSY = 1
} UI_ANIMATION_MANAGER_STATUS;
typedef [v1_enum] enum
{
UI_ANIMATION_MODE_DISABLED = 0,
UI_ANIMATION_MODE_SYSTEM_DEFAULT = 1,
UI_ANIMATION_MODE_ENABLED = 2
} UI_ANIMATION_MODE;
typedef [v1_enum] enum
{
UI_ANIMATION_PRIORITY_EFFECT_FAILURE = 0,
UI_ANIMATION_PRIORITY_EFFECT_DELAY = 1
} UI_ANIMATION_PRIORITY_EFFECT;
typedef [v1_enum] enum
{
UI_ANIMATION_REPEAT_MODE_NORMAL = 0,
UI_ANIMATION_REPEAT_MODE_ALTERNATE = 1
} UI_ANIMATION_REPEAT_MODE;
typedef [v1_enum] enum
{
UI_ANIMATION_SLOPE_INCREASING = 0,
UI_ANIMATION_SLOPE_DECREASING = 1
} UI_ANIMATION_SLOPE;
typedef [v1_enum] enum
{
UI_ANIMATION_DEPENDENCY_NONE = 0,
UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES = 0x1,
UI_ANIMATION_DEPENDENCY_FINAL_VALUE = 0x2,
UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY = 0x4,
UI_ANIMATION_DEPENDENCY_DURATION = 0x8
} UI_ANIMATION_DEPENDENCIES;
typedef [v1_enum] enum
{
UI_ANIMATION_TIMER_CLIENT_IDLE = 0,
UI_ANIMATION_TIMER_CLIENT_BUSY = 1
} UI_ANIMATION_TIMER_CLIENT_STATUS;
typedef [v1_enum] enum
{
UI_ANIMATION_IDLE_BEHAVIOR_CONTINUE = 0,
UI_ANIMATION_IDLE_BEHAVIOR_DISABLE = 1
} UI_ANIMATION_IDLE_BEHAVIOR;
/* Structure/union declarations. */
typedef struct
{
int _;
} *UI_ANIMATION_KEYFRAME;
const UI_ANIMATION_KEYFRAME UI_ANIMATION_KEYFRAME_STORYBOARD_START = (UI_ANIMATION_KEYFRAME)(-1);
const INT32 UI_ANIMATION_REPEAT_INDEFINITELY = -1;
const INT32 UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_END = UI_ANIMATION_REPEAT_INDEFINITELY;
const INT32 UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_START = -2;
[
uuid(44CA24DB-1A92-4149-BAB5-FB14D64B401E),
version(1.0),
helpstring("UIAnimation 1.0 Type Library")
]
library uianimation
{
importlib("stdole2.tlb");
/* CoClass declarations. */
[
uuid(4C1FC63A-695C-47E8-A339-1A194BE3D0B8),
helpstring("UIAnimationManager Class")
]
coclass UIAnimationManager
{
[default] interface IUIAnimationManager;
};
[
uuid(D25D8842-8884-4A4A-B321-091314379BDD),
helpstring("UIAnimationManager2 Class")
]
coclass UIAnimationManager2
{
[default] interface IUIAnimationManager2;
};
[
uuid(1D6322AD-AA85-4EF5-A828-86D71067D145),
helpstring("UIAnimationTransitionLibrary Class")
]
coclass UIAnimationTransitionLibrary
{
[default] interface IUIAnimationTransitionLibrary;
};
[
uuid(812F944A-C5C8-4CD9-B0A6-B3DA802F228D),
helpstring("UIAnimationTransitionLibrary2 Class")
]
coclass UIAnimationTransitionLibrary2
{
[default] interface IUIAnimationTransitionLibrary2;
};
[
uuid(8A9B1CDD-FCD7-419C-8B44-42FD17DB1887),
helpstring("UIAnimationTransitionFactory Class")
]
coclass UIAnimationTransitionFactory
{
[default] interface IUIAnimationTransitionFactory;
};
[
uuid(84302F97-7F7B-4040-B190-72AC9D18E420),
helpstring("UIAnimationTransitionFactory2 Class")
]
coclass UIAnimationTransitionFactory2
{
[default] interface IUIAnimationTransitionFactory2;
};
[
uuid(BFCD4A0C-06B6-4384-B768-0DAA792C380E),
helpstring("UIAnimationTimer Class")
]
coclass UIAnimationTimer
{
[default] interface IUIAnimationTimer;
};
};
/* Interface declarations. */
[
uuid(9169896C-AC8D-4E7D-94E5-67FA4DC2F2E8),
helpstring("IUIAnimationManager Interface")
]
interface IUIAnimationManager : IUnknown
{
HRESULT CreateAnimationVariable(
[in] double initialValue,
[out, retval] IUIAnimationVariable **variable
);
HRESULT ScheduleTransition(
[in] IUIAnimationVariable *variable,
[in] IUIAnimationTransition *transition,
[in] double timeNow
);
HRESULT CreateStoryboard(
[out, retval] IUIAnimationStoryboard **storyboard
);
HRESULT FinishAllStoryboards(
[in] double completionDeadline
);
HRESULT AbandonAllStoryboards(void);
HRESULT Update(
[in] double timeNow,
[out, defaultvalue(0)] UI_ANIMATION_UPDATE_RESULT *updateResult
);
HRESULT GetVariableFromTag(
[in] IUnknown * object,
[in] UINT32 id,
[out, retval] IUIAnimationVariable **variable
);
HRESULT GetStoryboardFromTag(
[in] IUnknown * object,
[in] UINT32 id,
[out, retval] IUIAnimationStoryboard **storyboard
);
HRESULT GetStatus(
[out, retval] UI_ANIMATION_MANAGER_STATUS *status
);
HRESULT SetAnimationMode(
[in] UI_ANIMATION_MODE mode
);
HRESULT Pause(void);
HRESULT Resume(void);
HRESULT SetManagerEventHandler(
[in] IUIAnimationManagerEventHandler *handler
);
HRESULT SetCancelPriorityComparison(
[in] IUIAnimationPriorityComparison *comparison
);
HRESULT SetTrimPriorityComparison(
[in] IUIAnimationPriorityComparison *comparison
);
HRESULT SetCompressPriorityComparison(
[in] IUIAnimationPriorityComparison *comparison
);
HRESULT SetConcludePriorityComparison(
[in] IUIAnimationPriorityComparison *comparison
);
HRESULT SetDefaultLongestAcceptableDelay(
[in] double delay
);
HRESULT Shutdown(void);
};
[
uuid(8CEEB155-2849-4CE5-9448-91FF70E1E4D9),
helpstring("IUIAnimationVariable Interface")
]
interface IUIAnimationVariable : IUnknown
{
HRESULT GetValue(
[out, retval] double *value
);
HRESULT GetFinalValue(
[out, retval] double *finalValue
);
HRESULT GetPreviousValue(
[out, retval] double *previousValue
);
HRESULT GetIntegerValue(
[out, retval] int *value
);
HRESULT GetFinalIntegerValue(
[out, retval] int *finalValue
);
HRESULT GetPreviousIntegerValue(
[out, retval] int *previousValue
);
HRESULT GetCurrentStoryboard(
[out, retval] IUIAnimationStoryboard **storyboard
);
HRESULT SetLowerBound(
[in] double bound
);
HRESULT SetUpperBound(
[in] double bound
);
HRESULT SetRoundingMode(
[in] UI_ANIMATION_ROUNDING_MODE mode
);
HRESULT SetTag(
[in] IUnknown * object,
[in] unsigned int id
);
HRESULT GetTag(
[out] IUnknown **object,
[out] unsigned int *id
);
HRESULT SetVariableChangeHandler(
[in] IUIAnimationVariableChangeHandler *handler
);
HRESULT SetVariableIntegerChangeHandler(
[in] IUIAnimationVariableIntegerChangeHandler *handler
);
};
[
uuid(A8FF128F-9BF9-4AF1-9E67-E5E410DEFB84),
helpstring("IUIAnimationStoryboard Interface")
]
interface IUIAnimationStoryboard : IUnknown
{
HRESULT AddTransition(
[in] IUIAnimationVariable *variable,
[in] IUIAnimationTransition *transition
);
HRESULT AddKeyframeAtOffset(
[in] UI_ANIMATION_KEYFRAME existingKeyframe,
[in] double offset,
[out, retval] UI_ANIMATION_KEYFRAME *keyframe
);
HRESULT AddKeyframeAfterTransition(
[in] IUIAnimationTransition *transition,
[out, retval] UI_ANIMATION_KEYFRAME *keyframe
);
HRESULT AddTransitionAtKeyframe(
[in] IUIAnimationVariable *variable,
[in] IUIAnimationTransition *transition,
[in] UI_ANIMATION_KEYFRAME startKeyframe
);
HRESULT AddTransitionBetweenKeyframes(
[in] IUIAnimationVariable *variable,
[in] IUIAnimationTransition *transition,
[in] UI_ANIMATION_KEYFRAME startKeyframe,
[in] UI_ANIMATION_KEYFRAME endKeyframe
);
HRESULT RepeatBetweenKeyframes(
[in] UI_ANIMATION_KEYFRAME startKeyframe,
[in] UI_ANIMATION_KEYFRAME endKeyframe,
[in] int repetitionCount
);
HRESULT HoldVariable(
[in] IUIAnimationVariable *variable
);
HRESULT SetLongestAcceptableDelay(
[in] double delay
);
HRESULT Schedule(
[in] double timeNow,
[out, defaultvalue(0)] UI_ANIMATION_SCHEDULING_RESULT *schedulingResult
);
HRESULT Conclude(void);
HRESULT Finish(
[in] double completionDeadline
);
HRESULT Abandon(void);
HRESULT SetTag(
[in] IUnknown * object,
[in] unsigned int id
);
HRESULT GetTag(
[out] IUnknown **object,
[out] unsigned int *id
);
HRESULT GetStatus(
[out, retval] UI_ANIMATION_STORYBOARD_STATUS *status
);
HRESULT GetElapsedTime(
[out] double *elapsedTime
);
HRESULT SetStoryboardEventHandler(
[in] IUIAnimationStoryboardEventHandler *handler
);
};
[
uuid(DC6CE252-F731-41CF-B610-614B6CA049AD),
helpstring("IUIAnimationTransition Interface")
]
interface IUIAnimationTransition : IUnknown
{
HRESULT SetInitialValue(
[in] double value
);
HRESULT SetInitialVelocity(
[in] double velocity
);
HRESULT IsDurationKnown(void);
HRESULT GetDuration(
[out, retval] double *duration
);
};
[
uuid(3D5C9008-EC7C-4364-9F8A-9AF3C58CBAE6),
helpstring("IUIAnimationStoryboardEventHandler Interface")
]
interface IUIAnimationStoryboardEventHandler : IUnknown
{
HRESULT OnStoryboardStatusChanged(
[in] IUIAnimationStoryboard *storyboard,
[in] UI_ANIMATION_STORYBOARD_STATUS newStatus,
[in] UI_ANIMATION_STORYBOARD_STATUS previousStatus
);
HRESULT OnStoryboardUpdated(
[in] IUIAnimationStoryboard *storyboard
);
};
[
uuid(6358B7BA-87D2-42D5-BF71-82E919DD5862),
helpstring("IUIAnimationVariableChangeHandler Interface")
]
interface IUIAnimationVariableChangeHandler : IUnknown
{
HRESULT OnValueChanged(
[in] IUIAnimationStoryboard *storyboard,
[in] IUIAnimationVariable *variable,
[in] double newValue,
[in] double previousValue
);
};
[
uuid(BB3E1550-356E-44B0-99DA-85AC6017865E),
helpstring("IUIAnimationVariableIntegerChangeHandler Interface")
]
interface IUIAnimationVariableIntegerChangeHandler : IUnknown
{
HRESULT OnIntegerValueChanged(
[in] IUIAnimationStoryboard *storyboard,
[in] IUIAnimationVariable *variable,
[in] int newValue,
[in] int previousValue
);
};
[
uuid(783321ED-78A3-4366-B574-6AF607A64788),
helpstring("IUIAnimationManagerEventHandler Interface")
]
interface IUIAnimationManagerEventHandler : IUnknown
{
HRESULT OnManagerStatusChanged(
[in] UI_ANIMATION_MANAGER_STATUS newStatus,
[in] UI_ANIMATION_MANAGER_STATUS previousStatus
);
};
[
uuid(83FA9B74-5F86-4618-BC6A-A2FAC19B3F44),
helpstring("IUIAnimationPriorityComparison Interface")
]
interface IUIAnimationPriorityComparison : IUnknown
{
HRESULT HasPriority(
[in] IUIAnimationStoryboard *scheduledStoryboard,
[in] IUIAnimationStoryboard *newStoryboard,
[in] UI_ANIMATION_PRIORITY_EFFECT priorityEffect
);
};
[
uuid(D8B6F7D4-4109-4D3F-ACEE-879926968CB1),
helpstring("IUIAnimationManager2 Interface")
]
interface IUIAnimationManager2 : IUnknown
{
HRESULT CreateAnimationVectorVariable(
[in] double *initialValue,
[in] unsigned int cDimension,
[out, retval] IUIAnimationVariable2 **variable
);
HRESULT CreateAnimationVariable(
[in] double initialValue,
[out, retval] IUIAnimationVariable2 **variable
);
HRESULT ScheduleTransition(
[in] IUIAnimationVariable2 *variable,
[in] IUIAnimationTransition2 *transition,
[in] double timeNow
);
HRESULT CreateStoryboard(
[out, retval] IUIAnimationStoryboard2 **storyboard
);
HRESULT FinishAllStoryboards(
[in] double completionDeadline
);
HRESULT AbandonAllStoryboards(void);
HRESULT Update(
[in] double timeNow,
[out, defaultvalue(0)] UI_ANIMATION_UPDATE_RESULT *updateResult
);
HRESULT GetVariableFromTag(
[in] IUnknown * object,
[in] UINT32 id,
[out, retval] IUIAnimationVariable2 **variable
);
HRESULT GetStoryboardFromTag(
[in] IUnknown * object,
[in] unsigned int id,
[out, retval] IUIAnimationStoryboard2 **storyboard
);
HRESULT EstimateNextEventTime(
[out, retval] double *seconds
);
HRESULT GetStatus(
[out, retval] UI_ANIMATION_MANAGER_STATUS *status
);
HRESULT SetAnimationMode(
[in] UI_ANIMATION_MODE mode
);
HRESULT Pause(void);
HRESULT Resume(void);
HRESULT SetManagerEventHandler(
[in] IUIAnimationManagerEventHandler2 *handler,
[in, defaultvalue(FALSE)] long fRegisterForNextAnimationEvent
);
HRESULT SetCancelPriorityComparison(
[in] IUIAnimationPriorityComparison2 *comparison
);
HRESULT SetTrimPriorityComparison(
[in] IUIAnimationPriorityComparison2 *comparison
);
HRESULT SetCompressPriorityComparison(
[in] IUIAnimationPriorityComparison2 *comparison
);
HRESULT SetConcludePriorityComparison(
[in] IUIAnimationPriorityComparison2 *comparison
);
HRESULT SetDefaultLongestAcceptableDelay(
[in] double delay
);
HRESULT Shutdown(void);
};
[
uuid(4914B304-96AB-44D9-9E77-D5109B7E7466),
helpstring("IUIAnimationVariable2 Interface")
]
interface IUIAnimationVariable2 : IUnknown
{
HRESULT GetDimension(
[out, retval] unsigned int *dimension
);
HRESULT GetValue(
[out, retval] double *value
);
HRESULT GetVectorValue(
[out] double *value,
[in] unsigned int cDimension
);
HRESULT GetCurve(
[in] IDCompositionAnimation *animation
);
HRESULT GetVectorCurve(
[in] IDCompositionAnimation **animation,
[in] unsigned int cDimension
);
HRESULT GetFinalValue(
[out, retval] double *finalValue
);
HRESULT GetFinalVectorValue(
[out] double *finalValue,
[in] unsigned int cDimension
);
HRESULT GetPreviousValue(
[out, retval] double *previousValue
);
HRESULT GetPreviousVectorValue(
[out] double *previousValue,
[in] unsigned int cDimension
);
HRESULT GetIntegerValue(
[out, retval] int *value
);
HRESULT GetIntegerVectorValue(
[out] int *value,
[in] unsigned int cDimension
);
HRESULT GetFinalIntegerValue(
[out, retval] int *finalValue
);
HRESULT GetFinalIntegerVectorValue(
[out] int *finalValue,
[in] unsigned int cDimension
);
HRESULT GetPreviousIntegerValue(
[out, retval] int *previousValue
);
HRESULT GetPreviousIntegerVectorValue(
[out] int *previousValue,
[in] unsigned int cDimension
);
HRESULT GetCurrentStoryboard(
[out, retval] IUIAnimationStoryboard2 **storyboard
);
HRESULT SetLowerBound(
[in] double bound
);
HRESULT SetLowerBoundVector(
[out] double *bound,
[in] unsigned int cDimension
);
HRESULT SetUpperBound(
[in] double bound
);
HRESULT SetUpperBoundVector(
[out] double *bound,
[in] unsigned int cDimension
);
HRESULT SetRoundingMode(
[in] UI_ANIMATION_ROUNDING_MODE mode
);
HRESULT SetTag(
[in] IUnknown * object,
[in] unsigned int id
);
HRESULT GetTag(
[out] IUnknown **object,
[out] unsigned int *id
);
HRESULT SetVariableChangeHandler(
[in] IUIAnimationVariableChangeHandler2 *handler,
[in, defaultvalue(FALSE)] long fRegisterForNextAnimationEvent
);
HRESULT SetVariableIntegerChangeHandler(
[in] IUIAnimationVariableIntegerChangeHandler2 *handler,
[in, defaultvalue(FALSE)] long fRegisterForNextAnimationEvent
);
HRESULT SetVariableCurveChangeHandler(
[in] IUIAnimationVariableCurveChangeHandler2 *handler
);
};
[
uuid(CBFD91D9-51B2-45E4-B3DE-D19CCFB863C5),
helpstring("IDCompositionAnimation Interface")
]
interface IDCompositionAnimation : IUnknown
{
HRESULT Reset(void);
HRESULT SetAbsoluteBeginTime(
LARGE_INTEGER beginTime
);
HRESULT AddCubic(
double beginOffset,
float constantCoefficient,
float linearCoefficient,
float quadraticCoefficient,
float cubicCoefficient
);
HRESULT AddSinusoidal(
double beginOffset,
float bias,
float amplitude,
float frequency,
float phase
);
HRESULT AddRepeat(
double beginOffset,
double durationToRepeat
);
HRESULT End(
double endOffset,
float endValue
);
};
[
uuid(AE289CD2-12D4-4945-9419-9E41BE034DF2),
helpstring("IUIAnimationStoryboard2 Interface")
]
interface IUIAnimationStoryboard2 : IUnknown
{
HRESULT AddTransition(
[in] IUIAnimationVariable2 *variable,
[in] IUIAnimationTransition2 *transition
);
HRESULT AddKeyframeAtOffset(
[in] UI_ANIMATION_KEYFRAME existingKeyframe,
[in] double offset,
[out, retval] UI_ANIMATION_KEYFRAME *keyframe
);
HRESULT AddKeyframeAfterTransition(
[in] IUIAnimationTransition2 *transition,
[out, retval] UI_ANIMATION_KEYFRAME *keyframe
);
HRESULT AddTransitionAtKeyframe(
[in] IUIAnimationVariable2 *variable,
[in] IUIAnimationTransition2 *transition,
[in] UI_ANIMATION_KEYFRAME startKeyframe
);
HRESULT AddTransitionBetweenKeyframes(
[in] IUIAnimationVariable2 *variable,
[in] IUIAnimationTransition2 *transition,
[in] UI_ANIMATION_KEYFRAME startKeyframe,
[in] UI_ANIMATION_KEYFRAME endKeyframe
);
HRESULT RepeatBetweenKeyframes(
[in] UI_ANIMATION_KEYFRAME startKeyframe,
[in] UI_ANIMATION_KEYFRAME endKeyframe,
[in] double cRepetition,
[in] UI_ANIMATION_REPEAT_MODE repeatMode,
[in, defaultvalue(0)] IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler,
[in, defaultvalue(0)] UINT_PTR id,
[in, defaultvalue(FALSE)] long fRegisterForNextAnimationEvent
);
HRESULT HoldVariable(
[in] IUIAnimationVariable2 *variable
);
HRESULT SetLongestAcceptableDelay(
[in] double delay
);
HRESULT SetSkipDuration(
[in] double secondsDuration
);
HRESULT Schedule(
[in] double timeNow,
[out, defaultvalue(0)] UI_ANIMATION_SCHEDULING_RESULT *schedulingResult
);
HRESULT Conclude(void);
HRESULT Finish(
[in] double completionDeadline
);
HRESULT Abandon(void);
HRESULT SetTag(
[in] IUnknown * object,
[in] unsigned int id
);
HRESULT GetTag(
[out] IUnknown **object,
[out] unsigned int *id
);
HRESULT GetStatus(
[out, retval] UI_ANIMATION_STORYBOARD_STATUS *status
);
HRESULT GetElapsedTime(
[out] double *elapsedTime
);
HRESULT SetStoryboardEventHandler(
[in] IUIAnimationStoryboardEventHandler2 *handler,
[in, defaultvalue(FALSE)] long fRegisterStatusChangeForNextAnimationEvent,
[in, defaultvalue(FALSE)] long fRegisterUpdateForNextAnimationEvent
);
};
[
uuid(62FF9123-A85A-4E9B-A218-435A93E268FD),
helpstring("IUIAnimationTransition2 Interface")
]
interface IUIAnimationTransition2 : IUnknown
{
HRESULT GetDimension(
[out, retval] unsigned int *dimension
);
HRESULT SetInitialValue(
[in] double value
);
HRESULT SetInitialVectorValue(
[in] double *value,
[in] unsigned int cDimension
);
HRESULT SetInitialVelocity(
[in] double velocity
);
HRESULT SetInitialVectorVelocity(
[in] double *velocity,
[in] unsigned int cDimension
);
HRESULT IsDurationKnown(void);
HRESULT GetDuration(
[out, retval] double *duration
);
};
[
uuid(2D3B15A4-4762-47AB-A030-B23221DF3AE0),
helpstring("IUIAnimationLoopIterationChangeHandler2 Interface")
]
interface IUIAnimationLoopIterationChangeHandler2 : IUnknown
{
HRESULT OnLoopIterationChanged(
[in] IUIAnimationStoryboard2 *storyboard,
[in] UINT_PTR id,
[in] unsigned int newIterationCount,
[in] unsigned int oldIterationCount
);
};
[
uuid(BAC5F55A-BA7C-414C-B599-FBF850F553C6),
helpstring("IUIAnimationStoryboardEventHandler Interface")
]
interface IUIAnimationStoryboardEventHandler2 : IUnknown
{
HRESULT OnStoryboardStatusChanged(
[in] IUIAnimationStoryboard2 *storyboard,
[in] UI_ANIMATION_STORYBOARD_STATUS newStatus,
[in] UI_ANIMATION_STORYBOARD_STATUS previousStatus
);
HRESULT OnStoryboardUpdated(
[in] IUIAnimationStoryboard2 *storyboard
);
};
[
uuid(63ACC8D2-6EAE-4BB0-B879-586DD8CFBE42),
helpstring("IUIAnimationVariableChangeHandler2 Interface")
]
interface IUIAnimationVariableChangeHandler2 : IUnknown
{
HRESULT OnValueChanged(
[in] IUIAnimationStoryboard2 *storyboard,
[in] IUIAnimationVariable2 *variable,
[in] double *newValue,
[in] double *previousValue,
[in] unsigned int cDimension
);
};
[
uuid(829B6CF1-4F3A-4412-AE09-B243EB4C6B58),
helpstring("IUIAnimationVariableIntegerChangeHandler2 Interface")
]
interface IUIAnimationVariableIntegerChangeHandler2 : IUnknown
{
HRESULT OnIntegerValueChanged(
[in] IUIAnimationStoryboard2 *storyboard,
[in] IUIAnimationVariable2 *variable,
[in] int *newValue,
[in] int *previousValue,
[in] unsigned int cDimension
);
};
[
uuid(72895E91-0145-4C21-9192-5AAB40EDDF80),
helpstring("IUIAnimationVariableCurveChangeHandler2 Interface")
]
interface IUIAnimationVariableCurveChangeHandler2 : IUnknown
{
HRESULT OnCurveChanged(
[in] IUIAnimationVariable2 *variable
);
};
[
uuid(F6E022BA-BFF3-42EC-9033-E073F33E83C3),
helpstring("IUIAnimationManagerEventHandler2 Interface")
]
interface IUIAnimationManagerEventHandler2 : IUnknown
{
HRESULT OnManagerStatusChanged(
[in] UI_ANIMATION_MANAGER_STATUS newStatus,
[in] UI_ANIMATION_MANAGER_STATUS previousStatus
);
};
[
uuid(5B6D7A37-4621-467C-8B05-70131DE62DDB),
helpstring("IUIAnimationPriorityComparison2 Interface")
]
interface IUIAnimationPriorityComparison2 : IUnknown
{
HRESULT HasPriority(
[in] IUIAnimationStoryboard2 *scheduledStoryboard,
[in] IUIAnimationStoryboard2 *newStoryboard,
[in] UI_ANIMATION_PRIORITY_EFFECT priorityEffect
);
};
[
uuid(CA5A14B1-D24F-48B8-8FE4-C78169BA954E),
helpstring("IUIAnimationTransitionLibrary Interface")
]
interface IUIAnimationTransitionLibrary : IUnknown
{
HRESULT CreateInstantaneousTransition(
[in] double finalValue,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateConstantTransition(
[in] double duration,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateDiscreteTransition(
[in] double delay,
[in] double finalValue,
[in] double hold,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateLinearTransition(
[in] double duration,
[in] double finalValue,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateLinearTransitionFromSpeed(
[in] double speed,
[in] double finalValue,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateSinusoidalTransitionFromVelocity(
[in] double duration,
[in] double period,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateSinusoidalTransitionFromRange(
[in] double duration,
[in] double minimumValue,
[in] double maximumValue,
[in] double period,
[in] UI_ANIMATION_SLOPE slope,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateAccelerateDecelerateTransition(
[in] double duration,
[in] double finalValue,
[in] double accelerationRatio,
[in] double decelerationRatio,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateReversalTransition(
[in] double duration,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateCubicTransition(
[in] double duration,
[in] double finalValue,
[in] double finalVelocity,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateSmoothStopTransition(
[in] double maximumDuration,
[in] double finalValue,
[out, retval] IUIAnimationTransition **transition
);
HRESULT CreateParabolicTransitionFromAcceleration(
[in] double finalValue,
[in] double finalVelocity,
[in] double acceleration,
[out, retval] IUIAnimationTransition **transition
);
};
[
uuid(03CFAE53-9580-4EE3-B363-2ECE51B4AF6A),
helpstring("IUIAnimationTransitionLibrary2 Interface")
]
interface IUIAnimationTransitionLibrary2 : IUnknown
{
HRESULT CreateInstantaneousTransition(
[in] double finalValue,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateInstantaneousVectorTransition(
[in] double *finalValue,
[in] unsigned int cDimension,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateConstantTransition(
[in] double duration,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateDiscreteTransition(
[in] double delay,
[in] double finalValue,
[in] double hold,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateDiscreteVectorTransition(
[in] double delay,
[in] double *finalValue,
[in] unsigned int cDimension,
[in] double hold,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateLinearTransition(
[in] double duration,
[in] double finalValue,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateLinearVectorTransition(
[in] double duration,
[in] double *finalValue,
[in] unsigned int cDimension,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateLinearTransitionFromSpeed(
[in] double speed,
[in] double finalValue,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateLinearVectorTransitionFromSpeed(
[in] double speed,
[in] double *finalValue,
[in] unsigned int cDimension,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateSinusoidalTransitionFromVelocity(
[in] double duration,
[in] double period,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateSinusoidalTransitionFromRange(
[in] double duration,
[in] double minimumValue,
[in] double maximumValue,
[in] double period,
[in] UI_ANIMATION_SLOPE slope,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateAccelerateDecelerateTransition(
[in] double duration,
[in] double finalValue,
[in] double accelerationRatio,
[in] double decelerationRatio,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateReversalTransition(
[in] double duration,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateCubicTransition(
[in] double duration,
[in] double finalValue,
[in] double finalVelocity,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateCubicVectorTransition(
[in] double duration,
[in] double *finalValue,
[in] double *finalVelocity,
[in] unsigned int cDimension,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateSmoothStopTransition(
[in] double maximumDuration,
[in] double finalValue,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateParabolicTransitionFromAcceleration(
[in] double finalValue,
[in] double finalVelocity,
[in] double acceleration,
[out, retval] IUIAnimationTransition2 **transition
);
HRESULT CreateCubicBezierLinearTransition(
[in] double duration,
[in] double finalValue,
[in] double x1,
[in] double y1,
[in] double x2,
[in] double y2,
[out] IUIAnimationTransition2 **ppTransition
);
HRESULT CreateCubicBezierLinearVectorTransition(
[in] double duration,
[in] double *finalValue,
[in] unsigned int cDimension,
[in] double x1,
[in] double y1,
[in] double x2,
[in] double y2,
[out] IUIAnimationTransition2 **ppTransition
);
};
[
uuid(FCD91E03-3E3B-45AD-BBB1-6DFC8153743D),
helpstring("IUIAnimationTransitionFactory Interface")
]
interface IUIAnimationTransitionFactory : IUnknown
{
HRESULT CreateTransition(
[in] IUIAnimationInterpolator *interpolator,
[out, retval] IUIAnimationTransition **transition
);
};
[
uuid(7815CBBA-DDF7-478C-A46C-7B6C738B7978),
helpstring("IUIAnimationInterpolator Interface")
]
interface IUIAnimationInterpolator : IUnknown
{
HRESULT SetInitialValueAndVelocity(
[in] double initialValue,
[in] double initialVelocity
);
HRESULT SetDuration(
[in] double duration
);
HRESULT GetDuration(
[out, retval] double *duration
);
HRESULT GetFinalValue(
[out, retval] double *value
);
HRESULT InterpolateValue(
[in] double offset,
[out, retval] double *value
);
HRESULT InterpolateVelocity(
[in] double offset,
[out, retval] double *velocity
);
HRESULT GetDependencies(
[out] UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
[out] UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
[out] UI_ANIMATION_DEPENDENCIES *durationDependencies
);
};
[
uuid(937D4916-C1A6-42D5-88D8-30344D6EFE31),
helpstring("IUIAnimationTransitionFactory2 Interface")
]
interface IUIAnimationTransitionFactory2 : IUnknown
{
HRESULT CreateTransition(
[in] IUIAnimationInterpolator2 *interpolator,
[out, retval] IUIAnimationTransition2 **transition
);
};
[
uuid(EA76AFF8-EA22-4A23-A0EF-A6A966703518),
helpstring("IUIAnimationInterpolator2 Interface")
]
interface IUIAnimationInterpolator2 : IUnknown
{
HRESULT GetDimension(
[out, retval] unsigned int *dimension
);
HRESULT SetInitialValueAndVelocity(
[in] double *initialValue,
[in] double *initialVelocity,
[in] unsigned int cDimension
);
HRESULT SetDuration(
[in] double duration
);
HRESULT GetDuration(
[out, retval] double *duration
);
HRESULT GetFinalValue(
[out] double *value,
[in] unsigned int cDimension
);
HRESULT InterpolateValue(
[in] double offset,
[out] double *value,
[in] unsigned int cDimension
);
HRESULT InterpolateVelocity(
[in] double offset,
[out] double *velocity,
[in] unsigned int cDimension
);
HRESULT GetPrimitiveInterpolation(
[in] IUIAnimationPrimitiveInterpolation *interpolation,
[in] unsigned int cDimension
);
HRESULT GetDependencies(
[out] UI_ANIMATION_DEPENDENCIES *initialValueDependencies,
[out] UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,
[out] UI_ANIMATION_DEPENDENCIES *durationDependencies
);
};
[
uuid(BAB20D63-4361-45DA-A24F-AB8508846B5B),
helpstring("IUIAnimationPrimitiveInterpolation Interface")
]
interface IUIAnimationPrimitiveInterpolation : IUnknown
{
HRESULT AddCubic(
[in] unsigned int dimension,
[in] double beginOffset,
[in] float constantCoefficient,
[in] float linearCoefficient,
[in] float quadraticCoefficient,
[in] float cubicCoefficient
);
HRESULT AddSinusoidal(
[in] unsigned int dimension,
[in] double beginOffset,
[in] float bias,
[in] float amplitude,
[in] float frequency,
[in] float phase
);
};
[
uuid(6B0EFAD1-A053-41D6-9085-33A689144665),
helpstring("IUIAnimationTimer Interface")
]
interface IUIAnimationTimer : IUnknown
{
HRESULT SetTimerUpdateHandler(
[in] IUIAnimationTimerUpdateHandler *updateHandler,
[in] UI_ANIMATION_IDLE_BEHAVIOR idleBehavior
);
HRESULT SetTimerEventHandler(
[in] IUIAnimationTimerEventHandler *handler
);
HRESULT Enable(void);
HRESULT Disable(void);
HRESULT IsEnabled(void);
HRESULT GetTime(
[out] double *seconds
);
HRESULT SetFrameRateThreshold(
[in] unsigned int framesPerSecond
);
};
[
uuid(195509B7-5D5E-4E3E-B278-EE3759B367AD),
helpstring("IUIAnimationTimerUpdateHandler Interface")
]
interface IUIAnimationTimerUpdateHandler : IUnknown
{
HRESULT OnUpdate(
[in] double timeNow,
[out, retval] UI_ANIMATION_UPDATE_RESULT *result
);
HRESULT SetTimerClientEventHandler(
[in] IUIAnimationTimerClientEventHandler *handler
);
HRESULT ClearTimerClientEventHandler(void);
};
[
uuid(BEDB4DB6-94FA-4BFB-A47F-EF2D9E408C25),
helpstring("IUIAnimationTimerClientEventHandler Interface")
]
interface IUIAnimationTimerClientEventHandler : IUnknown
{
HRESULT OnTimerClientStatusChanged(
[in] UI_ANIMATION_TIMER_CLIENT_STATUS newStatus,
[in] UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus
);
};
[
uuid(274A7DEA-D771-4095-ABBD-8DF7ABD23CE3),
helpstring("IUIAnimationTimerEventHandler Interface")
]
interface IUIAnimationTimerEventHandler : IUnknown
{
HRESULT OnPreUpdate(void);
HRESULT OnPostUpdate(void);
HRESULT OnRenderingTooSlow(
[in] UINT32 framesPerSecond
);
};