Discussion:
[Mingw-w64-public] [PATCH 2/2] Add 'Windows Animation Manager' IDL file
Ruslan Garipov
2017-07-13 15:04:25 UTC
Permalink
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.

Signed-off-by: Ruslan Garipov <***@gmail.com>
---
mingw-w64-headers/include/uianimation.idl | 1291 +++++++++++++++++++++++++++++
1 file changed, 1291 insertions(+)
create mode 100644 mingw-w64-headers/include/uianimation.idl
Jacek Caban
2017-07-13 15:26:58 UTC
Permalink
Hi Ruslan,
Post by Ruslan Garipov
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.
Thanks for the patch. I have a few comments.
Post by Ruslan Garipov
+/* Enumeration declarations. */
+enum __MIDL___MIDL_itf_UIAnimation_0000_0002_0002
+{
+ UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE = (int) 0xc000000,
+ UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY = (int) 0xc000001,
+ UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED = (int) 0xc000002,
+ UI_ANIMATION_SCHEDULING_SUCCEEDED = (int) 0xc000003,
+ UI_ANIMATION_SCHEDULING_DEFERRED = (int) 0xc000004
+};
This should be something like:

typedef [v1_enum] enum
{
// ...
} UI_ANIMATION_SCHEDULING_RESULT;

widl will add those weird decorations for you. Same for other enums.
Post by Ruslan Garipov
+/* Interface declarations. */
+[
+ uuid(9169896C-AC8D-4E7D-94E5-67FA4DC2F2E8),
+ helpstring("IUIAnimationManager Interface")
+]
+interface IUIAnimationManager : IUnknown
+{
+ [id(0x60010000)]
I think that's the default id that's used if there is no explicit id()
attribute. Please remove those, widl will take care of that for you.
Post by Ruslan Garipov
+ HRESULT __stdcall CreateAnimationVariable (
+ [in] double initialValue,
+ [out, retval] IUIAnimationVariable **variable
+ );
__stdcall is default for interface methods, so there is no need to
specify it. widl will do the right thing with those.


Thanks,
Jacek
Ruslan Garipov
2017-07-13 19:10:36 UTC
Permalink
This is the first commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64. COM identifiers of the WAM
classes and interfaces are defined in the 'uuid' library.

Signed-off-by: Ruslan Garipov <***@gmail.com>
---
This is updated header files (and Makefiles, untouched).

Jacek, sorry, but my Thunderbird messed about with in-reply-to header,
and I sent two previous messages (with updated IDL file) as replies to
my own initial post. Really, sorry for bothering. Hope you will find the
updated patch for the IDL file.

Please review.
---
mingw-w64-crt/Makefile.am | 18 +-
mingw-w64-crt/Makefile.in | 56 +-
mingw-w64-crt/libsrc/uianimation-uuid.c | 44 +
mingw-w64-headers/Makefile.am | 1 +
mingw-w64-headers/Makefile.in | 1 +
mingw-w64-headers/include/uianimation.h | 7299
+++++++++++++++++++++++++++++++
6 files changed, 7401 insertions(+), 18 deletions(-)
create mode 100644 mingw-w64-crt/libsrc/uianimation-uuid.c
create mode 100644 mingw-w64-headers/include/uianimation.h
Post by Jacek Caban
Hi Ruslan,
Post by Ruslan Garipov
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.
Thanks for the patch. I have a few comments.
Post by Ruslan Garipov
+/* Enumeration declarations. */
+enum __MIDL___MIDL_itf_UIAnimation_0000_0002_0002
+{
+ UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE = (int) 0xc000000,
+ UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY = (int) 0xc000001,
+ UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED = (int) 0xc000002,
+ UI_ANIMATION_SCHEDULING_SUCCEEDED = (int) 0xc000003,
+ UI_ANIMATION_SCHEDULING_DEFERRED = (int) 0xc000004
+};
typedef [v1_enum] enum
{
// ...
} UI_ANIMATION_SCHEDULING_RESULT;
widl will add those weird decorations for you. Same for other enums.
Post by Ruslan Garipov
+/* Interface declarations. */
+[
+ uuid(9169896C-AC8D-4E7D-94E5-67FA4DC2F2E8),
+ helpstring("IUIAnimationManager Interface")
+]
+interface IUIAnimationManager : IUnknown
+{
+ [id(0x60010000)]
I think that's the default id that's used if there is no explicit id()
attribute. Please remove those, widl will take care of that for you.
Post by Ruslan Garipov
+ HRESULT __stdcall CreateAnimationVariable (
+ [in] double initialValue,
+ [out, retval] IUIAnimationVariable **variable
+ );
__stdcall is default for interface methods, so there is no need to
specify it. widl will do the right thing with those.
Thanks,
Jacek
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
--
Yours truly,
Ruslan Garipov <ruslanngaripov at gmail dot com>.
----------------------------------------------
MinGW-w64 developer, with write after approval
GEDKeeper collaborator
Ruslan Garipov
2017-07-13 18:54:03 UTC
Permalink
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.

Signed-off-by: Ruslan Garipov <***@gmail.com>
---
Hi Jacek! Thanks for reviewing. I've implemented your proposals. And
also fixed erroneous values of the enum members ('genidl' wrote wrong
values there).

This is updated IDL file. The header and Makefiles come next.

Please review.
---
mingw-w64-headers/include/uianimation.idl | 1242
+++++++++++++++++++++++++++++
1 file changed, 1242 insertions(+)
create mode 100644 mingw-w64-headers/include/uianimation.idl
Ruslan Garipov
2017-07-19 03:34:06 UTC
Permalink
This is updated IDL file. I did not ping the patch with the header and
Makefiles -- firstly, one can find the updated patch for those files in
this list among recent messages, secondly, the header file is generated
from the IDL one without further modifications.

I'm sorry for bother, but I really need `WAM' being in mingw-w64 for my
current project.

Please review.
Post by Ruslan Garipov
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.
mingw-w64-headers/include/uianimation.idl | 1242
+++++++++++++++++++++++++++++
1 file changed, 1242 insertions(+)
create mode 100644 mingw-w64-headers/include/uianimation.idl
Ruslan Garipov
2017-07-13 19:00:33 UTC
Permalink
This is the second commit in the series that adds support of Windows
Animation Manager (WAM) into mingw-w64.

Signed-off-by: Ruslan Garipov <***@gmail.com>
---
Hi Jacek! Thanks for reviewing. I've implemented your proposals. And
also fixed erroneous values of the enum members ('genidl' wrote wrong
values there).

This is updated IDL file. The header and Makefiles come next.

(I messed the previous message up, sorry)

Please review.
---
mingw-w64-headers/include/uianimation.idl | 1242
+++++++++++++++++++++++++++++
1 file changed, 1242 insertions(+)
create mode 100644 mingw-w64-headers/include/uianimation.idl
Loading...