SvgLoader: Fix opacity propagation

Remove duplicate opacity calculation of the scene.

Change-Id: I1253ea290e78fdbf946a492ebfcaaa082fbfc121
This commit is contained in:
JunsuChoi 2020-07-23 10:14:46 +09:00 committed by Hermet Park
parent 4d72eeda15
commit 62aa24d9ad

View file

@ -335,9 +335,11 @@ unique_ptr<Scene> _sceneBuildHelper(SvgNode* node, float vx, float vy, float vw,
node->style->opacity = (node->style->opacity * parentOpacity) / 255.0f;
if (node->display) {
for (auto child : node->child) {
child->style->opacity = (child->style->opacity * node->style->opacity) / 255.0f;
if (child->type == SvgNodeType::Doc || child->type == SvgNodeType::G) scene->push(_sceneBuildHelper(child, vx, vy, vw, vh, node->style->opacity));
else scene->push(_shapeBuildHelper(child, vx, vy, vw, vh));
else {
child->style->opacity = (child->style->opacity * node->style->opacity) / 255.0f;
scene->push(_shapeBuildHelper(child, vx, vy, vw, vh));
}
}
}
return move(scene);