Vijay Kiran Kamuju : shcore: Add stub for GetScaleFactorForMonitor.

Alexandre Julliard julliard at winehq.org
Mon Nov 25 16:41:56 CST 2019


Module: wine
Branch: master
Commit: bbdc670931e5473b8c11895489636ae1ab8b6ba9
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=bbdc670931e5473b8c11895489636ae1ab8b6ba9

Author: Vijay Kiran Kamuju <infyquest at 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 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at 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 6a6247930f..3f95c1ffd8 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 6a634bdee5..d5b7a342e3 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;




More information about the wine-cvs mailing list