Fix scaling problem in Cairo builds

* src/xterm.c (x_begin_cr_clip) [USE_GTK]:
(x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
(Bug#33442)
This commit is contained in:
Ari Roponen 2018-11-30 14:09:09 +02:00 committed by Eli Zaretskii
parent 2b9e9937b4
commit 1d743d2461

View file

@ -360,10 +360,15 @@ x_begin_cr_clip (struct frame *f, GC gc)
if (! FRAME_CR_SURFACE (f))
{
int scale = 1;
#ifdef USE_GTK
scale = xg_get_scale (f);
#endif
FRAME_CR_SURFACE (f) =
cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
FRAME_PIXEL_WIDTH (f),
FRAME_PIXEL_HEIGHT (f));
scale * FRAME_PIXEL_WIDTH (f),
scale * FRAME_PIXEL_HEIGHT (f));
}
cr = cairo_create (FRAME_CR_SURFACE (f));
FRAME_CR_CONTEXT (f) = cr;
@ -1006,8 +1011,9 @@ x_update_begin (struct frame *f)
if (FRAME_GTK_WIDGET (f))
{
GdkWindow *w = gtk_widget_get_window (FRAME_GTK_WIDGET (f));
width = gdk_window_get_width (w);
height = gdk_window_get_height (w);
int scale = xg_get_scale (f);
width = scale * gdk_window_get_width (w);
height = scale * gdk_window_get_height (w);
}
else
#endif