From 5d931ec8139df750f452d5d68afa8109c8f4356e Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <[email protected]> Date: Sun, 9 Aug 2020 11:20:04 +0530 Subject: [PATCH 1/2] headers/winuser.h: add missing symbols and defines
Signed-off-by: Biswapriyo Nath <[email protected]> --- mingw-w64-headers/include/winuser.h | 283 +++++++++++++++++++++++++++- 1 file changed, 276 insertions(+), 7 deletions(-) diff --git a/mingw-w64-headers/include/winuser.h b/mingw-w64-headers/include/winuser.h index 505a884..a63dbee 100644 --- a/mingw-w64-headers/include/winuser.h +++ b/mingw-w64-headers/include/winuser.h @@ -262,10 +262,12 @@ extern "C" { #define VK_KANA 0x15 #define VK_HANGEUL 0x15 #define VK_HANGUL 0x15 +#define VK_IME_ON 0x16 #define VK_JUNJA 0x17 #define VK_FINAL 0x18 #define VK_HANJA 0x19 #define VK_KANJI 0x19 +#define VK_IME_OFF 0x1A #define VK_ESCAPE 0x1B #define VK_CONVERT 0x1C #define VK_NONCONVERT 0x1D @@ -332,6 +334,16 @@ extern "C" { #define VK_F22 0x85 #define VK_F23 0x86 #define VK_F24 0x87 +#if _WIN32_WINNT >= 0x0604 +#define VK_NAVIGATION_VIEW 0x88 +#define VK_NAVIGATION_MENU 0x89 +#define VK_NAVIGATION_UP 0x8A +#define VK_NAVIGATION_DOWN 0x8B +#define VK_NAVIGATION_LEFT 0x8C +#define VK_NAVIGATION_RIGHT 0x8D +#define VK_NAVIGATION_ACCEPT 0x8E +#define VK_NAVIGATION_CANCEL 0x8F +#endif /* _WIN32_WINNT >= 0x0604 */ #define VK_NUMLOCK 0x90 #define VK_SCROLL 0x91 #define VK_OEM_NEC_EQUAL 0x92 @@ -371,6 +383,32 @@ extern "C" { #define VK_OEM_PERIOD 0xBE #define VK_OEM_2 0xBF #define VK_OEM_3 0xC0 +#if _WIN32_WINNT >= 0x0604 +#define VK_GAMEPAD_A 0xC3 +#define VK_GAMEPAD_B 0xC4 +#define VK_GAMEPAD_X 0xC5 +#define VK_GAMEPAD_Y 0xC6 +#define VK_GAMEPAD_RIGHT_SHOULDER 0xC7 +#define VK_GAMEPAD_LEFT_SHOULDER 0xC8 +#define VK_GAMEPAD_LEFT_TRIGGER 0xC9 +#define VK_GAMEPAD_RIGHT_TRIGGER 0xCA +#define VK_GAMEPAD_DPAD_UP 0xCB +#define VK_GAMEPAD_DPAD_DOWN 0xCC +#define VK_GAMEPAD_DPAD_LEFT 0xCD +#define VK_GAMEPAD_DPAD_RIGHT 0xCE +#define VK_GAMEPAD_MENU 0xCF +#define VK_GAMEPAD_VIEW 0xD0 +#define VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON 0xD1 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON 0xD2 +#define VK_GAMEPAD_LEFT_THUMBSTICK_UP 0xD3 +#define VK_GAMEPAD_LEFT_THUMBSTICK_DOWN 0xD4 +#define VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT 0xD5 +#define VK_GAMEPAD_LEFT_THUMBSTICK_LEFT 0xD6 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_UP 0xD7 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN 0xD8 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT 0xD9 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT 0xDA +#endif /* _WIN32_WINNT >= 0x0604 */ #define VK_OEM_4 0xDB #define VK_OEM_5 0xDC #define VK_OEM_6 0xDD @@ -629,8 +667,10 @@ extern "C" { #define LLKHF_INJECTED 0x00000010 #define LLKHF_ALTDOWN (KF_ALTDOWN >> 8) #define LLKHF_UP (KF_UP >> 8) +#define LLKHF_LOWER_IL_INJECTED 0x00000002 #define LLMHF_INJECTED 0x00000001 +#define LLMHF_LOWER_IL_INJECTED 0x00000002 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef struct tagKBDLLHOOKSTRUCT { @@ -820,6 +860,7 @@ extern "C" { #define UOI_HEAPSIZE 5 #define UOI_IO 6 #endif +#define UOI_TIMERPROC_EXCEPTION_SUPPRESSION 7 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef struct tagUSEROBJECTFLAGS { @@ -1139,9 +1180,13 @@ extern "C" { #define WM_SYSKEYUP 0x0105 #define WM_SYSCHAR 0x0106 #define WM_SYSDEADCHAR 0x0107 +#if _WIN32_WINNT >= 0x0501 #define WM_UNICHAR 0x0109 #define WM_KEYLAST 0x0109 #define UNICODE_NOCHAR 0xFFFF +#else +#define WM_KEYLAST 0x0108 +#endif #define WM_IME_STARTCOMPOSITION 0x010D #define WM_IME_ENDCOMPOSITION 0x010E #define WM_IME_COMPOSITION 0x010F @@ -1210,8 +1255,12 @@ extern "C" { #if _WIN32_WINNT >= 0x0600 #define WM_MOUSELAST 0x020e -#else +#elif _WIN32_WINNT >= 0x0500 #define WM_MOUSELAST 0x020d +#elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) +#define WM_MOUSELAST 0x020a +#else +#define WM_MOUSELAST 0x0209 #endif #define WHEEL_DELTA 120 @@ -1311,6 +1360,10 @@ extern "C" { #define WM_TOUCHHITTESTING 0x024d #define WM_POINTERWHEEL 0x024e #define WM_POINTERHWHEEL 0x024f +#define WM_POINTERHITTEST 0x0250 +#define WM_POINTERROUTEDTO 0x0251 +#define WM_POINTERROUTEDAWAY 0x0252 +#define WM_POINTERROUTEDRELEASED 0x0253 #endif #define WM_IME_SETCONTEXT 0x0281 @@ -1333,6 +1386,11 @@ extern "C" { #if WINVER >= 0x0601 #define WM_DPICHANGED 0x02e0 #endif +#if WINVER >= 0x0605 +#define WM_DPICHANGED_BEFOREPARENT 0x02e2 +#define WM_DPICHANGED_AFTERPARENT 0x02e3 +#define WM_GETDPISCALEDSIZE 0x02e4 +#endif #define WM_CUT 0x0300 #define WM_COPY 0x0301 #define WM_PASTE 0x0302 @@ -1728,7 +1786,13 @@ extern "C" { #define CF_HDROP 15 #define CF_LOCALE 16 #define CF_DIBV5 17 +#if WINVER >= 0x0500 #define CF_MAX 18 +#elif WINVER >= 0x0400 +#define CF_MAX 17 +#else +#define CF_MAX 15 +#endif #define CF_OWNERDISPLAY 0x0080 #define CF_DSPTEXT 0x0081 @@ -1961,6 +2025,8 @@ extern "C" { #endif #define EWX_HYBRID_SHUTDOWN 0x00400000 #define EWX_BOOTOPTIONS 0x01000000 +#define EWX_ARSO 0x04000000 +#define EWX_CHECK_SAFE_FOR_SERVER 0x08000000 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) #define ExitWindows(dwReserved,Code) ExitWindowsEx(EWX_LOGOFF,0xFFFFFFFF) @@ -2219,6 +2285,7 @@ extern "C" { #if _WIN32_WINNT >= 0x0601 #define WDA_NONE 0x00000000 #define WDA_MONITOR 0x00000001 +#define WDA_EXCLUDEFROMCAPTURE 0x00000011 WINUSERAPI WINBOOL WINAPI GetWindowDisplayAffinity (HWND hWnd, DWORD *pdwAffinity); WINUSERAPI WINBOOL WINAPI SetWindowDisplayAffinity (HWND hWnd, DWORD dwAffinity); @@ -2370,8 +2437,27 @@ extern "C" { WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam); #endif + typedef enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS { + DCDC_DEFAULT = 0x0000, + DCDC_DISABLE_FONT_UPDATE = 0x0001, + DCDC_DISABLE_RELAYOUT = 0x0002 + } DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; + +WINBOOL WINAPI SetDialogControlDpiChangeBehavior(HWND hWnd, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values); +DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS WINAPI GetDialogControlDpiChangeBehavior(HWND hWnd); + + typedef enum DIALOG_DPI_CHANGE_BEHAVIORS { + DDC_DEFAULT = 0x0000, + DDC_DISABLE_ALL = 0x0001, + DDC_DISABLE_RESIZE = 0x0002, + DDC_DISABLE_CONTROL_RELAYOUT = 0x0004 + } DIALOG_DPI_CHANGE_BEHAVIORS; + +WINBOOL WINAPI SetDialogDpiChangeBehavior(HWND hDlg, DIALOG_DPI_CHANGE_BEHAVIORS mask, DIALOG_DPI_CHANGE_BEHAVIORS values); +DIALOG_DPI_CHANGE_BEHAVIORS WINAPI GetDialogDpiChangeBehavior(HWND hDlg); + #define DLGWINDOWEXTRA 30 -#endif +#endif /* !NOCTLMGR */ #ifndef NOMSG #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) @@ -2573,6 +2659,7 @@ extern "C" { #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) @@ -2714,7 +2801,10 @@ extern "C" { PT_POINTER = 0x00000001, PT_TOUCH = 0x00000002, PT_PEN = 0x00000003, - PT_MOUSE = 0x00000004, + PT_MOUSE = 0x00000004 +#if WINVER >= 0x0603 + ,PT_TOUCHPAD = 0x00000005 +#endif }; typedef enum tagFEEDBACK_TYPE { @@ -2785,6 +2875,40 @@ extern "C" { INT32 tiltY; } POINTER_PEN_INFO; + typedef enum { + POINTER_FEEDBACK_DEFAULT = 1, + POINTER_FEEDBACK_INDIRECT = 2, + POINTER_FEEDBACK_NONE = 3 + } POINTER_FEEDBACK_MODE; + + typedef struct tagUSAGE_PROPERTIES { + USHORT level; + USHORT page; + USHORT usage; + INT32 logicalMinimum; + INT32 logicalMaximum; + USHORT unit; + USHORT exponent; + BYTE count; + INT32 physicalMinimum; + INT32 physicalMaximum; + } USAGE_PROPERTIES, *PUSAGE_PROPERTIES; + + typedef struct tagPOINTER_TYPE_INFO { + POINTER_INPUT_TYPE type; + __C89_NAMELESS union { + POINTER_TOUCH_INFO touchInfo; + POINTER_PEN_INFO penInfo; + }; + } POINTER_TYPE_INFO, *PPOINTER_TYPE_INFO; + + typedef struct tagINPUT_INJECTION_VALUE { + USHORT page; + USHORT usage; + INT32 value; + USHORT index; + } INPUT_INJECTION_VALUE, *PINPUT_INJECTION_VALUE; + typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { UINT16 score; POINT adjustedPoint; @@ -2816,7 +2940,9 @@ extern "C" { WINUSERAPI WINBOOL WINAPI GetPointerFramePenInfoHistory (UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_PEN_INFO *penInfo); WINUSERAPI WINBOOL WINAPI SkipPointerFrameMessages (UINT32 pointerId); WINUSERAPI WINBOOL WINAPI RegisterPointerInputTarget (HWND hwnd, POINTER_INPUT_TYPE pointerType); + WINUSERAPI WINBOOL WINAPI RegisterPointerInputTargetEx(HWND hwnd, POINTER_INPUT_TYPE pointerType, WINBOOL fObserve); WINUSERAPI WINBOOL WINAPI UnregisterPointerInputTarget (HWND hwnd, POINTER_INPUT_TYPE pointerType); + WINUSERAPI WINBOOL WINAPI UnregisterPointerInputTargetEx(HWND hwnd, POINTER_INPUT_TYPE pointerType); WINUSERAPI WINBOOL WINAPI EnableMouseInPointer (WINBOOL fEnable); WINUSERAPI WINBOOL WINAPI IsMouseInPointerEnabled (VOID); WINUSERAPI WINBOOL WINAPI RegisterTouchHitTestingWindow (HWND hwnd, ULONG value); @@ -2827,6 +2953,17 @@ extern "C" { WINUSERAPI WINBOOL WINAPI SetWindowFeedbackSetting (HWND hwnd, FEEDBACK_TYPE feedback, DWORD dwFlags, UINT32 size, CONST VOID *configuration); #endif +#if WDK_NTDDI_VERSION >= NTDDI_WIN10_RS3 +WINUSERAPI WINBOOL WINAPI EnableMouseInPointerForThread(VOID); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 +DECLARE_HANDLE(HSYNTHETICPOINTERDEVICE); +WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode); +WINUSERAPI WINBOOL WINAPI InjectSyntheticPointerInput(HSYNTHETICPOINTERDEVICE device, CONST POINTER_TYPE_INFO* pointerInfo, UINT32 count); +WINUSERAPI VOID WINAPI DestroySyntheticPointerDevice(HSYNTHETICPOINTERDEVICE device); +#endif /* NTDDI_VERSION >= NTDDI_WIN10_RS5 */ + typedef struct tagLASTINPUTINFO { UINT cbSize; DWORD dwTime; @@ -3049,8 +3186,12 @@ extern "C" { #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) WINUSERAPI int WINAPI GetSystemMetrics(int nIndex); #endif +#if WINVER >= 0x0605 +WINUSERAPI int WINAPI GetSystemMetricsForDpi(int nIndex, UINT dpi); #endif +#endif /* !NOSYSMETRICS */ + #ifndef NOMENUS #define PMB_ACTIVE 0x00000001 @@ -3498,6 +3639,10 @@ extern "C" { WINUSERAPI WINBOOL WINAPI GetWindowRect(HWND hWnd,LPRECT lpRect); WINUSERAPI WINBOOL WINAPI AdjustWindowRect(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu); WINUSERAPI WINBOOL WINAPI AdjustWindowRectEx(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu,DWORD dwExStyle); +#if WINVER >= 0x0605 +WINUSERAPI WINBOOL WINAPI AdjustWindowRectExForDpi(LPRECT lpRect, DWORD dwStyle, WINBOOL bMenu, DWORD dwExStyle, UINT dpi); +#endif + #endif #define HELPINFO_WINDOW 0x0001 @@ -3823,8 +3968,12 @@ extern "C" { #define GW_HWNDPREV 3 #define GW_OWNER 4 #define GW_CHILD 5 +#if WINVER <= 0x0400 +#define GW_MAX 5 +#else #define GW_ENABLEDPOPUP 6 #define GW_MAX 6 +#endif WINUSERAPI HWND WINAPI GetWindow(HWND hWnd,UINT uCmd); @@ -3984,6 +4133,10 @@ extern "C" { #define IDC_HAND MAKEINTRESOURCE(32649) #define IDC_APPSTARTING MAKEINTRESOURCE(32650) #define IDC_HELP MAKEINTRESOURCE(32651) +#if WINVER >= 0x0606 +#define IDC_PIN MAKEINTRESOURCE(32671) +#define IDC_PERSON MAKEINTRESOURCE(32672) +#endif #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef struct _ICONINFO { @@ -4248,12 +4401,19 @@ extern "C" { #define EN_MAXTEXT 0x0501 #define EN_HSCROLL 0x0601 #define EN_VSCROLL 0x0602 +#if _WIN32_WINNT >= 0x0500 #define EN_ALIGN_LTR_EC 0x0700 #define EN_ALIGN_RTL_EC 0x0701 - +#endif +#if WINVER >= 0x0604 +#define EN_BEFORE_PASTE 0x0800 +#define EN_AFTER_PASTE 0x0801 +#endif +#if WINVER >= 0x0400 #define EC_LEFTMARGIN 0x0001 #define EC_RIGHTMARGIN 0x0002 #define EC_USEFONTINFO 0xffff +#endif #define EMSIS_COMPOSITIONSTRING 0x0001 @@ -4302,7 +4462,10 @@ extern "C" { #define EM_CHARFROMPOS 0x00D7 #define EM_SETIMESTATUS 0x00D8 #define EM_GETIMESTATUS 0x00D9 +#if WINVER >= 0x0604 +#define EM_ENABLEFEATURE 0x00DA #endif +#endif /* !NOWINMESSAGES */ #define WB_LEFT 0 #define WB_RIGHT 1 @@ -4565,9 +4728,18 @@ extern "C" { #define LB_MULTIPLEADDSTRING 0x01B1 #endif #define LB_GETLISTBOXINFO 0x01B2 +#if _WIN32_WINNT >= 0x0501 #define LB_MSGMAX 0x01B3 +#elif defined(_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define LB_MSGMAX 0x01B1 +#elif WINVER >= 0x0400 +#define LB_MSGMAX 0x01B0 +#else +#define LB_MSGMAX 0x01A8 #endif +#endif /* !NOWINMESSAGES */ + #ifndef NOWINSTYLES #define LBS_NOTIFY __MSABI_LONG(0x0001) @@ -4662,9 +4834,18 @@ extern "C" { #define CB_MULTIPLEADDSTRING 0x0163 #endif #define CB_GETCOMBOBOXINFO 0x0164 +#if _WIN32_WINNT >= 0x0501 #define CB_MSGMAX 0x0165 +#elif defined(_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define CB_MSGMAX 0x0163 +#elif WINVER >= 0x0400 +#define CB_MSGMAX 0x0162 +#else +#define CB_MSGMAX 0x015B #endif +#endif /* !NOWINMESSAGES */ + #ifndef NOWINSTYLES #define SBS_HORZ __MSABI_LONG(0x0000) @@ -5131,6 +5312,50 @@ extern "C" { #define SPI_GETGESTUREVISUALIZATION 0x201a #define SPI_SETGESTUREVISUALIZATION 0x201b #endif +#if WINVER >= 0x0602 +#define SPI_GETMOUSEWHEELROUTING 0x201C +#define SPI_SETMOUSEWHEELROUTING 0x201D +#define MOUSEWHEEL_ROUTING_FOCUS 0 +#define MOUSEWHEEL_ROUTING_HYBRID 1 +#endif +#if WINVER >= 0x0603 +#define MOUSEWHEEL_ROUTING_MOUSE_POS 2 +#endif + +#if WINVER >= 0x0604 +#define SPI_GETPENVISUALIZATION 0x201E +#define SPI_SETPENVISUALIZATION 0x201F + +#define PENVISUALIZATION_ON 0x0023 +#define PENVISUALIZATION_OFF 0x0000 +#define PENVISUALIZATION_TAP 0x0001 +#define PENVISUALIZATION_DOUBLETAP 0x0002 +#define PENVISUALIZATION_CURSOR 0x0020 + +#define SPI_GETPENARBITRATIONTYPE 0x2020 +#define SPI_SETPENARBITRATIONTYPE 0x2021 + +#define PENARBITRATIONTYPE_NONE 0x0000 +#define PENARBITRATIONTYPE_WIN8 0x0001 +#define PENARBITRATIONTYPE_FIS 0x0002 +#define PENARBITRATIONTYPE_SPT 0x0003 +#define PENARBITRATIONTYPE_MAX 0x0004 +#endif /* WINVER >= 0x0604 */ + +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 +#define SPI_GETCARETTIMEOUT 0x2022 +#define SPI_SETCARETTIMEOUT 0x2023 +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS4 +#define SPI_GETHANDEDNESS 0x2024 +#define SPI_SETHANDEDNESS 0x2025 + + typedef enum tagHANDEDNESS { + HANDEDNESS_LEFT = 0, + HANDEDNESS_RIGHT + } HANDEDNESS, *PHANDEDNESS; +#endif #if WINVER >= 0x0602 #define CONTACTVISUALIZATION_OFF 0x0000 @@ -5333,6 +5558,7 @@ extern "C" { #define HCF_HOTKEYAVAILABLE 0x00000040 #define HCF_LOGONDESKTOP 0x00000100 #define HCF_DEFAULTDESKTOP 0x00000200 +#define HCF_OPTION_NOTHEMECHANGE 0x00001000 #define CDS_UPDATEREGISTRY 0x00000001 #define CDS_TEST 0x00000002 @@ -5382,6 +5608,7 @@ extern "C" { WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsExW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode,DWORD dwFlags); #define EDS_RAWMODE 0x00000002 +#define EDS_ROTATEDMODE 0x00000004 WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesA(LPCSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEA lpDisplayDevice,DWORD dwFlags); WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesW(LPCWSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEW lpDisplayDevice,DWORD dwFlags); @@ -5402,8 +5629,13 @@ extern "C" { WINUSERAPI WINBOOL WINAPI SystemParametersInfoA(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni); WINUSERAPI WINBOOL WINAPI SystemParametersInfoW(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni); + +#if WINVER >= 0x0605 +WINUSERAPI WINBOOL WINAPI SystemParametersInfoForDpi(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni, UINT dpi); #endif + #endif +#endif /* !NOSYSPARAMSINFO */ #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef struct tagFILTERKEYS { @@ -5864,8 +6096,35 @@ extern "C" { WINUSERAPI WINBOOL WINAPI SetProcessDPIAware (VOID); WINUSERAPI WINBOOL WINAPI IsProcessDPIAware (VOID); #endif + +#if WINVER >= 0x0605 +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT dpiContext); +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetThreadDpiAwarenessContext(VOID); +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext(HWND hwnd); +WINUSERAPI DPI_AWARENESS WINAPI GetAwarenessFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI UINT WINAPI GetDpiFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI WINBOOL WINAPI AreDpiAwarenessContextsEqual(DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB); +WINUSERAPI WINBOOL WINAPI IsValidDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI UINT WINAPI GetDpiForWindow(HWND hwnd); +WINUSERAPI UINT WINAPI GetDpiForSystem(VOID); +WINUSERAPI UINT WINAPI GetSystemDpiForProcess(HANDLE hProcess); +WINUSERAPI WINBOOL WINAPI EnableNonClientDpiScaling(HWND hwnd); +WINUSERAPI WINBOOL WINAPI InheritWindowMonitor(HWND hwnd, HWND hwndInherit); +WINUSERAPI WINBOOL WINAPI SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +#endif /* WINVER >= 0x0605 */ + +#if WINVER >= 0x0606 +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI SetThreadDpiHostingBehavior(DPI_HOSTING_BEHAVIOR value); +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI GetThreadDpiHostingBehavior(VOID); +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI GetWindowDpiHostingBehavior(HWND hwnd); +#endif /* WINVER >= 0x0606 */ + +#if NTDDI_VERSION >= NTDDI_WIN10_19H1 +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetDpiAwarenessContextForProcess(HANDLE hProcess); #endif +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + #ifndef NO_STATE_FLAGS #define STATE_SYSTEM_UNAVAILABLE 0x00000001 #define STATE_SYSTEM_SELECTED 0x00000002 @@ -6045,6 +6304,7 @@ extern "C" { #define RIM_TYPEMOUSE 0 #define RIM_TYPEKEYBOARD 1 #define RIM_TYPEHID 2 +#define RIM_TYPEMAX 2 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef struct tagRAWMOUSE { @@ -6074,6 +6334,9 @@ extern "C" { #define RI_MOUSE_BUTTON_5_DOWN 0x0100 #define RI_MOUSE_BUTTON_5_UP 0x0200 #define RI_MOUSE_WHEEL 0x0400 +#if WINVER >= 0x0600 +#define RI_MOUSE_HWHEEL 0x0800 +#endif #define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN #define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP @@ -6251,8 +6514,11 @@ extern "C" { typedef enum tagPOINTER_DEVICE_TYPE { POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, - POINTER_DEVICE_TYPE_TOUCH = 0x00000003, - POINTER_DEVICE_TYPE_MAX = 0xffffffff + POINTER_DEVICE_TYPE_TOUCH = 0x00000003 +#if WINVER >= 0x0603 + ,POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004 +#endif + ,POINTER_DEVICE_TYPE_MAX = 0xffffffff } POINTER_DEVICE_TYPE; typedef struct tagPOINTER_DEVICE_INFO { @@ -6425,7 +6691,10 @@ extern "C" { IMDT_KEYBOARD = 0x00000001, IMDT_MOUSE = 0x00000002, IMDT_TOUCH = 0x00000004, - IMDT_PEN = 0x00000008, + IMDT_PEN = 0x00000008 +#if WINVER >= 0x0603 + ,IMDT_TOUCHPAD = 0x00000010 +#endif } INPUT_MESSAGE_DEVICE_TYPE; typedef enum tagINPUT_MESSAGE_ORIGIN_ID { -- 2.27.0
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
