This patch supports multiple masks for multiple attributes on a layer.
Make main_mask_layer and make each mask EFL_CANVAS_VG_CONTAINER_CLASS and connect them.
main_mask_layer is made for masks
The masks are composited into main_mask_layer in order.
main_mask_layer exists for the intersect option in last order
This can be optimized later, and is created and used temporarily in this patch.
Details
- Reviewers
Hermet
If there are three masks, they can be created as below.
mask_set(clayer, main_mask);
mask_set(main_mask, mask_1);
mask_set(mask_1, mask_2);
mask_set(mask_2, mask_3);
Diff Detail
- Repository
- rEFL core/efl
- Branch
- devs/hermet/lottie
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 10913 Build 8485: arc lint + arc unit
please check a comment.
src/static_libs/vg_common/vg_common_json.c | ||
---|---|---|
28 | Please consider this offset is necessary... I don't see any point here. |
Please check comments.
src/static_libs/vg_common/vg_common_json.c | ||
---|---|---|
256 | unnecessary casting ((float) 255) | |
299 | Let keep code consistency.. | |
302 | //make main_mask_layer /* ? | |
307 | mask_layer = efl_add(EFL_CANVAS_VG_CONTAINER_CLASS, ctree); | |
309 | default is visible, don't need to call this. | |
320 | int => size_t | |
337 | In point of assembly code, case MaskAdd: mask_mode = EFL_CANVAS_VG_NODE_BLEND_TYPE_MASK_ADD; break; case MaskSubtract: mask_mode = EFL_CANVAS_VG_NODE_BLEND_TYPE_MASK_SUB; break; ... See how matte_mode does. |
src/static_libs/vg_common/vg_common_json.c | ||
---|---|---|
320 | i will change int to unsigned int like other code. |