cnd->render_pre_tvg(obj, child, cnd, cTransform, canvas, cd->scene);
}
+ //We don't want to push composition sources
+ //FIX_TVG: when thorvg will be default, Vg_Comp structure with additional buffer and pixels
+ //will be removed. Then we can use only one boolean to verify if render_pre is called for
+ //composite object
+
+ //FIX_TVG: or maybe we can avoid to call render_pre for composite objects?
+ if (cd->comp.src) return;
+
if (scene) tvg_scene_push(scene, cd->scene);
else if (canvas) tvg_canvas_push(canvas, cd->scene);
}
{
Efl_Canvas_Vg_Container_Data *pd2 = efl_data_scope_get(target, MY_CLASS);
pd2->comp.src = eina_list_append(pd2->comp.src, obj);
+#ifdef HAVE_THORVG
+ //FIX_TVG: currently only matte alpha is supported. Observed crash in thorvg when CLIP_PATH method is used.
+ if (method == EFL_GFX_VG_COMPOSITE_METHOD_MATTE_ALPHA)
+ tvg_paint_set_composite_method(pd->scene, pd2->scene, TVG_COMPOSITE_METHOD_ALPHA_MASK);
+#endif
}
pd->comp.method = method;