wine-staging/patches/directmanipulation-new-dll/0014-include-Add-IDirectManipulationPrimaryContent-interf.patch

92 lines
3.5 KiB
Diff
Raw Normal View History

From 34c03e1857d977ef7ec913628a358092f749394b Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 31 Jul 2019 10:03:26 +1000
Subject: [PATCH 2/4] include: Add IDirectManipulationPrimaryContent interface
---
include/directmanipulation.idl | 61 ++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/include/directmanipulation.idl b/include/directmanipulation.idl
index 443b31a0ce..a49f368d11 100644
--- a/include/directmanipulation.idl
+++ b/include/directmanipulation.idl
@@ -88,6 +88,39 @@ typedef enum DIRECTMANIPULATION_MOTION_TYPES
DIRECTMANIPULATION_MOTION_CENTERY
} DIRECTMANIPULATION_MOTION_TYPES;
+typedef enum DIRECTMANIPULATION_SNAPPOINT_TYPE
+{
+ DIRECTMANIPULATION_SNAPPOINT_MANDATORY = 0,
+ DIRECTMANIPULATION_SNAPPOINT_OPTIONAL = 1,
+ DIRECTMANIPULATION_SNAPPOINT_MANDATORY_SINGLE = 2,
+ DIRECTMANIPULATION_SNAPPOINT_OPTIONAL_SINGLE = 3
+} DIRECTMANIPULATION_SNAPPOINT_TYPE;
+
+typedef enum DIRECTMANIPULATION_SNAPPOINT_COORDINATE
+{
+ DIRECTMANIPULATION_COORDINATE_BOUNDARY = 0x00,
+ DIRECTMANIPULATION_COORDINATE_ORIGIN = 0x01,
+ DIRECTMANIPULATION_COORDINATE_MIRRORED = 0x10
+} DIRECTMANIPULATION_SNAPPOINT_COORDINATE;
+
+typedef enum DIRECTMANIPULATION_HORIZONTALALIGNMENT
+{
+ DIRECTMANIPULATION_HORIZONTALALIGNMENT_NONE = 0x00,
+ DIRECTMANIPULATION_HORIZONTALALIGNMENT_LEFT = 0x01,
+ DIRECTMANIPULATION_HORIZONTALALIGNMENT_CENTER = 0x02,
+ DIRECTMANIPULATION_HORIZONTALALIGNMENT_RIGHT = 0x04,
+ DIRECTMANIPULATION_HORIZONTALALIGNMENT_UNLOCKCENTER = 0x08
+} DIRECTMANIPULATION_HORIZONTALALIGNMENT;
+
+typedef enum DIRECTMANIPULATION_VERTICALALIGNMENT
+{
+ DIRECTMANIPULATION_VERTICALALIGNMENT_NONE = 0x00,
+ DIRECTMANIPULATION_VERTICALALIGNMENT_TOP = 0x01,
+ DIRECTMANIPULATION_VERTICALALIGNMENT_CENTER = 0x02,
+ DIRECTMANIPULATION_VERTICALALIGNMENT_BOTTOM = 0x04,
+ DIRECTMANIPULATION_VERTICALALIGNMENT_UNLOCKCENTER = 0x08
+} DIRECTMANIPULATION_VERTICALALIGNMENT;
+
typedef enum DIRECTMANIPULATION_INPUT_MODE
{
DIRECTMANIPULATION_INPUT_MODE_AUTOMATIC = 0,
@@ -309,6 +342,34 @@ interface IDirectManipulationManager2 : IDirectManipulationManager
HRESULT CreateBehavior([in] REFCLSID clsid, [in] REFIID riid, [out, iid_is(riid), retval] void **obj);
}
+[
+ local,
+ object,
+ uuid(c12851e4-1698-4625-b9b1-7ca3ec18630b),
+ pointer_default(unique)
+]
+interface IDirectManipulationPrimaryContent : IUnknown
+{
+ HRESULT SetSnapInterval([in] DIRECTMANIPULATION_MOTION_TYPES motion, [in] float interval, [in] float offset);
+
+ HRESULT SetSnapPoints([in] DIRECTMANIPULATION_MOTION_TYPES motion, [in] const float *points, [in] DWORD count);
+
+ HRESULT SetSnapType([in] DIRECTMANIPULATION_MOTION_TYPES motion, [in] DIRECTMANIPULATION_SNAPPOINT_TYPE type);
+
+ HRESULT SetSnapCoordinate([in] DIRECTMANIPULATION_MOTION_TYPES motion, [in] DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,
+ [in] float origin);
+
+ HRESULT SetZoomBoundaries([in] float minimum, [in] float maximum);
+
+ HRESULT SetHorizontalAlignment([in] DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment);
+
+ HRESULT SetVerticalAlignment([in] DIRECTMANIPULATION_VERTICALALIGNMENT alignment);
+
+ HRESULT GetInertiaEndTransform([out] float *matrix, [in] DWORD count);
+
+ HRESULT GetCenterPoint([out] float *x, [out] float *y);
+}
+
[
uuid(9fbedf98-f6d8-4e3b-b488-fa66dbf5e9f3),
version(1.0)
--
2.17.1