Vijay Kiran Kamuju : shcore: Add stub for GetScaleFactorForMonitor.
Alexandre Julliard
julliard at winehq.org
Mon Apr 20 15:01:52 CDT 2020
Module: wine
Branch: oldstable
Commit: be712881ee05eed8dd3eb9e40f362c876ecf366a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=be712881ee05eed8dd3eb9e40f362c876ecf366a
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>
(cherry picked from commit bbdc670931e5473b8c11895489636ae1ab8b6ba9)
Signed-off-by: Michael Stefaniuc <mstefani 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 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;
More information about the wine-cvs
mailing list