From f651268309263fa67fa84caf9fb6dbebb5c900d9 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 7 Jul 2020 14:04:39 +1000 Subject: Add DpiuSetProcessDpiAwareness. --- src/dutil/inc/dpiutil.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/dutil/inc/dpiutil.h') diff --git a/src/dutil/inc/dpiutil.h b/src/dutil/inc/dpiutil.h index 4ea689c5..216d3dc6 100644 --- a/src/dutil/inc/dpiutil.h +++ b/src/dutil/inc/dpiutil.h @@ -14,6 +14,15 @@ extern "C" { #define USER_DEFAULT_SCREEN_DPI 96 #endif +typedef enum DPIU_AWARENESS +{ + DPIU_AWARENESS_NONE = 0x0, + DPIU_AWARENESS_SYSTEM = 0x1, + DPIU_AWARENESS_PERMONITOR = 0x2, + DPIU_AWARENESS_PERMONITORV2 = 0x4, + DPIU_AWARENESS_GDISCALED = 0x8, +} DPIU_PROCESS_AWARENESS; + typedef struct _DPIU_MONITOR_CONTEXT { UINT nDpi; @@ -41,6 +50,13 @@ typedef HRESULT (APIENTRY *PFN_GETDPIFORMONITOR)( typedef UINT (APIENTRY *PFN_GETDPIFORWINDOW)( __in HWND hwnd ); +typedef BOOL (APIENTRY* PFN_SETPROCESSDPIAWARE)(); +typedef HRESULT (APIENTRY* PFN_SETPROCESSDPIAWARENESS)( + __in PROCESS_DPI_AWARENESS value + ); +typedef BOOL (APIENTRY* PFN_SETPROCESSDPIAWARENESSCONTEXT)( + __in DPI_AWARENESS_CONTEXT value + ); void DAPI DpiuInitialize(); void DAPI DpiuUninitialize(); @@ -86,6 +102,16 @@ int DAPI DpiuScaleValue( __in UINT nTargetDpi ); +/******************************************************************** + DpiuSetProcessDpiAwareness - set the process DPI awareness. The ranking is + PERMONITORV2 > PERMONITOR > SYSTEM > GDISCALED > NONE. + +*******************************************************************/ +HRESULT DAPI DpiuSetProcessDpiAwareness( + __in DPIU_AWARENESS supportedAwareness, + __in_opt DPIU_AWARENESS* pSelectedAwareness + ); + #ifdef __cplusplus } #endif -- cgit v1.2.3-55-g6feb