{
LOTLayerNode *clayer = layer->mLayerList.ptr[i];
+#if DEBUG
+ for (int i = 0; i < depth; i++) printf(" ");
+ printf("[layer %03d] matte:%d keypath:%s%s\n", i, matte_mode, clayer->keypath, clayer->mVisible?"":" visible:FALSE");
+#endif
+
if (!clayer->mVisible)
{
if (ptree && matte_mode != TVG_COMPOSITE_METHOD_NONE)
tvg_paint_set_opacity(ptree, 0);
matte_mode = TVG_COMPOSITE_METHOD_NONE;
mtarget = NULL;
+
+ //If layer has a masking layer, skip it
+ if (clayer->mMatte != MatteNone) i++;
continue;
}
-#if DEBUG
- for (int i = 0; i < depth; i++) printf(" ");
- printf("[layer %03d] matte:%d keypath:%s%s\n", i, matte_mode, clayer->keypath, clayer->mVisible?"":" visible:FALSE");
-#endif
-
//Source Layer
Tvg_Paint *ctree = tvg_scene_new();
_update_vg_tree(ctree, clayer, depth+1);