vg_common_svg: added stroke color premultiplication 91/255791/2
authorMira Grudzinska <m.grudzinska@samsung.com>
Tue, 23 Mar 2021 19:09:50 +0000 (20:09 +0100)
committerHermet Park <chuneon.park@samsung.com>
Wed, 24 Mar 2021 09:52:25 +0000 (09:52 +0000)
The color of a stroke has to be premultiplied before beeing redirected
to evas_vg_shape_stroke_color_set.

Change-Id: I15364019db8129e5a46d975b4bcfc586f4c71d61

src/static_libs/vg_common/vg_common_svg.c

index e6f0223..518a34a 100644 (file)
@@ -824,14 +824,16 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG *parent, Vg_File_Data *vg_
    else if (style->stroke.paint.cur_color)
      {
         // apply the current style color
-        evas_vg_shape_stroke_color_set(vg, style->r, style->g,
-                                       style->b, style->stroke.opacity);
+        float fa = ((float) style->stroke.opacity / 255);
+        evas_vg_shape_stroke_color_set(vg, ((float) style->r) * fa, ((float) style->g) * fa,
+                                  ((float) style->b) * fa, style->stroke.opacity);
      }
    else
      {
         // apply the stroke color
-        evas_vg_shape_stroke_color_set(vg, style->stroke.paint.r, style->stroke.paint.g,
-                                       style->stroke.paint.b, style->stroke.opacity);
+        float fa = ((float) style->stroke.opacity / 255);
+        evas_vg_shape_stroke_color_set(vg, ((float) style->stroke.paint.r) * fa, ((float) style->stroke.paint.g) * fa,
+                                  ((float) style->stroke.paint.b) * fa, style->stroke.opacity);
      }
 
    //apply node opacity to stroke color