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);