Ken Thomases : winemac: Use fallback implementation for screen dimensions in GetDeviceCaps().
Alexandre Julliard
julliard at winehq.org
Thu Aug 23 16:37:04 CDT 2018
Module: wine
Branch: master
Commit: f0ad5b5c546d17b281aef13fde996cda08d0c14e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f0ad5b5c546d17b281aef13fde996cda08d0c14e
Author: Ken Thomases <ken at codeweavers.com>
Date: Thu Aug 23 14:34:15 2018 -0500
winemac: Use fallback implementation for screen dimensions in GetDeviceCaps().
Signed-off-by: Ken Thomases <ken at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winemac.drv/gdi.c | 39 ++++++---------------------------------
1 file changed, 6 insertions(+), 33 deletions(-)
diff --git a/dlls/winemac.drv/gdi.c b/dlls/winemac.drv/gdi.c
index 79dc348..40478fd 100644
--- a/dlls/winemac.drv/gdi.c
+++ b/dlls/winemac.drv/gdi.c
@@ -42,10 +42,6 @@ static inline MACDRV_PDEVICE *get_macdrv_dev(PHYSDEV dev)
static CGRect desktop_rect; /* virtual desktop rectangle */
static int horz_size; /* horz. size of screen in millimeters */
static int vert_size; /* vert. size of screen in millimeters */
-static int horz_res; /* width in pixels of screen */
-static int vert_res; /* height in pixels of screen */
-static int desktop_horz_res; /* width in pixels of virtual desktop */
-static int desktop_vert_res; /* height in pixels of virtual desktop */
static int bits_per_pixel; /* pixel depth of screen */
static int device_data_valid; /* do the above variables have up-to-date values? */
@@ -133,9 +129,6 @@ static void device_init(void)
{
CFStringRef pixelEncoding = CGDisplayModeCopyPixelEncoding(mode);
- horz_res = CGDisplayModeGetWidth(mode);
- vert_res = CGDisplayModeGetHeight(mode);
-
if (pixelEncoding)
{
if (CFEqual(pixelEncoding, CFSTR(IO32BitDirectPixels)))
@@ -149,21 +142,8 @@ static void device_init(void)
CGDisplayModeRelease(mode);
}
- else
- {
- horz_res = CGDisplayPixelsWide(mainDisplay);
- vert_res = CGDisplayPixelsHigh(mainDisplay);
- }
-
- if (retina_on)
- {
- horz_res *= 2;
- vert_res *= 2;
- }
compute_desktop_rect();
- desktop_horz_res = desktop_rect.size.width;
- desktop_vert_res = desktop_rect.size.height;
device_data_valid = TRUE;
}
@@ -260,25 +240,18 @@ static INT macdrv_GetDeviceCaps(PHYSDEV dev, INT cap)
case VERTSIZE:
ret = vert_size;
break;
- case HORZRES:
- ret = horz_res;
- break;
- case VERTRES:
- ret = vert_res;
- break;
- case DESKTOPHORZRES:
- ret = desktop_horz_res;
- break;
- case DESKTOPVERTRES:
- ret = desktop_vert_res;
- break;
case BITSPIXEL:
ret = bits_per_pixel;
break;
+ case HORZRES:
+ case VERTRES:
default:
LeaveCriticalSection(&device_data_section);
dev = GET_NEXT_PHYSDEV( dev, pGetDeviceCaps );
- return dev->funcs->pGetDeviceCaps( dev, cap );
+ ret = dev->funcs->pGetDeviceCaps( dev, cap );
+ if ((cap == HORZRES || cap == VERTRES) && retina_on)
+ ret *= 2;
+ return ret;
}
TRACE("cap %d -> %d\n", cap, ret);
More information about the wine-cvs
mailing list