wine-staging/patches/directmanipulation-new-dll/0001-include-Add-directmanipulation.idl.patch
2019-07-18 11:44:22 +10:00

137 lines
4.1 KiB
Diff

From 61033f8cde29e03787076b06c638ae5e7af7d02a Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 17 Jul 2019 08:17:16 +1000
Subject: [PATCH 1/4] include: Add directmanipulation.idl
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
---
include/Makefile.in | 1 +
include/directmanipulation.idl | 103 +++++++++++++++++++++++++++++++++
2 files changed, 104 insertions(+)
create mode 100644 include/directmanipulation.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index 69135879a9..a7fd4dc929 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -199,6 +199,7 @@ SOURCES = \
dimm.idl \
dinput.h \
dinputd.h \
+ directmanipulation.idl \
dispdib.h \
dispex.idl \
dlgs.h \
diff --git a/include/directmanipulation.idl b/include/directmanipulation.idl
new file mode 100644
index 0000000000..9dc2366cc3
--- /dev/null
+++ b/include/directmanipulation.idl
@@ -0,0 +1,103 @@
+/*
+ * Copyright 2019 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 "oaidl.idl";
+import "ocidl.idl";
+
+cpp_quote("#if 0")
+typedef void* HWND;
+cpp_quote("#endif")
+
+typedef enum DIRECTMANIPULATION_HITTEST_TYPE
+{
+ DIRECTMANIPULATION_HITTEST_TYPE_ASYNCHRONOUS = 0x00000000,
+ DIRECTMANIPULATION_HITTEST_TYPE_SYNCHRONOUS = 0x00000001,
+ DIRECTMANIPULATION_HITTEST_TYPE_AUTO_SYNCHRONOUS = 0x00000002
+} DIRECTMANIPULATION_HITTEST_TYPE;
+
+[
+ local,
+ object,
+ uuid(fb759dba-6f4c-4c01-874e-19c8a05907f9),
+ pointer_default(unique)
+]
+interface IDirectManipulationFrameInfoProvider : IUnknown
+{
+ HRESULT GetNextFrameInfo([out] ULONGLONG *time, [out] ULONGLONG *process, [out] ULONGLONG *composition);
+}
+
+[
+ local,
+ object,
+ uuid(fbf5d3b4-70c7-4163-9322-5a6f660d6fbc),
+ pointer_default(unique)
+]
+interface IDirectManipulationManager : IUnknown
+{
+ HRESULT Activate([in] HWND window);
+
+ HRESULT Deactivate([in] HWND window);
+
+ HRESULT RegisterHitTestTarget([in] HWND window, [in] HWND hittest, [in] DIRECTMANIPULATION_HITTEST_TYPE type);
+
+ HRESULT ProcessInput([in] const MSG *msg, [out, retval] BOOL *handled);
+
+ HRESULT GetUpdateManager([in] REFIID riid, [out, iid_is(riid), retval,] void **obj);
+
+ HRESULT CreateViewport([in] IDirectManipulationFrameInfoProvider *frame, [in] HWND window,
+ [in] REFIID riid, [out, iid_is(riid), retval] void **obj);
+
+ HRESULT CreateContent([in] IDirectManipulationFrameInfoProvider *frame, [in] REFCLSID clsid,
+ [in] REFIID riid, [out, iid_is(riid), retval] void **obj);
+}
+
+[
+ local,
+ object,
+ uuid(fa1005e9-3d16-484c-bfc9-62b61e56ec4e),
+ pointer_default(unique)
+]
+interface IDirectManipulationManager2 : IDirectManipulationManager
+{
+ HRESULT CreateBehavior([in] REFCLSID clsid, [in] REFIID riid, [out, iid_is(riid), retval] void **obj);
+}
+
+[
+ uuid(9fbedf98-f6d8-4e3b-b488-fa66dbf5e9f3),
+ version(1.0)
+]
+library DirectManipulation
+{
+ [
+ uuid(54e211b6-3650-4f75-8334-fa359598e1c5)
+ ]
+ coclass DirectManipulationManager
+ {
+ interface IDirectManipulationManager2;
+ [default] interface IDirectManipulationManager;
+ }
+
+ [
+ uuid(99793286-77cc-4b57-96db-3b354f6f9fb5)
+ ]
+ coclass DirectManipulationSharedManager
+ {
+ interface IDirectManipulationManager2;
+ [default] interface IDirectManipulationManager;
+ }
+}
--
2.17.1