From cb2b94df0d415021904d5f96c68447152a7bcf6b Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Mon, 12 Jul 2010 18:01:25 +0000 Subject: [libview] Use cairo_region_xor() when available --- (limited to 'libview/ev-view.c') diff --git a/libview/ev-view.c b/libview/ev-view.c index 61e4c0c..e024fb9 100644 --- a/libview/ev-view.c +++ b/libview/ev-view.c @@ -5664,12 +5664,14 @@ merge_selection_region (EvView *view, /* Now we figure out what needs redrawing */ if (old_sel && new_sel) { if (old_sel->covered_region && new_sel->covered_region) { - cairo_region_t *tbr; - /* We only want to redraw the areas that have * changed, so we xor the old and new regions * and redraw if it's different */ region = cairo_region_copy (old_sel->covered_region); +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 9, 12) + cairo_region_xor (region, new_sel->covered_region); +#else + cairo_region_t *tbr; tbr = cairo_region_copy (new_sel->covered_region); /* xor old_sel, new_sel*/ @@ -5677,6 +5679,7 @@ merge_selection_region (EvView *view, cairo_region_subtract (region, new_sel->covered_region); cairo_region_union (region, tbr); cairo_region_destroy (tbr); +#endif if (cairo_region_is_empty (region)) { cairo_region_destroy (region); -- cgit v0.9.1