hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f247a55b5052cb73f365e18f08128b64b2b9d524
commit f247a55b5052cb73f365e18f08128b64b2b9d524 Author: Hermet Park <[email protected]> Date: Thu Oct 17 17:39:26 2019 +0900 vector json: fix a ordering issue of stroke. for optimization, we created a shape node in a lazy way, This introduced corrupted layering order issue. We fix it by keeping the object creation order. Layzing creation is just for an ideal case, It doesn't verified the performance. --- src/static_libs/vg_common/vg_common_json.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/src/static_libs/vg_common/vg_common_json.c b/src/static_libs/vg_common/vg_common_json.c index 138b85abb8..2c31d7881a 100644 --- a/src/static_libs/vg_common/vg_common_json.c +++ b/src/static_libs/vg_common/vg_common_json.c @@ -54,18 +54,6 @@ _construct_drawable_nodes(Efl_Canvas_Vg_Container *parent, const LOTLayerNode *l 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; - char *key = _get_key_val(node); Efl_Canvas_Vg_Shape *shape = efl_key_data_get(parent, key); if (!shape) @@ -76,6 +64,16 @@ _construct_drawable_nodes(Efl_Canvas_Vg_Container *parent, const LOTLayerNode *l else efl_gfx_path_reset(shape); + //Skip Invisible Stroke? + if (node->mStroke.enable && node->mStroke.width == 0) + { + efl_gfx_entity_visible_set(shape, EINA_FALSE); + continue; + } + + const float *data = node->mPath.ptPtr; + if (!data) continue; + efl_gfx_entity_visible_set(shape, EINA_TRUE); #if DEBUG for (int i = 0; i < depth; i++) printf(" "); --
