return mtarget;
}
-static void
+static Eina_Bool
_update_vg_tree(Tvg_Paint *root, const LOTLayerNode *layer, int depth EINA_UNUSED)
{
- if (!layer->mVisible) return;
+ if (!layer->mVisible) return EINA_FALSE;
Tvg_Paint *ptree = NULL;
//Source Layer
Tvg_Paint *ctree = tvg_scene_new();
- _update_vg_tree(ctree, clayer, depth+1);
+ Eina_Bool hastree = _update_vg_tree(ctree, clayer, depth+1);
if (matte_mode == TVG_COMPOSITE_METHOD_NONE)
{
tvg_scene_push(root, ctree);
}
- else
+ else if (hastree == EINA_TRUE)
{
tvg_paint_set_composite_method(ptree, ctree, matte_mode);
mtarget = ctree;
//Construct drawable nodes.
if (layer->mNodeList.size > 0)
_construct_drawable_nodes(root, layer, depth);
+
+ return layer->mLayerList.size || layer->mNodeList.size;
}
#endif