[PATCH 1/1] include: Add touch and pointer input related winuser.h declarations.
Rémi Bernon
wine at gitlab.winehq.org
Wed Jun 1 04:52:11 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
include/winuser.h | 368 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 362 insertions(+), 6 deletions(-)
diff --git a/include/winuser.h b/include/winuser.h
index fd3ea879731..4e43d6c1170 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -665,6 +665,8 @@ typedef struct tagGESTURECONFIG {
#define GESTURECONFIGMAXCOUNT 256
+#define GCF_INCLUDE_ANCESTORS 0x00000001
+
#define GID_BEGIN 1
#define GID_END 2
#define GID_ZOOM 3
@@ -1059,6 +1061,8 @@ WINUSERAPI BOOL WINAPI SetSysColors(INT,const INT*,const COLORREF*);
#define SM_CMETRICS 90
#define SM_MOUSEHORIZONTALWHEELPRESENT 91
#define SM_CXPADDEDBORDER 92
+#define SM_DIGITIZER 94
+#define SM_MAXIMUMTOUCHES 95
#define SM_REMOTESESSION 0x1000
#define SM_SHUTTINGDOWN 0x2000
@@ -2490,6 +2494,14 @@ typedef struct tagDROPSTRUCT
#define SPI_SETFOCUSBORDERHEIGHT 0x2011
#define SPI_GETFONTSMOOTHINGORIENTATION 0x2012
#define SPI_SETFONTSMOOTHINGORIENTATION 0x2013
+#define SPI_GETCONTACTVISUALIZATION 0x2018
+#define SPI_SETCONTACTVISUALIZATION 0x2019
+#define SPI_GETGESTUREVISUALIZATION 0x201A
+#define SPI_SETGESTUREVISUALIZATION 0x201B
+#define SPI_GETPENVISUALIZATION 0x201E
+#define SPI_SETPENVISUALIZATION 0x201F
+#define SPI_GETPENARBITRATIONTYPE 0x2020
+#define SPI_SETPENARBITRATIONTYPE 0x2021
#define FE_FONTSMOOTHINGSTANDARD 0x0001
#define FE_FONTSMOOTHINGCLEARTYPE 0x0002
@@ -2498,6 +2510,30 @@ typedef struct tagDROPSTRUCT
#define FE_FONTSMOOTHINGORIENTATIONBGR 0x0000
#define FE_FONTSMOOTHINGORIENTATIONRGB 0x0001
+#define CONTACTVISUALIZATION_OFF 0x0000
+#define CONTACTVISUALIZATION_ON 0x0001
+#define CONTACTVISUALIZATION_PRESENTATIONMODE 0x0002
+
+#define GESTUREVISUALIZATION_OFF 0x0000
+#define GESTUREVISUALIZATION_ON 0x001F
+#define GESTUREVISUALIZATION_TAP 0x0001
+#define GESTUREVISUALIZATION_DOUBLETAP 0x0002
+#define GESTUREVISUALIZATION_PRESSANDTAP 0x0004
+#define GESTUREVISUALIZATION_PRESSANDHOLD 0x0008
+#define GESTUREVISUALIZATION_RIGHTTAP 0x0010
+
+#define PENVISUALIZATION_ON 0x0023
+#define PENVISUALIZATION_OFF 0x0000
+#define PENVISUALIZATION_TAP 0x0001
+#define PENVISUALIZATION_DOUBLETAP 0x0002
+#define PENVISUALIZATION_CURSOR 0x0020
+
+#define PENARBITRATIONTYPE_NONE 0x0000
+#define PENARBITRATIONTYPE_WIN8 0x0001
+#define PENARBITRATIONTYPE_FIS 0x0002
+#define PENARBITRATIONTYPE_SPT 0x0003
+#define PENARBITRATIONTYPE_MAX 0x0004
+
#define SETWALLPAPER_DEFAULT ((LPWSTR)-1)
/* SystemParametersInfo flags */
@@ -2962,7 +2998,9 @@ typedef struct tagTRACKMOUSEEVENT {
#define QS_HOTKEY 0x0080
#define QS_ALLPOSTMESSAGE 0x0100
#define QS_RAWINPUT 0x0400
-#define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT)
+#define QS_TOUCH 0x0800
+#define QS_POINTER 0x1000
+#define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER)
#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY)
#define QS_ALLINPUT (QS_ALLEVENTS | QS_SENDMESSAGE)
@@ -3404,12 +3442,20 @@ typedef TOUCHINPUT const * PCTOUCHINPUT;
#define TOUCHEVENTF_PEN 0x0040
#define TOUCHEVENTF_PALM 0x0080
+#define TOUCHINPUTMASKF_TIMEFROMSYSTEM 0x0001
+#define TOUCHINPUTMASKF_EXTRAINFO 0x0002
+#define TOUCHINPUTMASKF_CONTACTAREA 0x0004
+
#define TWF_FINETOUCH 0x0001
#define TWF_WANTPALM 0x0002
/* Gesture definitions */
DECLARE_HANDLE(HGESTUREINFO);
+#define GF_BEGIN 0x00000001
+#define GF_INERTIA 0x00000002
+#define GF_END 0x00000004
+
typedef struct tagGESTUREINFO {
UINT cbSize;
DWORD dwFlags;
@@ -3423,8 +3469,33 @@ typedef struct tagGESTUREINFO {
} GESTUREINFO, *PGESTUREINFO;
typedef GESTUREINFO const * PCGESTUREINFO;
+typedef struct tagGESTURENOTIFYSTRUCT
+{
+ UINT cbSize;
+ DWORD dwFlags;
+ HWND hwndTarget;
+ POINTS ptsLocation;
+ DWORD dwInstanceID;
+} GESTURENOTIFYSTRUCT, *PGESTURENOTIFYSTRUCT;
+
+#define GID_ROTATE_ANGLE_TO_ARGUMENT(a) ((USHORT)((((a) + 2. * M_PI) / (4. * M_PI)) * 65535.))
+#define GID_ROTATE_ANGLE_FROM_ARGUMENT(a) ((((double)(a) / 65535.) * 4. * M_PI) - 2. * M_PI)
+
#define POINTER_DEVICE_PRODUCT_STRING_MAX 520
+#define PDC_ARRIVAL 0x0001
+#define PDC_REMOVAL 0x0002
+#define PDC_ORIENTATION_0 0x0004
+#define PDC_ORIENTATION_90 0x0008
+#define PDC_ORIENTATION_180 0x0010
+#define PDC_ORIENTATION_270 0x0020
+#define PDC_MODE_DEFAULT 0x0040
+#define PDC_MODE_CENTERED 0x0080
+#define PDC_MAPPING_CHANGE 0x0100
+#define PDC_RESOLUTION 0x0200
+#define PDC_ORIGIN 0x0400
+#define PDC_MODE_ASPECTRATIOPRESERVED 0x0800
+
typedef enum tagPOINTER_DEVICE_TYPE {
POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001,
POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002,
@@ -3443,15 +3514,260 @@ typedef struct tagPOINTER_DEVICE_INFO {
WCHAR productString[POINTER_DEVICE_PRODUCT_STRING_MAX];
} POINTER_DEVICE_INFO;
+typedef struct tagPOINTER_DEVICE_PROPERTY
+{
+ INT32 logicalMin;
+ INT32 logicalMax;
+ INT32 physicalMin;
+ INT32 physicalMax;
+ UINT32 unit;
+ UINT32 unitExponent;
+ USHORT usagePageId;
+ USHORT usageId;
+} POINTER_DEVICE_PROPERTY;
+
+typedef enum tagPOINTER_DEVICE_CURSOR_TYPE
+{
+ POINTER_DEVICE_CURSOR_TYPE_UNKNOWN = 0x00000000,
+ POINTER_DEVICE_CURSOR_TYPE_TIP = 0x00000001,
+ POINTER_DEVICE_CURSOR_TYPE_ERASER = 0x00000002,
+ POINTER_DEVICE_CURSOR_TYPE_MAX = 0xFFFFFFFF,
+} POINTER_DEVICE_CURSOR_TYPE;
+
+typedef struct tagPOINTER_DEVICE_CURSOR_INFO
+{
+ UINT32 cursorId;
+ POINTER_DEVICE_CURSOR_TYPE cursor;
+} POINTER_DEVICE_CURSOR_INFO;
+
enum tagPOINTER_INPUT_TYPE
{
PT_POINTER = 1,
- PT_TOUCH,
- PT_PEN,
- PT_MOUSE,
- PT_TOUCHPAD,
+ PT_TOUCH = 2,
+ PT_PEN = 3,
+ PT_MOUSE = 4,
+ PT_TOUCHPAD = 5,
};
typedef DWORD POINTER_INPUT_TYPE;
+typedef UINT32 POINTER_FLAGS;
+
+#define POINTER_FLAG_NONE 0x00000000
+#define POINTER_FLAG_NEW 0x00000001
+#define POINTER_FLAG_INRANGE 0x00000002
+#define POINTER_FLAG_INCONTACT 0x00000004
+#define POINTER_FLAG_FIRSTBUTTON 0x00000010
+#define POINTER_FLAG_SECONDBUTTON 0x00000020
+#define POINTER_FLAG_THIRDBUTTON 0x00000040
+#define POINTER_FLAG_FOURTHBUTTON 0x00000080
+#define POINTER_FLAG_FIFTHBUTTON 0x00000100
+#define POINTER_FLAG_PRIMARY 0x00002000
+#define POINTER_FLAG_CONFIDENCE 0x00004000
+#define POINTER_FLAG_CANCELED 0x00008000
+#define POINTER_FLAG_DOWN 0x00010000
+#define POINTER_FLAG_UPDATE 0x00020000
+#define POINTER_FLAG_UP 0x00040000
+#define POINTER_FLAG_WHEEL 0x00080000
+#define POINTER_FLAG_HWHEEL 0x00100000
+#define POINTER_FLAG_CAPTURECHANGED 0x00200000
+#define POINTER_FLAG_HASTRANSFORM 0x00400000
+
+#define POINTER_MOD_SHIFT 0x0004
+#define POINTER_MOD_CTRL 0x0008
+
+typedef enum tagPOINTER_BUTTON_CHANGE_TYPE
+{
+ POINTER_CHANGE_NONE,
+ POINTER_CHANGE_FIRSTBUTTON_DOWN,
+ POINTER_CHANGE_FIRSTBUTTON_UP,
+ POINTER_CHANGE_SECONDBUTTON_DOWN,
+ POINTER_CHANGE_SECONDBUTTON_UP,
+ POINTER_CHANGE_THIRDBUTTON_DOWN,
+ POINTER_CHANGE_THIRDBUTTON_UP,
+ POINTER_CHANGE_FOURTHBUTTON_DOWN,
+ POINTER_CHANGE_FOURTHBUTTON_UP,
+ POINTER_CHANGE_FIFTHBUTTON_DOWN,
+ POINTER_CHANGE_FIFTHBUTTON_UP,
+} POINTER_BUTTON_CHANGE_TYPE;
+
+typedef struct tagPOINTER_INFO
+{
+ POINTER_INPUT_TYPE pointerType;
+ UINT32 pointerId;
+ UINT32 frameId;
+ POINTER_FLAGS pointerFlags;
+ HANDLE sourceDevice;
+ HWND hwndTarget;
+ POINT ptPixelLocation;
+ POINT ptHimetricLocation;
+ POINT ptPixelLocationRaw;
+ POINT ptHimetricLocationRaw;
+ DWORD dwTime;
+ UINT32 historyCount;
+ INT32 InputData;
+ DWORD dwKeyStates;
+ UINT64 PerformanceCount;
+ POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
+} POINTER_INFO;
+
+typedef UINT32 TOUCH_FLAGS;
+#define TOUCH_FLAG_NONE 0x00000000
+
+typedef UINT32 TOUCH_MASK;
+#define TOUCH_MASK_NONE 0x00000000
+#define TOUCH_MASK_CONTACTAREA 0x00000001
+#define TOUCH_MASK_ORIENTATION 0x00000002
+#define TOUCH_MASK_PRESSURE 0x00000004
+
+typedef struct tagPOINTER_TOUCH_INFO
+{
+ POINTER_INFO pointerInfo;
+ TOUCH_FLAGS touchFlags;
+ TOUCH_MASK touchMask;
+ RECT rcContact;
+ RECT rcContactRaw;
+ UINT32 orientation;
+ UINT32 pressure;
+} POINTER_TOUCH_INFO;
+
+typedef UINT32 PEN_FLAGS;
+#define PEN_FLAG_NONE 0x00000000
+#define PEN_FLAG_BARREL 0x00000001
+#define PEN_FLAG_INVERTED 0x00000002
+#define PEN_FLAG_ERASER 0x00000004
+
+typedef UINT32 PEN_MASK;
+#define PEN_MASK_NONE 0x00000000
+#define PEN_MASK_PRESSURE 0x00000001
+#define PEN_MASK_ROTATION 0x00000002
+#define PEN_MASK_TILT_X 0x00000004
+#define PEN_MASK_TILT_Y 0x00000008
+
+typedef struct tagPOINTER_PEN_INFO
+{
+ POINTER_INFO pointerInfo;
+ PEN_FLAGS penFlags;
+ PEN_MASK penMask;
+ UINT32 pressure;
+ UINT32 rotation;
+ INT32 tiltX;
+ INT32 tiltY;
+} POINTER_PEN_INFO;
+
+#define POINTER_MESSAGE_FLAG_NEW 0x00000001
+#define POINTER_MESSAGE_FLAG_INRANGE 0x00000002
+#define POINTER_MESSAGE_FLAG_INCONTACT 0x00000004
+#define POINTER_MESSAGE_FLAG_FIRSTBUTTON 0x00000010
+#define POINTER_MESSAGE_FLAG_SECONDBUTTON 0x00000020
+#define POINTER_MESSAGE_FLAG_THIRDBUTTON 0x00000040
+#define POINTER_MESSAGE_FLAG_FOURTHBUTTON 0x00000080
+#define POINTER_MESSAGE_FLAG_FIFTHBUTTON 0x00000100
+#define POINTER_MESSAGE_FLAG_PRIMARY 0x00002000
+#define POINTER_MESSAGE_FLAG_CONFIDENCE 0x00004000
+#define POINTER_MESSAGE_FLAG_CANCELED 0x00008000
+
+#define GET_POINTERID_WPARAM(wparam) (LOWORD(wparam))
+#define IS_POINTER_FLAG_SET_WPARAM(wparam, flags) ((HIWORD(wparam) & (flags)) == (flags))
+#define IS_POINTER_NEW_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_NEW)
+#define IS_POINTER_INRANGE_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_INRANGE)
+#define IS_POINTER_INCONTACT_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_INCONTACT)
+#define IS_POINTER_FIRSTBUTTON_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_FIRSTBUTTON)
+#define IS_POINTER_SECONDBUTTON_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_SECONDBUTTON)
+#define IS_POINTER_THIRDBUTTON_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_THIRDBUTTON)
+#define IS_POINTER_FOURTHBUTTON_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_FOURTHBUTTON)
+#define IS_POINTER_FIFTHBUTTON_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_FIFTHBUTTON)
+#define IS_POINTER_PRIMARY_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_PRIMARY)
+#define HAS_POINTER_CONFIDENCE_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_CONFIDENCE)
+#define IS_POINTER_CANCELED_WPARAM(wparam) IS_POINTER_FLAG_SET_WPARAM(wparam, POINTER_MESSAGE_FLAG_CANCELED)
+
+#define PA_ACTIVATE MA_ACTIVATE
+#define PA_NOACTIVATE MA_NOACTIVATE
+
+#define MAX_TOUCH_COUNT 256
+
+#define TOUCH_FEEDBACK_DEFAULT 0x1
+#define TOUCH_FEEDBACK_INDIRECT 0x2
+#define TOUCH_FEEDBACK_NONE 0x3
+
+#define TOUCH_HIT_TESTING_DEFAULT 0x0
+#define TOUCH_HIT_TESTING_CLIENT 0x1
+#define TOUCH_HIT_TESTING_NONE 0x2
+
+typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION
+{
+ UINT16 score;
+ POINT adjustedPoint;
+} TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, *PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION;
+
+typedef struct tagTOUCH_HIT_TESTING_INPUT
+{
+ UINT32 pointerId;
+ POINT point;
+ RECT boundingBox;
+ RECT nonOccludedBoundingBox;
+ UINT32 orientation;
+} TOUCH_HIT_TESTING_INPUT, *PTOUCH_HIT_TESTING_INPUT;
+
+#define TOUCH_HIT_TESTING_PROXIMITY_CLOSEST 0x0
+#define TOUCH_HIT_TESTING_PROXIMITY_FARTHEST 0xFFF
+
+typedef enum
+{
+ POINTER_FEEDBACK_DEFAULT = 1,
+ POINTER_FEEDBACK_INDIRECT = 2,
+ POINTER_FEEDBACK_NONE = 3,
+} POINTER_FEEDBACK_MODE;
+
+typedef enum tagFEEDBACK_TYPE
+{
+ FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1,
+ FEEDBACK_PEN_BARRELVISUALIZATION = 2,
+ FEEDBACK_PEN_TAP = 3,
+ FEEDBACK_PEN_DOUBLETAP = 4,
+ FEEDBACK_PEN_PRESSANDHOLD = 5,
+ FEEDBACK_PEN_RIGHTTAP = 6,
+ FEEDBACK_TOUCH_TAP = 7,
+ FEEDBACK_TOUCH_DOUBLETAP = 8,
+ FEEDBACK_TOUCH_PRESSANDHOLD = 9,
+ FEEDBACK_TOUCH_RIGHTTAP = 10,
+ FEEDBACK_GESTURE_PRESSANDTAP = 11,
+ FEEDBACK_MAX = 0xFFFFFFFF
+} FEEDBACK_TYPE;
+
+#define GWFS_INCLUDE_ANCESTORS 0x00000001
+
+typedef struct tagPOINTER_TYPE_INFO
+{
+ POINTER_INPUT_TYPE type;
+ union
+ {
+ POINTER_TOUCH_INFO touchInfo;
+ POINTER_PEN_INFO penInfo;
+ } DUMMYUNIONNAME;
+} POINTER_TYPE_INFO, *PPOINTER_TYPE_INFO;
+
+typedef struct tagINPUT_TRANSFORM
+{
+ union
+ {
+ struct
+ {
+ float _11, _12, _13, _14;
+ float _21, _22, _23, _24;
+ float _31, _32, _33, _34;
+ float _41, _42, _43, _44;
+ } DUMMYSTRUCTNAME;
+ float m[4][4];
+ } DUMMYUNIONNAME;
+} INPUT_TRANSFORM;
+
+DECLARE_HANDLE(HSYNTHETICPOINTERDEVICE);
+
+#define NID_INTEGRATED_TOUCH 0x00000001
+#define NID_EXTERNAL_TOUCH 0x00000002
+#define NID_INTEGRATED_PEN 0x00000004
+#define NID_EXTERNAL_PEN 0x00000008
+#define NID_MULTI_INPUT 0x00000040
+#define NID_READY 0x00000080
typedef struct tagAUDIODESCRIPTION
{
@@ -3590,6 +3906,7 @@ WINUSERAPI BOOL WINAPI ClipCursor(const RECT*);
WINUSERAPI BOOL WINAPI CloseClipboard(void);
WINUSERAPI BOOL WINAPI CloseDesktop(HDESK);
WINUSERAPI BOOL WINAPI CloseTouchInputHandle(HTOUCHINPUT);
+WINUSERAPI BOOL WINAPI CloseGestureInfoHandle(HGESTUREINFO);
WINUSERAPI BOOL WINAPI CloseWindow(HWND);
WINUSERAPI BOOL WINAPI CloseWindowStation(HWINSTA);
WINUSERAPI INT WINAPI CopyAcceleratorTableA(HACCEL,LPACCEL,INT);
@@ -3635,6 +3952,7 @@ WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPCWSTR,DWORD,ACCESS_MASK,LPS
WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR,LPCSTR,DWORD,INT,INT,INT,INT,HWND,HINSTANCE,LPARAM);
WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR,LPCWSTR,DWORD,INT,INT,INT,INT,HWND,HINSTANCE,LPARAM);
#define CreateMDIWindow WINELIB_NAME_AW(CreateMDIWindow)
+WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE,ULONG,POINTER_FEEDBACK_MODE);
WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND,UINT,WPARAM,LPARAM);
WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND,UINT,WPARAM,LPARAM);
#define DefDlgProc WINELIB_NAME_AW(DefDlgProc)
@@ -3657,6 +3975,7 @@ WINUSERAPI BOOL WINAPI DestroyCaret(void);
WINUSERAPI BOOL WINAPI DestroyCursor(HCURSOR);
WINUSERAPI BOOL WINAPI DestroyIcon(HICON);
WINUSERAPI BOOL WINAPI DestroyMenu(HMENU);
+WINUSERAPI void WINAPI DestroySyntheticPointerDevice(HSYNTHETICPOINTERDEVICE);
WINUSERAPI BOOL WINAPI DestroyWindow(HWND);
#define DialogBoxA(inst,template,owner,func) DialogBoxParamA(inst,template,owner,func,0)
#define DialogBoxW(inst,template,owner,func) DialogBoxParamW(inst,template,owner,func,0)
@@ -3711,6 +4030,7 @@ WINUSERAPI INT WINAPI DrawTextExW(HDC,LPWSTR,INT,LPRECT,UINT,LPDRAWTEXTP
WINUSERAPI BOOL WINAPI EmptyClipboard(void);
WINUSERAPI BOOL WINAPI EnableMenuItem(HMENU,UINT,UINT);
WINUSERAPI BOOL WINAPI EnableMouseInPointer(BOOL);
+WINUSERAPI BOOL WINAPI EnableMouseInPointerForThread(VOID);
WINUSERAPI BOOL WINAPI EnableNonClientDpiScaling(HWND);
WINUSERAPI BOOL WINAPI EnableScrollBar(HWND,UINT,UINT);
WINUSERAPI BOOL WINAPI EnableWindow(HWND,BOOL);
@@ -3736,6 +4056,8 @@ WINUSERAPI BOOL WINAPI EnumWindows(WNDENUMPROC,LPARAM);
WINUSERAPI BOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA,LPARAM);
WINUSERAPI BOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW,LPARAM);
#define EnumWindowStations WINELIB_NAME_AW(EnumWindowStations)
+WINUSERAPI BOOL WINAPI EvaluateProximityToRect(const RECT*,const TOUCH_HIT_TESTING_INPUT*,TOUCH_HIT_TESTING_PROXIMITY_EVALUATION*);
+WINUSERAPI BOOL WINAPI EvaluateProximityToPolygon(UINT32,const POINT*,const TOUCH_HIT_TESTING_INPUT*,TOUCH_HIT_TESTING_PROXIMITY_EVALUATION*);
WINUSERAPI INT WINAPI ExcludeUpdateRgn(HDC,HWND);
#define ExitWindows(a,b) ExitWindowsEx(EWX_LOGOFF,0xffffffff)
WINUSERAPI BOOL WINAPI ExitWindowsEx(UINT,DWORD);
@@ -3815,6 +4137,7 @@ WINUSERAPI UINT WINAPI GetDpiForSystem(void);
WINUSERAPI HWND WINAPI GetFocus(void);
WINUSERAPI HWND WINAPI GetForegroundWindow(void);
WINUSERAPI BOOL WINAPI GetGestureConfig(HWND,DWORD,DWORD,UINT*,GESTURECONFIG*,UINT);
+WINUSERAPI BOOL WINAPI GetGestureExtraArgs(HGESTUREINFO,UINT,BYTE*);
WINUSERAPI BOOL WINAPI GetGestureInfo(HGESTUREINFO,PGESTUREINFO);
WINUSERAPI BOOL WINAPI GetGUIThreadInfo(DWORD,GUITHREADINFO*);
WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE,DWORD);
@@ -3878,7 +4201,26 @@ WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND,HWND,BOOL);
WINUSERAPI HWND WINAPI GetOpenClipboardWindow(void);
WINUSERAPI HWND WINAPI GetParent(HWND);
WINUSERAPI BOOL WINAPI GetPhysicalCursorPos(POINT*);
-WINUSERAPI BOOL WINAPI GetPointerType(UINT32,POINTER_INPUT_TYPE *);
+WINUSERAPI BOOL WINAPI GetPointerDevice(HANDLE device,POINTER_DEVICE_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerDeviceCursors(HANDLE,UINT32*,POINTER_DEVICE_CURSOR_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerDeviceProperties(HANDLE device,UINT32*,POINTER_DEVICE_PROPERTY*);
+WINUSERAPI BOOL WINAPI GetPointerDeviceRects(HANDLE,RECT*,RECT*);
+WINUSERAPI BOOL WINAPI GetPointerDevices(UINT32*,POINTER_DEVICE_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerInputTransform(UINT32,UINT32,INPUT_TRANSFORM*);
+WINUSERAPI BOOL WINAPI GetPointerPenInfo(UINT32,POINTER_PEN_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerPenInfoHistory(UINT32,UINT32*,POINTER_PEN_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFramePenInfo(UINT32,UINT32*,POINTER_PEN_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFramePenInfoHistory(UINT32,UINT32*,UINT32*,POINTER_PEN_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerType(UINT32,POINTER_INPUT_TYPE*);
+WINUSERAPI BOOL WINAPI GetPointerCursorId(UINT32,UINT32*);
+WINUSERAPI BOOL WINAPI GetPointerInfo(UINT32,POINTER_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerInfoHistory(UINT32,UINT32*,POINTER_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFrameInfo(UINT32,UINT32*,POINTER_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFrameInfoHistory(UINT32,UINT32*,UINT32*,POINTER_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerTouchInfo(UINT32,POINTER_TOUCH_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerTouchInfoHistory(UINT32,UINT32*,POINTER_TOUCH_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFrameTouchInfo(UINT32,UINT32*,POINTER_TOUCH_INFO*);
+WINUSERAPI BOOL WINAPI GetPointerFrameTouchInfoHistory(UINT32,UINT32*,UINT32*,POINTER_TOUCH_INFO*);
WINUSERAPI INT WINAPI GetPriorityClipboardFormat(UINT*,INT);
WINUSERAPI BOOL WINAPI GetProcessDefaultLayout(DWORD*);
WINUSERAPI BOOL WINAPI GetProcessDpiAwarenessInternal(HANDLE,DPI_AWARENESS*);
@@ -3886,6 +4228,7 @@ WINUSERAPI HANDLE WINAPI GetPropA(HWND,LPCSTR);
WINUSERAPI HANDLE WINAPI GetPropW(HWND,LPCWSTR);
#define GetProp WINELIB_NAME_AW(GetProp)
WINUSERAPI DWORD WINAPI GetQueueStatus(UINT);
+WINUSERAPI BOOL WINAPI GetRawPointerDeviceData(UINT32,UINT32,UINT32,POINTER_DEVICE_PROPERTY*,LONG*);
WINUSERAPI BOOL WINAPI GetScrollInfo(HWND,INT,LPSCROLLINFO);
WINUSERAPI BOOL WINAPI GetScrollBarInfo(HWND,LONG,LPSCROLLBARINFO);
WINUSERAPI INT WINAPI GetScrollPos(HWND,INT);
@@ -3917,6 +4260,7 @@ WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND);
WINUSERAPI HDC WINAPI GetWindowDC(HWND);
WINUSERAPI BOOL WINAPI GetWindowDisplayAffinity(HWND,DWORD*);
WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext(HWND);
+WINUSERAPI BOOL WINAPI GetWindowFeedbackSetting(HWND,FEEDBACK_TYPE,DWORD,UINT32*,void*);
WINUSERAPI BOOL WINAPI GetWindowInfo(HWND, PWINDOWINFO);
WINUSERAPI LONG WINAPI GetWindowLongA(HWND,INT);
WINUSERAPI LONG WINAPI GetWindowLongW(HWND,INT);
@@ -3951,6 +4295,9 @@ WINUSERAPI BOOL WINAPI GrayStringW(HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,INT,I
#define GrayString WINELIB_NAME_AW(GrayString)
WINUSERAPI BOOL WINAPI HideCaret(HWND);
WINUSERAPI BOOL WINAPI HiliteMenuItem(HWND,HMENU,UINT,UINT);
+WINUSERAPI BOOL WINAPI InitializeTouchInjection(UINT32,DWORD);
+WINUSERAPI BOOL WINAPI InjectSyntheticPointerInput(HSYNTHETICPOINTERDEVICE,const POINTER_TYPE_INFO*,UINT32);
+WINUSERAPI BOOL WINAPI InjectTouchInput(UINT32,const POINTER_TOUCH_INFO*);
WINUSERAPI BOOL WINAPI InSendMessage(void);
WINUSERAPI DWORD WINAPI InSendMessageEx(LPVOID);
WINUSERAPI BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT_PTR,LPCSTR);
@@ -3986,6 +4333,7 @@ WINUSERAPI BOOL WINAPI IsGUIThread(BOOL);
WINUSERAPI BOOL WINAPI IsHungAppWindow(HWND);
WINUSERAPI BOOL WINAPI IsIconic(HWND);
WINUSERAPI BOOL WINAPI IsMenu(HMENU);
+WINUSERAPI BOOL WINAPI IsMouseInPointerEnabled(void);
WINUSERAPI BOOL WINAPI IsProcessDPIAware(void);
WINUSERAPI BOOL WINAPI IsTouchWindow(HWND,PULONG);
WINUSERAPI BOOL WINAPI IsValidDpiAwarenessContext(DPI_AWARENESS_CONTEXT);
@@ -4080,6 +4428,7 @@ WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPCSTR,BOOL,ACCESS_MASK);
WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPCWSTR,BOOL,ACCESS_MASK);
#define OpenWindowStation WINELIB_NAME_AW(OpenWindowStation)
WINUSERAPI BOOL WINAPI PaintDesktop(HDC);
+WINUSERAPI LRESULT WINAPI PackTouchHitTestingProximityEvaluation(const TOUCH_HIT_TESTING_INPUT*,const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION*);
WINUSERAPI BOOL WINAPI PeekMessageA(LPMSG,HWND,UINT,UINT,UINT);
WINUSERAPI BOOL WINAPI PeekMessageW(LPMSG,HWND,UINT,UINT,UINT);
#define PeekMessage WINELIB_NAME_AW(PeekMessage)
@@ -4119,10 +4468,13 @@ WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE,LPVOID,DWORD);
#define RegisterDeviceNotification WINELIB_NAME_AW(RegisterDeviceNotification)
WINUSERAPI BOOL WINAPI RegisterHotKey(HWND,INT,UINT,UINT);
WINUSERAPI BOOL WINAPI RegisterPointerDeviceNotifications(HWND,BOOL);
+WINUSERAPI BOOL WINAPI RegisterPointerInputTarget(HWND,POINTER_INPUT_TYPE);
+WINUSERAPI BOOL WINAPI RegisterPointerInputTargetEx(HWND,POINTER_INPUT_TYPE,BOOL);
WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification(HANDLE,LPCGUID,DWORD);
WINUSERAPI BOOL WINAPI RegisterRawInputDevices(const RAWINPUTDEVICE *,UINT,UINT);
WINUSERAPI BOOL WINAPI RegisterShellHookWindow(HWND);
WINUSERAPI HPOWERNOTIFY WINAPI RegisterSuspendResumeNotification(HANDLE,DWORD);
+WINUSERAPI BOOL WINAPI RegisterTouchHitTestingWindow(HWND,ULONG);
WINUSERAPI BOOL WINAPI RegisterTouchWindow(HWND,ULONG);
WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR);
WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR);
@@ -4227,6 +4579,7 @@ WINUSERAPI BOOL WINAPI SetUserObjectInformationW(HANDLE,INT,LPVOID,DWORD)
WINUSERAPI BOOL WINAPI SetUserObjectSecurity(HANDLE,PSECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
WINUSERAPI BOOL WINAPI SetWindowContextHelpId(HWND,DWORD);
WINUSERAPI BOOL WINAPI SetWindowDisplayAffinity(HWND,DWORD);
+WINUSERAPI BOOL WINAPI SetWindowFeedbackSetting(HWND,FEEDBACK_TYPE,DWORD,UINT32,const void*);
WINUSERAPI LONG WINAPI SetWindowLongA(HWND,INT,LONG);
WINUSERAPI LONG WINAPI SetWindowLongW(HWND,INT,LONG);
#define SetWindowLong WINELIB_NAME_AW(SetWindowLong)
@@ -4260,6 +4613,7 @@ WINUSERAPI BOOL WINAPI ShowWindow(HWND,INT);
WINUSERAPI BOOL WINAPI ShowWindowAsync(HWND,INT);
WINUSERAPI BOOL WINAPI ShutdownBlockReasonCreate(HWND,LPCWSTR);
WINUSERAPI BOOL WINAPI ShutdownBlockReasonDestroy(HWND);
+WINUSERAPI BOOL WINAPI SkipPointerFrameMessages(UINT32);
WINUSERAPI BOOL WINAPI SubtractRect(LPRECT,const RECT*,const RECT*);
WINUSERAPI BOOL WINAPI SwapMouseButton(BOOL);
WINUSERAPI BOOL WINAPI SwitchDesktop(HDESK);
@@ -4294,6 +4648,8 @@ WINUSERAPI BOOL WINAPI UnregisterClassW(LPCWSTR,HINSTANCE);
#define UnregisterClass WINELIB_NAME_AW(UnregisterClass)
WINUSERAPI BOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY);
WINUSERAPI BOOL WINAPI UnregisterHotKey(HWND,INT);
+WINUSERAPI BOOL WINAPI UnregisterPointerInputTarget(HWND,POINTER_INPUT_TYPE);
+WINUSERAPI BOOL WINAPI UnregisterPointerInputTargetEx(HWND,POINTER_INPUT_TYPE);
WINUSERAPI BOOL WINAPI UnregisterPowerSettingNotification(HPOWERNOTIFY);
WINUSERAPI BOOL WINAPI UnregisterSuspendResumeNotification(HPOWERNOTIFY);
WINUSERAPI BOOL WINAPI UnregisterTouchWindow(HWND);
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/166
More information about the wine-devel
mailing list