forked from AuroraMiddleware/gtk
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
This commit is contained in:
parent
56c9eac16e
commit
aa81262f11
@ -181,7 +181,13 @@ gdk_wayland_window_update_size (GdkWindow *window,
|
|||||||
impl->scale = scale;
|
impl->scale = scale;
|
||||||
|
|
||||||
if (impl->egl_window)
|
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.x = 0;
|
||||||
area.y = 0;
|
area.y = 0;
|
||||||
@ -2262,8 +2268,9 @@ gdk_wayland_window_get_wl_egl_window (GdkWindow *window)
|
|||||||
{
|
{
|
||||||
impl->egl_window =
|
impl->egl_window =
|
||||||
wl_egl_window_create(impl->surface,
|
wl_egl_window_create(impl->surface,
|
||||||
impl->wrapper->width,
|
impl->wrapper->width * impl->scale,
|
||||||
impl->wrapper->height);
|
impl->wrapper->height * impl->scale);
|
||||||
|
wl_surface_set_buffer_scale (impl->surface, impl->scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
return impl->egl_window;
|
return impl->egl_window;
|
||||||
|
Loading…
Reference in New Issue
Block a user