[gimp] app: draw all vectors strokes with one cairo_stroke()



commit 8e33205b6598d8af28c630d82265338bae3ead94
Author: Michael Natterer <mitch gimp org>
Date:   Fri Sep 17 22:29:51 2010 +0200

    app: draw all vectors strokes with one cairo_stroke()

 app/display/gimpdisplayshell-draw.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-draw.c b/app/display/gimpdisplayshell-draw.c
index 0fdf861..a968b05 100644
--- a/app/display/gimpdisplayshell-draw.c
+++ b/app/display/gimpdisplayshell-draw.c
@@ -589,25 +589,27 @@ gimp_display_shell_draw_one_vectors (GimpDisplayShell *shell,
                                      GimpVectors      *vectors,
                                      gdouble           width)
 {
-  GimpStroke *stroke = NULL;
+  GimpStroke *stroke;
 
-  while ((stroke = gimp_vectors_stroke_get_next (vectors, stroke)))
+  for (stroke = gimp_vectors_stroke_get_next (vectors, NULL);
+       stroke;
+       stroke = gimp_vectors_stroke_get_next (vectors, stroke))
     {
       const GimpBezierDesc *desc = gimp_vectors_get_bezier (vectors);
 
       if (desc)
         {
           cairo_append_path (cr, (cairo_path_t *) desc);
-
-          cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.6);
-          cairo_set_line_width (cr, 3 * width);
-          cairo_stroke_preserve (cr);
-
-          cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.8);
-          cairo_set_line_width (cr, width);
-          cairo_stroke (cr);
         }
     }
+
+  cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 0.6);
+  cairo_set_line_width (cr, 3 * width);
+  cairo_stroke_preserve (cr);
+
+  cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.8);
+  cairo_set_line_width (cr, width);
+  cairo_stroke (cr);
 }
 
 void



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