summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wimpress <[email protected]>2016-06-08 16:12:48 +0100
committerMartin Wimpress <[email protected]>2016-06-08 16:45:42 +0100
commitad32b4d69a5a56d416502fb2e3bb5f2c1e6a605c (patch)
tree81a72bb54a6bbf17a8a9d056bf5864369a5bd822
parent629636cb78ac1200c3dbe9d2c1c70362cd690f8b (diff)
downloadeom-ad32b4d69a5a56d416502fb2e3bb5f2c1e6a605c.tar.bz2
eom-ad32b4d69a5a56d416502fb2e3bb5f2c1e6a605c.tar.xz
Fix the zoom and scroll performance. Closes #105.
Adapted from https://git.gnome.org/browse/eog/commit/?id=3d1859e321b9dea27e49bab9626044f3f5835420
-rw-r--r--src/eom-scroll-view.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/eom-scroll-view.c b/src/eom-scroll-view.c
index 6d1b290..5ec6c57 100644
--- a/src/eom-scroll-view.c
+++ b/src/eom-scroll-view.c
@@ -1355,9 +1355,10 @@ display_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer data)
cairo_scale (cr, priv->zoom, priv->zoom);
cairo_set_source_surface (cr, priv->surface, xofs/priv->zoom, yofs/priv->zoom);
cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_PAD);
- if ((is_zoomed_in (view) && priv->interp_type_in == CAIRO_FILTER_NEAREST) ||
- (is_zoomed_out (view) && priv->interp_type_out == CAIRO_FILTER_NEAREST))
- cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_NEAREST);
+ if (is_zoomed_in (view))
+ cairo_pattern_set_filter (cairo_get_source (cr), priv->interp_type_in);
+ else if (is_zoomed_out (view))
+ cairo_pattern_set_filter (cairo_get_source (cr), priv->interp_type_out);
cairo_paint (cr);
}