[PATCH 4/6] winex11.drv: Add set_screen_size() helper.
Zhiyi Zhang
zzhang at codeweavers.com
Fri Jul 24 04:23:08 CDT 2020
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
dlls/winex11.drv/xrandr.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c
index cc881889430..4bbba15a259 100644
--- a/dlls/winex11.drv/xrandr.c
+++ b/dlls/winex11.drv/xrandr.c
@@ -466,6 +466,16 @@ static void get_screen_size( XRRScreenResources *resources, unsigned int *width,
}
}
+static void set_screen_size( int width, int height )
+{
+ int screen = default_visual.screen;
+ int mm_width, mm_height;
+
+ mm_width = width * DisplayWidthMM( gdi_display, screen ) / DisplayWidth( gdi_display, screen );
+ mm_height = height * DisplayHeightMM( gdi_display, screen ) / DisplayHeight( gdi_display, screen );
+ pXRRSetScreenSize( gdi_display, root_window, width, height, mm_width, mm_height );
+}
+
static LONG xrandr12_set_current_mode( int mode )
{
unsigned int screen_width, screen_height;
@@ -515,12 +525,7 @@ static LONG xrandr12_set_current_mode( int mode )
get_screen_size( resources, &screen_width, &screen_height );
screen_width = max( screen_width, crtc_info->x + dd_modes[mode].width );
screen_height = max( screen_height, crtc_info->y + dd_modes[mode].height );
-
- pXRRSetScreenSize( gdi_display, root_window, screen_width, screen_height,
- screen_width * DisplayWidthMM( gdi_display, default_visual.screen )
- / DisplayWidth( gdi_display, default_visual.screen ),
- screen_height * DisplayHeightMM( gdi_display, default_visual.screen )
- / DisplayHeight( gdi_display, default_visual.screen ));
+ set_screen_size( screen_width, screen_height );
status = pXRRSetCrtcConfig( gdi_display, resources, resources->crtcs[primary_crtc],
CurrentTime, crtc_info->x, crtc_info->y, xrandr12_modes[mode],
--
2.25.1
More information about the wine-devel
mailing list