path: root/src/lib/evas/Evas_Legacy.h (follow)
AgeCommit message (Collapse)Author
2020-12-15evas: Rename EAPI macro to EVAS_API in Evas libraryFelipe Magno de Almeida
Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. = The Rationale = This patch is from a series of patches to rename EAPI symbols to specific library DSOs. EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))`. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why LIBAPI is the only solution that works for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <> Co-authored-by: Lucas Cavalcante de Sousa <> Co-authored-by: Ricardo Campos <> Reviewers: vtorri, woohyun, jptiz, lucas Reviewed By: vtorri, lucas Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-09-10docs: Correct the mismatched group name in Evas.Myoungwoon Roy, Kim
I had found mismatched group name in Evas and fixed them. Reviewed-by: Stefan Schmidt <> Differential Revision:
2020-07-14docs: Correct the wrong API group name and typo in Evas, Eet, Eina, Eio and ↵Myoungwoon Roy, Kim
Elementary Summary: I found wrong API reference group name in mapbuf, Evas, Eet, Eina, Eio and fixed them. Test Plan: API reference documentation modification only Reviewers: segfaultxavi, stefan_schmidt Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-07-06Fix typos - (Part #2)Elyes HAOUAS
Fix some typos Reviewed-by: Stefan Schmidt <> Differential Revision:
2020-06-23Get rid of trailing whitespaces (12 / 14)Elyes HAOUAS
Remove trailing whitespaces Differential Revision:
2020-05-12evas_vg_node: deprecate evas_vg_node_geometry_set.JunsuChoi
Summary: The geometry info of evas_vg_node is based on Efl.Path_Bounds. The size of vg_node does not change unless path data is changed. Therefore, this API does not work normally. Test Plan: N/A Reviewers: Hermet, kimcinoo, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-05-08doxygen docs: Fix problems in Evas_CanvasXavi Artigas
- Put some methods in a group so they are accessible and can be linked to. - Remove references to Efl_ methods, unavailable in Legacy. - Incorrect param names and typos
2020-04-27doxygen docs: Fix most errors on Evas_Legacy.hXavi Artigas
Oh boy... References to Unified API, horribly misshapen groups, typos, invalid commands, invalid references, and on top of that, Evas VG.
2020-04-27doxygen docs: Match doc with correct enum for Render_OpXavi Artigas
Docs did not match the intended enum value due to incorrect usage of the doxygen tags. Also, Evas_Render_Op was the only member of the top-level Evas group, so I moved it inside one subgroup, where methods using it reside.
2020-04-27doxygen docs: Put APIs in correct groupXavi Artigas
"Evas_Object" does not exist as a group, so the docs for these 29 methods did not show in the output.
2020-04-20doxygen docs: Fix all invalid @param namesXavi Artigas
There were quite a few of these...
2020-04-14doxygen docs: Proper usage of @ingroup and @addtogroupXavi Artigas
This patch brings in a lot of docs which were missing before. Unfortunately, this brings along their warnings so this ends up adding more warnings than it fixes. Still, a step in the right direction. @ingroup puts the current block into the specified group, but IT DOES NOT allow opening groups with @{. This was used in lots of places, resulting in misplaced or ignored documentation. @ingroup should be used only in individual docs. For groups we use @defgroup and @addtogroup. Also,this patch adds some small missing docs.
2020-04-14doxygen docs: Fix double groupXavi Artigas
And missing group title in one of them.
2020-04-02doxygen docs: some fixes in Evas_Legacy.hXavi Artigas
This brings into the docs hundreds of methods! due to the ingroup->defgroup mistake, they were out of any scope and therefore they were silently ignored by doxygen. Also, document lots of missing "obj" parameters. Not strictly necessary, but this further reduces the number of doxygen warnings.
2020-03-17evas_vg: modified the join enum documentationTaehyub Kim
Summary: modified the join enum documentation for Efl_Gfx_Join and Evas_Vg_Join since the order of documentation is wrong Depends on D11519 Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-17evas_vg: add since tags for evas vector APIsTaehyub Kim
Summary: Depends on D11518 Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-17evas_vg: refined the documentation for evas vector APIsTaehyub Kim
Summary: Depends on D11517 Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-17evas_vg: refined the evas vector APIs setTaehyub Kim
Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2020-03-10doxygen docs: Fix tons of invalid Doxygen commandsXavi Artigas
Mostly typos
2020-03-10evas.image: add evas_object_image_animated_frame_getShinwoo Kim
this adds an api for getting the current frame of an animation Differential Revision:
2020-03-09doxygen docs: Move smart object methods to proper groupXavi Artigas
Move smart object methods from @ingroup Evas_Canvas to Evas_Smart_Object_Group Also, remove lots of redundant @ingroup Evas_Smart_Object_Group
2020-02-28docs: Give some doc love to Evas_Object_VgXavi Artigas
2020-02-28doxygen: fix missing titles in addgroupXavi Artigas
2019-06-21evas vector: support lottie animation as using json loader.Hermet Park
Summary: This patch extends efl_canvas_vg_object class to implement efl_gfx_frame_controller to suppor any playable animation on it. Plus, vector object takes care of lottie animation by using json loader. it's caching mechanism is changed to cache only static frame, not all frames. vg_cache supports json loader and make it animation request properly. This feature has been stabilized enough, it's using in Samsung Galaxy Watch active product, proved its stability enough. Depends on {D8940} Co-authored-by: JunsuChoi <> Reviewers: #committers, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2019-04-18evas_legacy: remove unused generated legacy includesDaniel Kolesa
These define types never used in Evas_Legacy.h.
2019-04-02docs: Fix common misspellings in H filesXavi Artigas
Fixed all appearances of words from this list in H files:
2019-03-09Revert "elementary,evas: remove obsolete legacy includes"Carsten Haitzler (Rasterman)
This reverts commit c876ac52d91806bfc6440b10387ccb91e6a75abf. This is not safe to remove - this breaks enlightenment. perhaps test with the reason efl exists in the first place before delcaring it safe? specifically this removed some function symbols in efl_canvas_event_grabber_eo.legacy.c ...
2019-03-08elementary,evas: remove obsolete legacy includesDaniel Kolesa
Summary: Since the removal of legacy interfaces from eo files, these files contain nothing useful, and can safely be removed. One exception is `efl_ui_layout.eo.legacy.h`, which will require more involved work to remove, since a lot of things seem to depend on the Efl_Ui_Layout typedef being present, wrongly (i suspect this will break everything with `EFL_NOLEGACY_API_SUPPORT`). Reviewers: cedric, zmike, bu5hm4n Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2019-03-06evas: remove all legacy usage from eo filesMike Blumenkrantz
this takes the current generated output from eolian for legacy code in evas and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Marcel Hollerbach <> Differential Revision:
2019-02-27efl.canvas.object: clip -> clipper && clipees -> clipped_objectsMike Blumenkrantz
Summary: also clipees_has -> clipped_objects_count ref T7555 Depends on D8039 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7555 Differential Revision: group_member_del -> group_member_removeMike Blumenkrantz
Summary: api naming in efl uses 'del' when deleting an object and 'remove' when removing something from an object ref T7554 Depends on D8034 Reviewers: segfaultxavi, bu5hm4n Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl_api Maniphest Tasks: T7554 Differential Revision:
2019-02-25efl_canvas_object: remove event_freezeMarcel Hollerbach
this is now done via Efl.Object.event_freeze / Efl.Object.event_thaw. ref T7555 Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-02-25efl_canvas_object: make is_frame_object internalMarcel Hollerbach
it was decided that this property should be internal. So now it is internal. ref T7555 Reviewed-by: Mike Blumenkrantz <> Differential Revision:
2019-02-21Rename Efl.Gfx.Map -> Efl.Gfx.MappingXavi Artigas
Summary: For clarity, since there are all kinds of maps, including a navigation map widget. Also, corrected some misspellings. Test Plan: make && make check && make examples all work Reviewers: cedric, zmike, bu5hm4n Reviewed By: cedric Subscribers: Jaehyun_Cho, #reviewers, #committers Tags: #efl Maniphest Tasks: T7564 Differential Revision:
2019-02-21api: efl.gfx.size_hints -> efl.gfx.hintsMike Blumenkrantz
Summary: these hints are not strictly size-related, so renaming them is more consistent with their actual function ref T7563 Depends on D7968 Reviewers: segfaultxavi, cedric, bu5hm4n Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T7563 Differential Revision:
2019-01-28docs: Fix assorted typos in legacy documentationXavi Artigas
Samsung reported a long list of typos in our legacy docs, this fixes them.
2019-01-10evas doc: fix minor typos.Hermet Park
2018-09-10Revert "evas vg: changed "vg object" to "vg""Hermet Park
This reverts commit ec69abed9d63e7876238dffc4b0d3398d1cd1be1. Ooops, I didn't intended this patch. @#!@#!@#!@#
2018-09-10evas vg: changed "vg object" to "vg"Hermet Park
Summary: Following our naming rule, rename to like other primitives. i.e. efl_canvas_rect, efl_canvas_image, efl_canvas_vg ... Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-05-30Do not consider the Evas_Vg API as BETA anymoreXavi Artigas
Summary: It has been widely used for quite some time now. Fixes T6889 Test Plan: Manually built the evas-vg-simple.c and evas-vg-batman.c examples after removing the manual define of EFL_BETA_API_SUPPORT and EFL_EO_API_SUPPORT that they have at the top. Reviewers:, zmike Reviewed By: zmike Subscribers: cedric, #committers Tags: #efl Maniphest Tasks: T6889 Differential Revision:
2018-04-24Efl.Canvas.Vg.Object (from Efl.Canvas.Vg)Xavi Artigas
Also, Efl.Canvas.Vg.* (from Efl.Canvas.VG.*) Ref Reviewed-by: Cedric Bail <>
2018-04-24Efl.Canvas.Event_Grabber (from Efl.Canvas.Object.Event.Grabber)Xavi Artigas
Ref Reviewed-by: Cedric Bail <>
2018-02-22evas: include legacy vg header instead of manually declaring typedefMike Blumenkrantz
fix T6720
2018-02-21Efl.Animator: rename to Efl.Canvas.AnimatorMike Blumenkrantz
most C api remains unchanged ref T6714 ref T6716
2018-02-21efl_vg: namespace movesMike Blumenkrantz ->* ->* ref T6714
2018-02-15evas_table: remove mirrored propertyMike Blumenkrantz
use efl_ui_base.mirrored instead
2018-02-15evas_grid: remove mirrored propertyMike Blumenkrantz
use efl_ui_base property
2018-02-15evas: move smart_objects_calculating to Efl_CanvasMike Blumenkrantz
2018-02-15evas: remove Evas_Canvas.smart_objects_calculateMike Blumenkrantz
also implement Efl_Canvas method
2018-02-15evas: remove Evas_Canvas.object_top_in_rectangle_getMike Blumenkrantz
also implement Efl_Canvas method