[evince] [libview] Use cairo_region_xor() when available
- From: Carlos Garcia Campos <carlosgc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evince] [libview] Use cairo_region_xor() when available
- Date: Mon, 12 Jul 2010 18:46:36 +0000 (UTC)
commit cb2b94df0d415021904d5f96c68447152a7bcf6b
Author: Carlos Garcia Campos <carlosgc gnome org>
Date: Mon Jul 12 20:01:25 2010 +0200
[libview] Use cairo_region_xor() when available
libview/ev-view.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
---
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]