[goffice] GOPattern: improve semi-circle rendering.



commit 4c9842764483eb53e496c92329788a6cfe544bc6
Author: Morten Welinder <terra gnome org>
Date:   Fri Apr 3 18:06:57 2015 -0400

    GOPattern: improve semi-circle rendering.
    
    1. Use round line endings
    2. Make just one path

 ChangeLog                  |    1 +
 goffice/utils/go-pattern.c |    7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 4b86b12..8fa7be9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@
 
        * goffice/utils/go-pattern.c (go_pattern_create_cairo_pattern):
        Don't use 8x8 bitmaps for patterns.  Draw all patterns with cairo.
+       (create_direct_pattern): Improve semi-circles rendering.
 
 2015-04-02  Morten Welinder  <terra gnome org>
 
diff --git a/goffice/utils/go-pattern.c b/goffice/utils/go-pattern.c
index 7d3c929..a7abbac 100644
--- a/goffice/utils/go-pattern.c
+++ b/goffice/utils/go-pattern.c
@@ -621,15 +621,16 @@ create_direct_pattern (GOPattern const *pattern, cairo_t *cr)
        }
 
        case GO_PATTERN_SEMI_CIRCLES:
+               cairo_set_line_cap (cr_tmp, CAIRO_LINE_CAP_ROUND);
                cairo_arc (cr_tmp, target_size / 2.0, target_size / 2.0,
                           target_size / 2.0, 0, M_PI);
-               cairo_stroke (cr_tmp);
+               cairo_new_sub_path (cr_tmp);
                cairo_arc (cr_tmp, 0, 0,
                           target_size / 2.0, 0, M_PI);
-               cairo_stroke (cr_tmp);
+               cairo_new_sub_path (cr_tmp);
                cairo_arc (cr_tmp, target_size, 0,
                           target_size / 2.0, 0, M_PI);
-               cairo_stroke (cr_tmp);
+               cairo_new_sub_path (cr_tmp);
                cairo_arc (cr_tmp, target_size / 2.0, -target_size / 2.0,
                           target_size / 2.0, 0, M_PI);
                cairo_stroke (cr_tmp);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]