From aa81262f116d32936abc62324e170ade1fc68578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Tue, 24 Feb 2015 17:20:22 +0800 Subject: [PATCH] wayland: Scale up wl_egl_window according to window scale In order to support window scales for EGL windows, resize the wl_egl_window to the window dimension multiplied with the window scale, just as with SHM window buffers. https://bugzilla.gnome.org/show_bug.cgi?id=745076 --- gdk/wayland/gdkwindow-wayland.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c index 547aca51ac..b5f048afcd 100644 --- a/gdk/wayland/gdkwindow-wayland.c +++ b/gdk/wayland/gdkwindow-wayland.c @@ -181,7 +181,13 @@ gdk_wayland_window_update_size (GdkWindow *window, impl->scale = scale; if (impl->egl_window) - wl_egl_window_resize (impl->egl_window, width, height, 0, 0); + { + wl_egl_window_resize (impl->egl_window, + width * scale, + height * scale, + 0, 0); + wl_surface_set_buffer_scale (impl->surface, scale); + } area.x = 0; area.y = 0; @@ -2262,8 +2268,9 @@ gdk_wayland_window_get_wl_egl_window (GdkWindow *window) { impl->egl_window = wl_egl_window_create(impl->surface, - impl->wrapper->width, - impl->wrapper->height); + impl->wrapper->width * impl->scale, + impl->wrapper->height * impl->scale); + wl_surface_set_buffer_scale (impl->surface, impl->scale); } return impl->egl_window;