Module: wine Branch: oldstable Commit: be712881ee05eed8dd3eb9e40f362c876ecf366a URL: https://source.winehq.org/git/wine.git/?a=commit;h=be712881ee05eed8dd3eb9e40...
Author: Vijay Kiran Kamuju infyquest@gmail.com Date: Mon Nov 25 09:00:26 2019 +0100
shcore: Add stub for GetScaleFactorForMonitor.
Based on a patch by Esdras Tarsis.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48016 Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit bbdc670931e5473b8c11895489636ae1ab8b6ba9) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
.../api-ms-win-shcore-scaling-l1-1-1.spec | 2 +- dlls/shcore/main.c | 8 ++++++++ dlls/shcore/shcore.spec | 2 +- include/shellscalingapi.h | 3 +++ include/shtypes.idl | 21 +++++++++++++++++++++ 5 files changed, 34 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 6194c8ce9d..9ebda5164c 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 973b7c7a03..b1cb1ab1a3 100644 --- a/dlls/shcore/main.c +++ b/dlls/shcore/main.c @@ -80,6 +80,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 4c2717948d..5811802975 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 1df85d5982..82a1daaa62 100644 --- a/include/shellscalingapi.h +++ b/include/shellscalingapi.h @@ -19,6 +19,8 @@ #ifndef __WINE_SHELLSCALINGAPI_H #define __WINE_SHELLSCALINGAPI_H
+#include <shtypes.h> + typedef enum MONITOR_DPI_TYPE { MDT_EFFECTIVE_DPI = 0, @@ -36,6 +38,7 @@ typedef enum PROCESS_DPI_AWARENESS
HRESULT WINAPI GetDpiForMonitor(HMONITOR,MONITOR_DPI_TYPE,UINT*,UINT*); HRESULT WINAPI GetProcessDpiAwareness(HANDLE,PROCESS_DPI_AWARENESS*); +HRESULT WINAPI GetScaleFactorForMonitor(HMONITOR,DEVICE_SCALE_FACTOR*); HRESULT WINAPI SetProcessDpiAwareness(PROCESS_DPI_AWARENESS);
#endif /* __WINE_SHELLSCALINGAPI_H */ diff --git a/include/shtypes.idl b/include/shtypes.idl index 3d54c80381..c83562a24b 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;