[PATCH] include: Add uianimation.idl
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu Sep 21 21:14:01 CDT 2017
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
include/Makefile.in | 1 +
include/uianimation.idl | 242 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 243 insertions(+)
create mode 100644 include/uianimation.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index 6bc63de..3eb974e 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -165,6 +165,7 @@ IDL_SRCS = \
transact.idl \
txcoord.idl \
txdtc.idl \
+ uianimation.idl \
uiautomationclient.idl \
uiautomationcore.idl \
uiribbon.idl \
diff --git a/include/uianimation.idl b/include/uianimation.idl
new file mode 100644
index 0000000..e7fd7ce
--- /dev/null
+++ b/include/uianimation.idl
@@ -0,0 +1,242 @@
+/*
+ * Copyright 2017 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+import "wtypes.idl";
+import "unknwn.idl";
+
+interface IUIAnimationStoryboard;
+interface IUIAnimationVariable;
+
+typedef DOUBLE UI_ANIMATION_SECONDS;
+typedef struct { int _; } *UI_ANIMATION_KEYFRAME;
+
+typedef enum
+{
+ UI_ANIMATION_MANAGER_IDLE = 0,
+ UI_ANIMATION_MANAGER_BUSY = 1
+} UI_ANIMATION_MANAGER_STATUS;
+
+typedef enum
+{
+ UI_ANIMATION_ROUNDING_NEAREST = 0,
+ UI_ANIMATION_ROUNDING_FLOOR = 1,
+ UI_ANIMATION_ROUNDING_CEILING = 2
+} UI_ANIMATION_ROUNDING_MODE;
+
+typedef 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 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;
+
+[
+ local,
+ object,
+ uuid(783321ed-78a3-4366-b574-6af607a64788),
+ pointer_default(unique)
+]
+interface IUIAnimationManagerEventHandler : IUnknown
+{
+ HRESULT OnManagerStatusChanged (
+ [in] UI_ANIMATION_MANAGER_STATUS status,
+ [in] UI_ANIMATION_MANAGER_STATUS prev_status);
+}
+
+[
+ local,
+ object,
+ uuid(6358b7ba-87d2-42d5-bf71-82e919dd5862),
+ pointer_default(unique)
+]
+interface IUIAnimationVariableChangeHandler : IUnknown
+{
+ HRESULT OnValueChanged (
+ [in] IUIAnimationStoryboard *storyboard,
+ [in] IUIAnimationVariable *variable,
+ [in] DOUBLE value,
+ [in] DOUBLE prev_value);
+}
+
+[
+ local,
+ object,
+ uuid(bb3e1550-356e-44b0-99da-85ac6017865e),
+ pointer_default(unique)
+]
+interface IUIAnimationVariableIntegerChangeHandler : IUnknown
+{
+ HRESULT OnIntegerValueChanged (
+ [in] IUIAnimationStoryboard *storyboard,
+ [in] IUIAnimationVariable *variable,
+ [in] INT32 value,
+ [in] INT32 prev_value);
+}
+
+[
+ local,
+ object,
+ uuid(3d5c9008-ec7c-4364-9f8a-9af3c58cbae6),
+ pointer_default(unique)
+]
+interface IUIAnimationStoryboardEventHandler : IUnknown
+{
+ HRESULT OnStoryboardStatusChanged (
+ [in] IUIAnimationStoryboard *storyboard,
+ [in] UI_ANIMATION_STORYBOARD_STATUS status,
+ [in] UI_ANIMATION_STORYBOARD_STATUS prev_status);
+
+ HRESULT OnStoryboardUpdated ([in] IUIAnimationStoryboard *storyboard);
+}
+
+[
+ local,
+ object,
+ uuid(dc6ce252-f731-41cf-b610-614b6ca049ad),
+ pointer_default(unique)
+]
+interface IUIAnimationTransition : IUnknown
+{
+ HRESULT SetInitialValue ([in] DOUBLE value);
+
+ HRESULT SetInitialVelocity ([in] DOUBLE velocity);
+
+ HRESULT IsDurationKnown ();
+
+ HRESULT GetDuration ([out, retval] UI_ANIMATION_SECONDS *duration);
+}
+
+[
+ local,
+ object,
+ uuid(8ceeb155-2849-4ce5-9448-91ff70e1e4d9),
+ pointer_default(unique)
+]
+interface IUIAnimationVariable : IUnknown
+{
+ HRESULT GetValue ([out, retval] DOUBLE *value);
+
+ HRESULT GetFinalValue ([out, retval] DOUBLE *value);
+
+ HRESULT GetPreviousValue ([out, retval] DOUBLE *value);
+
+ HRESULT GetIntegerValue ([out, retval] INT32 *value);
+
+ HRESULT GetFinalIntegerValue ([out, retval] INT32 *value);
+
+ HRESULT GetPreviousIntegerValue ([out, retval] INT32 *value);
+
+ 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] UINT32 id);
+
+ HRESULT GetTag (
+ [out] IUnknown **object,
+ [out] UINT32 *id);
+
+ HRESULT SetVariableChangeHandler ([in, unique] IUIAnimationVariableChangeHandler *handler);
+
+ HRESULT SetVariableIntegerChangeHandler ([in, unique] IUIAnimationVariableIntegerChangeHandler *handler);
+}
+
+[
+ local,
+ object,
+ uuid(a8ff128f-9bf9-4af1-9e67-e5e410defb84),
+ pointer_default(unique)
+]
+interface IUIAnimationStoryboard : IUnknown
+{
+ HRESULT AddTransition (
+ [in] IUIAnimationVariable *variable,
+ [in] IUIAnimationTransition *transition);
+
+ HRESULT AddKeyframeAtOffset (
+ [in] UI_ANIMATION_KEYFRAME existingframe,
+ [in] UI_ANIMATION_SECONDS 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 start_key);
+
+ HRESULT AddTransitionBetweenKeyframes (
+ [in] IUIAnimationVariable *variable,
+ [in] IUIAnimationTransition *transition,
+ [in] UI_ANIMATION_KEYFRAME start_key,
+ [in] UI_ANIMATION_KEYFRAME end_key);
+
+ HRESULT RepeatBetweenKeyframes (
+ [in] UI_ANIMATION_KEYFRAME start_key,
+ [in] UI_ANIMATION_KEYFRAME end_key,
+ [in] INT32 count);
+
+ HRESULT HoldVariable ([in] IUIAnimationVariable *variable);
+
+ HRESULT SetLongestAcceptableDelay ([in] UI_ANIMATION_SECONDS delay);
+
+ HRESULT Schedule (
+ [in] UI_ANIMATION_SECONDS now,
+ [out, defaultvalue(0)] UI_ANIMATION_SCHEDULING_RESULT *result);
+
+ HRESULT Conclude ();
+
+ HRESULT Finish ([in] UI_ANIMATION_SECONDS deadline);
+
+ HRESULT Abandon ();
+
+ HRESULT SetTag(
+ [in, unique] IUnknown *object,
+ [in] UINT32 id);
+
+ HRESULT GetTag (
+ [out] IUnknown **object,
+ [out] UINT32 *id);
+
+ HRESULT GetStatus ([out, retval] UI_ANIMATION_STORYBOARD_STATUS *status);
+
+ HRESULT GetElapsedTime ([out] UI_ANIMATION_SECONDS *elapsed);
+
+ HRESULT SetStoryboardEventHandler ([in, unique] IUIAnimationStoryboardEventHandler *handler);
+}
--
1.9.1
More information about the wine-patches
mailing list