From: Vijay Kiran Kamuju Subject: [PATCH] shcore: Add stub for GetScaleFactorForMonitor Message-Id: <20191124212310.2071-1-infyquest@gmail.com> Date: Sun, 24 Nov 2019 22:23:10 +0100 Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48016 Signed-off-by: Vijay Kiran Kamuju --- .../api-ms-win-shcore-scaling-l1-1-1.spec | 2 +- dlls/shcore/main.c | 8 +++++++ dlls/shcore/shcore.spec | 2 +- include/shellscalingapi.h | 4 ++++ include/shtypes.idl | 21 +++++++++++++++++++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec b/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec index 6194c8ce9dfc..9ebda5164c1d 100644 --- a/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec +++ b/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec @@ -1,7 +1,7 @@ @ stdcall GetDpiForMonitor(long long ptr ptr) shcore.GetDpiForMonitor @ stdcall GetProcessDpiAwareness(long ptr) shcore.GetProcessDpiAwareness @ stub GetScaleFactorForDevice -@ stub GetScaleFactorForMonitor +@ stdcall GetScaleFactorForMonitor(long ptr) shcore.GetScaleFactorForMonitor @ stub RegisterScaleChangeEvent @ stub RegisterScaleChangeNotifications @ stub RevokeScaleChangeNotifications diff --git a/dlls/shcore/main.c b/dlls/shcore/main.c index 6a6247930f52..3f95c1ffd872 100644 --- a/dlls/shcore/main.c +++ b/dlls/shcore/main.c @@ -78,6 +78,14 @@ HRESULT WINAPI GetDpiForMonitor(HMONITOR monitor, MONITOR_DPI_TYPE type, UINT *x return HRESULT_FROM_WIN32( GetLastError() ); } +HRESULT WINAPI GetScaleFactorForMonitor(HMONITOR monitor, DEVICE_SCALE_FACTOR *scale) +{ + FIXME("(%p %p): stub\n", monitor, scale); + + *scale = SCALE_100_PERCENT; + return S_OK; +} + HRESULT WINAPI _IStream_Read(IStream *stream, void *dest, ULONG size) { ULONG read; diff --git a/dlls/shcore/shcore.spec b/dlls/shcore/shcore.spec index 6a634bdee5c8..d5b7a342e319 100644 --- a/dlls/shcore/shcore.spec +++ b/dlls/shcore/shcore.spec @@ -12,7 +12,7 @@ @ stdcall GetProcessDpiAwareness(long ptr) @ stdcall GetProcessReference(ptr) @ stub GetScaleFactorForDevice -@ stub GetScaleFactorForMonitor +@ stdcall GetScaleFactorForMonitor(long ptr) @ stub IStream_Copy @ stdcall IStream_Read(ptr ptr long) _IStream_Read @ stub IStream_ReadStr diff --git a/include/shellscalingapi.h b/include/shellscalingapi.h index 1df85d598280..6f2f7188738e 100644 --- a/include/shellscalingapi.h +++ b/include/shellscalingapi.h @@ -19,6 +19,8 @@ #ifndef __WINE_SHELLSCALINGAPI_H #define __WINE_SHELLSCALINGAPI_H +#include + typedef enum MONITOR_DPI_TYPE { MDT_EFFECTIVE_DPI = 0, @@ -34,6 +36,8 @@ typedef enum PROCESS_DPI_AWARENESS PROCESS_PER_MONITOR_DPI_AWARE } PROCESS_DPI_AWARENESS; +HRESULT WINAPI GetScaleFactorForMonitor(HMONITOR,DEVICE_SCALE_FACTOR*); + HRESULT WINAPI GetDpiForMonitor(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); HRESULT WINAPI GetProcessDpiAwareness(HANDLE,PROCESS_DPI_AWARENESS*); HRESULT WINAPI SetProcessDpiAwareness(PROCESS_DPI_AWARENESS); diff --git a/include/shtypes.idl b/include/shtypes.idl index 3d54c8038187..c83562a24bb1 100644 --- a/include/shtypes.idl +++ b/include/shtypes.idl @@ -161,3 +161,24 @@ cpp_quote("#define PERCEIVEDFLAG_NATIVESUPPORT 0x0004") cpp_quote("#define PERCEIVEDFLAG_GDIPLUS 0x0010") cpp_quote("#define PERCEIVEDFLAG_WMSDK 0x0020") cpp_quote("#define PERCEIVEDFLAG_ZIPFOLDER 0x0040") + +typedef [v1_enum] enum DEVICE_SCALE_FACTOR +{ + DEVICE_SCALE_FACTOR_INVALID = 0, + SCALE_100_PERCENT = 100, + SCALE_120_PERCENT = 120, + SCALE_125_PERCENT = 125, + SCALE_140_PERCENT = 140, + SCALE_150_PERCENT = 150, + SCALE_160_PERCENT = 160, + SCALE_175_PERCENT = 175, + SCALE_180_PERCENT = 180, + SCALE_200_PERCENT = 200, + SCALE_225_PERCENT = 225, + SCALE_250_PERCENT = 250, + SCALE_300_PERCENT = 300, + SCALE_350_PERCENT = 350, + SCALE_400_PERCENT = 400, + SCALE_450_PERCENT = 450, + SCALE_500_PERCENT = 500 +} DEVICE_SCALE_FACTOR; -- 2.21.0