summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-06-05 16:42:15 +0900
committerHermet Park <hermetpark@gmail.com>2019-06-21 17:43:23 +0900
commit270c61dbb74f8f6e4f800f78b054a9da8cb84848 (patch)
tree0e31f32c69e062076850a2226651529212b2866a
parent431b5e817c5652d39560fc2a416f87b948cc8d64 (diff)
downloadefl-270c61dbb74f8f6e4f800f78b054a9da8cb84848.tar.gz
canvas vg: optmize lottie vector tree.
Skip invisible stroke nodes as possible.
-rw-r--r--src/static_libs/vg_common/vg_common_json.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/static_libs/vg_common/vg_common_json.c b/src/static_libs/vg_common/vg_common_json.c
index c97bfeaa08..3d00bbb842 100644
--- a/src/static_libs/vg_common/vg_common_json.c
+++ b/src/static_libs/vg_common/vg_common_json.c
@@ -42,6 +42,15 @@ _construct_drawable_nodes(Efl_Canvas_Vg_Container *parent, const LOTLayerNode *l
LOTNode *node = layer->mNodeList.ptr[i];
if (!node) continue;
+ //Skip Invisible Stroke?
+ if (node->mStroke.enable && node->mStroke.width == 0)
+ {
+ char *key = _get_key_val(node);
+ Efl_Canvas_Vg_Shape *shape = efl_key_data_get(parent, key);
+ if (shape) efl_gfx_entity_visible_set(shape, EINA_FALSE);
+ continue;
+ }
+
const float *data = node->mPath.ptPtr;
if (!data) continue;