gecko-dev/taskcluster/scripts/misc/mingw-directmanip.patch

149 lines
6.6 KiB
Diff

From 408573e07a4aa5b28382320349b4977309c8296c Mon Sep 17 00:00:00 2001
From: Tom Ritter <tom@ritter.vg>
Date: Tue, 7 Feb 2023 16:14:33 -0500
Subject: [PATCH 10/10] Direct Manipulation
---
.../include/directmanipulation.h | 105 ++++++++++++++++++
1 file changed, 105 insertions(+)
diff --git a/mingw-w64-headers/include/directmanipulation.h b/mingw-w64-headers/include/directmanipulation.h
index 3658bda6d..892538b38 100644
--- a/mingw-w64-headers/include/directmanipulation.h
+++ b/mingw-w64-headers/include/directmanipulation.h
@@ -90,6 +90,14 @@ interface IDirectManipulationViewport2;
#endif /* __cplusplus */
#endif
+#ifndef __IDirectManipulationInteractionEventHandler_FWD_DEFINED__
+#define __IDirectManipulationInteractionEventHandler_FWD_DEFINED__
+typedef interface IDirectManipulationInteractionEventHandler IDirectManipulationInteractionEventHandler;
+#ifdef __cplusplus
+interface IDirectManipulationInteractionEventHandler;
+#endif /* __cplusplus */
+#endif
+
#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
@@ -170,6 +178,14 @@ extern "C" {
#if 0
typedef void *HWND;
#endif
+#ifndef __IDirectManipulationInteractionEventHandler_FWD_DEFINED__
+#define __IDirectManipulationInteractionEventHandler_FWD_DEFINED__
+typedef interface IDirectManipulationInteractionEventHandler IDirectManipulationInteractionEventHandler;
+#ifdef __cplusplus
+interface IDirectManipulationInteractionEventHandler;
+#endif /* __cplusplus */
+#endif
+
#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
@@ -222,6 +238,16 @@ typedef enum DIRECTMANIPULATION_GESTURE_CONFIGURATION {
DIRECTMANIPULATION_GESTURE_PINCH_ZOOM = 0x20
} DIRECTMANIPULATION_GESTURE_CONFIGURATION;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_GESTURE_CONFIGURATION)
+typedef enum DIRECTMANIPULATION_INTERACTION_TYPE {
+ DIRECTMANIPULATION_INTERACTION_BEGIN = 0x0,
+ DIRECTMANIPULATION_INTERACTION_TYPE_MANIPULATION = 0x1,
+ DIRECTMANIPULATION_INTERACTION_TYPE_GESTURE_TAP = 0x2,
+ DIRECTMANIPULATION_INTERACTION_TYPE_GESTURE_HOLD = 0x3,
+ DIRECTMANIPULATION_INTERACTION_TYPE_GESTURE_CROSS_SLIDE = 0x4,
+ DIRECTMANIPULATION_INTERACTION_TYPE_GESTURE_PINCH_ZOOM = 0x5,
+ DIRECTMANIPULATION_INTERACTION_END = 0x64
+} DIRECTMANIPULATION_INTERACTION_TYPE;
+DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_INTERACTION_TYPE)
typedef enum DIRECTMANIPULATION_MOTION_TYPES {
DIRECTMANIPULATION_MOTION_NONE = 0x0,
DIRECTMANIPULATION_MOTION_TRANSLATEX = 0x1,
@@ -1697,6 +1723,85 @@ static __WIDL_INLINE HRESULT IDirectManipulationViewport2_RemoveAllBehaviors(IDi
#endif /* __IDirectManipulationViewport2_INTERFACE_DEFINED__ */
+/*****************************************************************************
+ * IDirectManipulationInteractionEventHandler interface
+ */
+#ifndef __IDirectManipulationInteractionEventHandler_INTERFACE_DEFINED__
+#define __IDirectManipulationInteractionEventHandler_INTERFACE_DEFINED__
+
+DEFINE_GUID(IID_IDirectManipulationInteractionEventHandler, 0xe43f45b8, 0x42b4, 0x403e, 0xb1, 0xf2, 0x27, 0x3b, 0x8f, 0x51, 0x08, 0x30);
+#if defined(__cplusplus) && !defined(CINTERFACE)
+MIDL_INTERFACE("e43f45b8-42b4-403e-b1f2-273b8f510830")
+IDirectManipulationInteractionEventHandler : public IUnknown
+{
+ virtual HRESULT STDMETHODCALLTYPE OnInteraction(
+ IDirectManipulationViewport2 *viewport,
+ DIRECTMANIPULATION_INTERACTION_TYPE interaction) = 0;
+
+};
+#ifdef __CRT_UUID_DECL
+__CRT_UUID_DECL(IDirectManipulationInteractionEventHandler, 0xe43f45b8, 0x42b4, 0x403e, 0xb1, 0xf2, 0x27, 0x3b, 0x8f, 0x51, 0x08, 0x30)
+#endif
+#else
+typedef struct IDirectManipulationInteractionEventHandlerVtbl {
+ BEGIN_INTERFACE
+
+ /*** IUnknown methods ***/
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
+ IDirectManipulationInteractionEventHandler *This,
+ REFIID riid,
+ void **ppvObject);
+
+ ULONG (STDMETHODCALLTYPE *AddRef)(
+ IDirectManipulationInteractionEventHandler *This);
+
+ ULONG (STDMETHODCALLTYPE *Release)(
+ IDirectManipulationInteractionEventHandler *This);
+
+ /*** IDirectManipulationInteractionEventHandler methods ***/
+ HRESULT (STDMETHODCALLTYPE *OnInteraction)(
+ IDirectManipulationInteractionEventHandler *This,
+ IDirectManipulationViewport2 *viewport,
+ DIRECTMANIPULATION_INTERACTION_TYPE interaction);
+
+ END_INTERFACE
+} IDirectManipulationInteractionEventHandlerVtbl;
+
+interface IDirectManipulationInteractionEventHandler {
+ CONST_VTBL IDirectManipulationInteractionEventHandlerVtbl* lpVtbl;
+};
+
+#ifdef COBJMACROS
+#ifndef WIDL_C_INLINE_WRAPPERS
+/*** IUnknown methods ***/
+#define IDirectManipulationInteractionEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
+#define IDirectManipulationInteractionEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
+#define IDirectManipulationInteractionEventHandler_Release(This) (This)->lpVtbl->Release(This)
+/*** IDirectManipulationInteractionEventHandler methods ***/
+#define IDirectManipulationInteractionEventHandler_OnInteraction(This,viewport,interaction) (This)->lpVtbl->OnInteraction(This,viewport,interaction)
+#else
+/*** IUnknown methods ***/
+static __WIDL_INLINE HRESULT IDirectManipulationInteractionEventHandler_QueryInterface(IDirectManipulationInteractionEventHandler* This,REFIID riid,void **ppvObject) {
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
+}
+static __WIDL_INLINE ULONG IDirectManipulationInteractionEventHandler_AddRef(IDirectManipulationInteractionEventHandler* This) {
+ return This->lpVtbl->AddRef(This);
+}
+static __WIDL_INLINE ULONG IDirectManipulationInteractionEventHandler_Release(IDirectManipulationInteractionEventHandler* This) {
+ return This->lpVtbl->Release(This);
+}
+/*** IDirectManipulationInteractionEventHandler methods ***/
+static __WIDL_INLINE HRESULT IDirectManipulationInteractionEventHandler_OnInteraction(IDirectManipulationInteractionEventHandler* This,IDirectManipulationViewport2 *viewport,DIRECTMANIPULATION_INTERACTION_TYPE interaction) {
+ return This->lpVtbl->OnInteraction(This,viewport,interaction);
+}
+#endif
+#endif
+
+#endif
+
+
+#endif /* __IDirectManipulationInteractionEventHandler_INTERFACE_DEFINED__ */
+
/*****************************************************************************
* IDirectManipulationViewportEventHandler interface
*/
--
2.25.1