mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-06 19:29:24 +02:00
149 lines
6.6 KiB
Diff
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
|
|
|