svg_loader SceneBuilder: Use opacity() without using alpha color
authorJunsuChoi <jsuya.choi@samsung.com>
Thu, 3 Dec 2020 05:21:28 +0000 (14:21 +0900)
committerHermet Park <chuneon.park@samsung.com>
Thu, 3 Dec 2020 09:52:57 +0000 (18:52 +0900)
If opacity value is set in node,
opacity() API is used without composing alpha color.

Change-Id: I949454a346b60eb5e32d828784a56c36c4c45977

src/loaders/svg/tvgSvgSceneBuilder.cpp

index 14e3385..e1c1c0a 100644 (file)
@@ -232,11 +232,7 @@ void _applyProperty(SvgNode* node, Shape* vg, float vx, float vy, float vw, floa
     }
 
     //Apply node opacity
-    if (style->opacity < 255) {
-        uint8_t r, g, b, a;
-        vg->fillColor(&r, &g, &b, &a);
-        vg->fill(r, g, b, (a * style->opacity) / 255.0f);
-    }
+    if (style->opacity < 255) vg->opacity(style->opacity);
 
     if (node->type == SvgNodeType::G) return;
 
@@ -263,13 +259,6 @@ void _applyProperty(SvgNode* node, Shape* vg, float vx, float vy, float vw, floa
         vg->stroke(style->stroke.paint.r, style->stroke.paint.g, style->stroke.paint.b, style->stroke.opacity);
     }
 
-    //Apply node opacity to stroke color
-    if (style->opacity < 255) {
-        uint8_t r, g, b, a;
-        vg->strokeColor(&r, &g, &b, &a);
-        vg->stroke(r, g, b, (a * style->opacity) / 255.0f);
-    }
-
     //Apply composite node
     if (style->comp.node) {
         //Composite ClipPath