2019-07-18 16:13:30 -07:00
|
|
|
From c61d77e4a22c35890ac4cc789a879d6a70a942e2 Mon Sep 17 00:00:00 2001
|
2019-07-17 18:44:22 -07:00
|
|
|
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
|
|
|
Date: Wed, 17 Jul 2019 08:17:16 +1000
|
2019-07-18 16:13:30 -07:00
|
|
|
Subject: [PATCH 1/6] include: Add directmanipulation.idl
|
2019-07-17 18:44:22 -07:00
|
|
|
|
|
|
|
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
|
|
|
|
|