diff options
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c index 3a7e31e7129..943f4c3b3d8 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -360,10 +360,15 @@ x_begin_cr_clip (struct frame *f, GC gc) | |||
| 360 | 360 | ||
| 361 | if (! FRAME_CR_SURFACE (f)) | 361 | if (! FRAME_CR_SURFACE (f)) |
| 362 | { | 362 | { |
| 363 | int scale = 1; | ||
| 364 | #ifdef USE_GTK | ||
| 365 | scale = xg_get_scale (f); | ||
| 366 | #endif | ||
| 367 | |||
| 363 | FRAME_CR_SURFACE (f) = | 368 | FRAME_CR_SURFACE (f) = |
| 364 | cairo_image_surface_create (CAIRO_FORMAT_ARGB32, | 369 | cairo_image_surface_create (CAIRO_FORMAT_ARGB32, |
| 365 | FRAME_PIXEL_WIDTH (f), | 370 | scale * FRAME_PIXEL_WIDTH (f), |
| 366 | FRAME_PIXEL_HEIGHT (f)); | 371 | scale * FRAME_PIXEL_HEIGHT (f)); |
| 367 | } | 372 | } |
| 368 | cr = cairo_create (FRAME_CR_SURFACE (f)); | 373 | cr = cairo_create (FRAME_CR_SURFACE (f)); |
| 369 | FRAME_CR_CONTEXT (f) = cr; | 374 | FRAME_CR_CONTEXT (f) = cr; |
| @@ -999,8 +1004,9 @@ x_update_begin (struct frame *f) | |||
| 999 | if (FRAME_GTK_WIDGET (f)) | 1004 | if (FRAME_GTK_WIDGET (f)) |
| 1000 | { | 1005 | { |
| 1001 | GdkWindow *w = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); | 1006 | GdkWindow *w = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); |
| 1002 | width = gdk_window_get_width (w); | 1007 | int scale = xg_get_scale (f); |
| 1003 | height = gdk_window_get_height (w); | 1008 | width = scale * gdk_window_get_width (w); |
| 1009 | height = scale * gdk_window_get_height (w); | ||
| 1004 | } | 1010 | } |
| 1005 | else | 1011 | else |
| 1006 | #endif | 1012 | #endif |