if (!nd->visibility)
return;
- if (scene)
+ if (nd->a < 255) tvg_paint_set_opacity(cd->scene, nd->a);
+
+ if (scene != NULL)
tvg_scene_push(scene, cd->scene);
- else if (canvas)
+ else if (scene == NULL && canvas != NULL)
tvg_canvas_push(canvas, cd->scene);
EFL_CANVAS_VG_COMPUTE_MATRIX(cTransform, pTransform, nd);
}
}
-static void
-_efl_canvas_vg_container_efl_gfx_color_color_set(Eo *obj, Efl_Canvas_Vg_Container_Data *pd, int r, int g, int b, int a)
-{
- efl_gfx_color_set(efl_super(obj, MY_CLASS), r, g, b, a);
-
-#ifdef HAVE_THORVG
- if (pd->scene) tvg_paint_set_opacity(pd->scene, a);
-#endif
-}
-
-
static Efl_VG *
_efl_canvas_vg_container_child_get(Eo *obj EINA_UNUSED, Efl_Canvas_Vg_Container_Data *pd, const char *name)
{
node->display = evas_vg_node_visible_get(vg);
- if (node->type == SVG_NODE_G) return;
+ if (node->type == SVG_NODE_G) {
+ evas_vg_node_color_get(vg, NULL, NULL, NULL, &style->opacity);
+ return;
+ }
// apply the fill style property
#ifndef HAVE_THORVG