diff Framework/Scene2D/Internals/CairoPolylineRenderer.cpp @ 804:61ba4b504e9a

PolylineSceneLayer now has one color per chain
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 28 May 2019 15:58:21 +0200
parents 6e471e6cf09b
children 6e888cf6a48b
line wrap: on
line diff
--- a/Framework/Scene2D/Internals/CairoPolylineRenderer.cpp	Tue May 28 14:18:46 2019 +0200
+++ b/Framework/Scene2D/Internals/CairoPolylineRenderer.cpp	Tue May 28 15:58:21 2019 +0200
@@ -33,11 +33,15 @@
       
       cairo_t* cr = GetCairoContext();
 
-      cairo_set_source_rgb(cr, layer.GetRedAsFloat(), layer.GetGreenAsFloat(), layer.GetBlueAsFloat());
       cairo_set_line_width(cr, layer.GetThickness());
       
       for (size_t i = 0; i < layer.GetChainsCount(); i++)
       {
+        const Color& color = layer.GetColor(i);
+        cairo_set_source_rgb(cr, color.GetRedAsFloat(),
+                             color.GetGreenAsFloat(),
+                             color.GetBlueAsFloat());
+
         const PolylineSceneLayer::Chain& chain = layer.GetChain(i);
 
         if (!chain.empty())
@@ -62,9 +66,9 @@
             cairo_line_to(cr, p.GetX(), p.GetY());
           }
         }
+
+        cairo_stroke(cr);
       }
-
-      cairo_stroke(cr);
     }
   }
 }