Add Eo classes workarround for disabiling ector#482
Add Eo classes workarround for disabiling ector#482Coquinho wants to merge 13 commits intodevs/jptiz/optional-ectorfrom
Conversation
This creates `_base` class to `evas` `eo` classes that use/need filter `ector`'s filter functionalities. When `ector` is enabled `_vg` classes inherite from `_base` and define the same filter functions as originaly intended and used to generate the original class. When `ector` is desanabled`_non_vg` just inherite from `_base` and is used to generate the original class.
src/lib/evas/canvas/meson.build
Outdated
There was a problem hiding this comment.
Not too much, but...
| ['efl_canvas_group.eo', 'efl_canvas_group_vg.eo_template', 'efl_canvas_group_non_vg.eo_template'], | |
| ['efl_canvas_image_internal.eo', 'efl_canvas_image_internal_vg.eo_template', 'efl_canvas_image_internal_non_vg.eo_template'], | |
| ['efl_canvas_textblock.eo', 'efl_canvas_textblock_vg.eo_template', 'efl_canvas_textblock_non_vg.eo_template'], | |
| ['efl_canvas_group.eo', | |
| 'efl_canvas_group_vg.eo_template', | |
| 'efl_canvas_group_non_vg.eo_template'], | |
| ['efl_canvas_image_internal.eo', | |
| 'efl_canvas_image_internal_vg.eo_template', | |
| 'efl_canvas_image_internal_non_vg.eo_template'], | |
| ['efl_canvas_textblock.eo', | |
| 'efl_canvas_textblock_vg.eo_template', | |
| 'efl_canvas_textblock_non_vg.eo_template'], |
We could also change it into a dict (for better semantics) or just store the prefix and add _vg and _non_vg + .eo and .eo_template inside the foreach loop.
There was a problem hiding this comment.
I've reworked this, what do you think about it
| copy: true, | ||
| ) | ||
|
|
||
| priv_eo_file_target += custom_target('eolian_gen_' + eo_file, |
There was a problem hiding this comment.
Where is this variable initialized?
There was a problem hiding this comment.
src/lib/eo/meson.build:28:priv_eo_file_target = []
and elementary rewrite it:
src/lib/elementary/meson.build:250:priv_eo_file_target = []
There was a problem hiding this comment.
Hm, do we want to append? How does it work/how is it processed?
There was a problem hiding this comment.
I actually don't know how/why this works/is processed, here I'm just mimicking this, as it was done before this patch. So, just maintaining the same semantics.
| { | ||
| Eolian_State *eos = eolian_state_new(); | ||
| fail_if(!eolian_state_directory_add(eos, EO_SRC_DIR)); | ||
| fail_if(!eolian_state_directory_add(eos, EO_BUILD_DIR)); |
There was a problem hiding this comment.
Why do we need this? (And what does this test-case tests exactly?)
There was a problem hiding this comment.
This kinda loads all the .eos at that directory, the next line compiles them all. As now there are some eos classes at the build dir, we need to include them as well to address all dependencies.
This PR define vector-graphics and non vector-grafics eo classes "templates" for:
src/lib/efl/interfaces/efl_text_style.eosrc/lib/evas/canvas/efl_canvas_group.eosrc/lib/evas/canvas/efl_canvas_image_internal.eosrc/lib/evas/canvas/efl_canvas_textblock.eo