[gtk+/wip/window-scales2: 8/40] pixel-cache: Refresh pixel cache on window scale factor changes.
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/window-scales2: 8/40] pixel-cache: Refresh pixel cache on window scale factor changes.
- Date: Wed, 3 Jul 2013 12:42:38 +0000 (UTC)
commit c9b52d8820792abdad5696d7a94235032bcb0108
Author: Alexander Larsson <alexl redhat com>
Date: Mon Jun 3 17:04:03 2013 +0200
pixel-cache: Refresh pixel cache on window scale factor changes.
gtk/gtkpixelcache.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkpixelcache.c b/gtk/gtkpixelcache.c
index 9b2f1d8..882dbcb 100644
--- a/gtk/gtkpixelcache.c
+++ b/gtk/gtkpixelcache.c
@@ -38,6 +38,7 @@ struct _GtkPixelCache {
int surface_y;
int surface_w;
int surface_h;
+ double surface_scale;
/* may be null if not dirty */
cairo_region_t *surface_dirty;
@@ -159,7 +160,8 @@ _gtk_pixel_cache_create_surface_if_needed (GtkPixelCache *cache,
cache->surface_w < view_rect->width ||
cache->surface_w > surface_w + ALLOW_LARGER_SIZE ||
cache->surface_h < view_rect->height ||
- cache->surface_h > surface_h + ALLOW_LARGER_SIZE))
+ cache->surface_h > surface_h + ALLOW_LARGER_SIZE ||
+ cache->surface_scale != gdk_window_get_scale_factor (window)))
{
cairo_surface_destroy (cache->surface);
cache->surface = NULL;
@@ -178,6 +180,7 @@ _gtk_pixel_cache_create_surface_if_needed (GtkPixelCache *cache,
cache->surface_y = -canvas_rect->y;
cache->surface_w = surface_w;
cache->surface_h = surface_h;
+ cache->surface_scale = gdk_window_get_scale_factor (window);
cache->surface =
gdk_window_create_similar_surface (window, content,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]