path: root/src/lib/emotion (follow)
AgeCommit message (Collapse)Author
2017-09-19efl: Use Eina.Size2D for image load sizeJean-Philippe Andre
2017-09-18efl: Use Eina.Size2D for Efl.Gfx.sizeJean-Philippe Andre
Big patch as a lot of things call or reimplement size_set. Hopefully I got it right... fingers crossed.
2017-09-18efl: Use Eina.Position2D for Efl.Gfx.positionJean-Philippe Andre
Note: This is a little bit more cumbersome in some places but in most it's more convenient than (x,y).
2017-09-13emotion: Make it a clipped smart objectJean-Philippe Andre
This reduces code. And probably adds new bugs.
2017-09-13emotion: Fix refcounts related to eio useJean-Philippe Andre
Inside emotion, if Eio is compiled, some asynchronous functions are used and a refcounted struct was used to ensure safety of the code. Unfortunately the logic didn't make much sense as emotion's private data is used. The refcount becomes useless, the lifecycle of the data being bound to the object itself. Note that an actual crash is almost impossible because: - eio is actually quite fast - evas objects are kept alive for 2 frames - eina_freeq is used to keep eo objects' data alive for some more time But this in theory fixes the events, as they were sent on the wrong object. "obj" is the image object, "smartobj" was the emotion object. This is fixed with a weak ref. I don't think it is necessary to backport this.
2017-09-13evas: Fix crash with smart objectsJean-Philippe Andre
This is due to the previous patches.
2017-09-13evas: Add internal API to make smart obj (un)clippedJean-Philippe Andre
Introduction to the problem: - Efl.Canvas.Group has a method member_add() to add sub objects. - Efl.Canvas.Group (simple smart object) does NOT actually delete the objects on deletion. But: - Efl.Canvas.Group.Clipped is a direct subclass and WILL delete the sub objects on deletion. Semantically, all smart objects (at least in EO and Elementary) will own and delete sub objects automatically. Some exceptions are: - Edje object (smart clipped) does not delete swallowed objects. Edje object is a "clipped" smart object but it pops out all swallowed children before getting deleted. - Evas box/table/grid also pop out their children before deletion. Those classes are all legacy & internal only. - Elm.Widget will "manually" delete all its sub objects at deletion, as it inherits from Efl.Canvas.Group but basically takes full ownership of the sub objects. Note that member_add shouldn't be used on a widget, the widgets do it themselves. Also, smart clipped objects are much more convenient to use as they will handle some things for you: color, visibility, moving and ownership. So, the API member_add needs to be marked as own(). But right now Efl.Canvas.Group does not own. Thus, here's the plan: - Mark clipped objects as such with an internal API - Merge clipped smart object features directly inside the standard smart object. - Get rid of Efl.Canvas.Group.Clipped entirely and watch all hell break loose. Ref T5301
2017-07-07evas,edje,elm: Mark all legacy objects as suchJean-Philippe Andre
2017-05-19evas/elm: Make group_add/group_del internal functionsJean-Philippe Andre
This hides those two legacy functions from the EO API.
2017-05-19evas: Make Efl.Canvas.Object.type internalJean-Philippe Andre
2017-04-17Fix sed error that changed "video" to "videfl"Derek Foreman
commit c662934be8bcbaba60d1688e77533acbea5d09b9 seems to have accidentally renamed a few instances of _video_ to _videfl_, this hopefully changes them all back.
2017-03-09emotion: avoid crash during shutdown due to Ecore_Event queue.Cedric BAIL
2017-02-15group: Track calls to group_delJean-Philippe Andre
After a long search I found that fileselector was not calling super.group_del on deletion, leading to the use of dangling pointers. So let's verify that group_del is properly called. See T4598
2017-02-14emotion: add since tag to new emotion_file_meta_artwork_get APIStefan Schmidt
2017-02-13vpath file - add a keey property to know if obj should be kept aroundCarsten Haitzler (Rasterman)
if its a file downloading (to a tmp location) or a zip/tar/whatever file being extracted also to a tmp location and that tmp file needs to be removed after need to keep the obj around to know when to delete the file. this makes the keeping optional and you query if the vpath obj is meant to be kept or not. if it's not it's safe to del immediately. this cuts down 1 obj per image obj/edje obj when generally unused. save some mem.
2017-02-03ifdef RUN_IN_TREE logic.Gustavo Sverzut Barbieri
This logic is only needed for autotools, cmake will replicate the installation file structure and thus eina_prefix works out of box.
2017-01-12emotion: add support for obtaining embedded artwork from media files with ↵Al Poole
gstreamer1 backend. Reviewers: raster, cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-01-06eina: rename EINA_{FLT,DBL}_CMP to EINA_{FLT,DBL}_EQ.Cedric BAIL
2016-12-27emotion: use new property impl syntaxDaniel Kolesa
2016-12-20emotion: remove float comparison warningsChris Michael
Signed-off-by: Chris Michael <>
2016-11-10docs: emotion: add last missing docs for emotion eo fileStefan Schmidt
2016-11-09evas: Fix masks of masks and clippers of clippers in generalJean-Philippe Andre
The root cause was simple: smart object clipped was not calling efl_super() on clip_set. Fixes T4813 (and probably a whole lot of other bugs)
2016-10-25emotion - add vpath support for file_set on emotion objectsCarsten Haitzler (Rasterman)
this completes my todo list for vpath path support at least for now (evas images, edje objects and emotion objects). now vpath's work for these too.
2016-10-24docs: emotion: add missing docs for efl canvas video eventsStefan Schmidt
Also make use of $true keyword while being there.
2016-10-16Emotion: prefer ratio to calculate sizesDave Andreoli
Instead of calculate the ratio from the sizes, calc the width from the ratio, as ratio seems always accurate. Fallback to the old code if ratio not available (tbh I never see this case) @Fix EMOTION_ASPECT_KEEP_BOTH with some rare strams, mostly DVD and online stuff
2016-10-12evas: Mark group_add/del as internalJean-Philippe Andre
Lacking a proper internal tag, I'm using both protected (it is in fact a protected access function) and beta (to mark as unstable, not real API). New smart objects based on EO only should rely on constructor, finalize and destructor exclusively. In theory, this should be fine. Unfortunately it may be impossible to inherit from the Efl.Ui.Win class as it uses a really bad hack and calls super.constructor inside the finalize method.
2016-10-12evas/elm: Remove function group_resizeJean-Philippe Andre
This is an override of efl_gfx_size_set. Same as before, the order of operations matter so it is possible that a corner case will break. In particular, legacy code was: - intercept - smart resize (do stuff), super, super, super - evas object resize The new code is more like: - intercept - super, super, super, evas object resize - do stuff But unfortunately this broke elm_widget (read: all widgets) as the internal resize was done before the object resize. So, inside the resize event cb, the resize_obj size would not match the smart object size. >_<
2016-10-12evas/elm: Remove function group_moveJean-Philippe Andre
This is an override of efl_gfx_position_set. As for the other patches, I hope I didn't break anything. A problem likely to happen is that the super call was inserted too early or too late in the call flow. For instance: _myclass_position_set(obj, x, y) { position_set(super(obj), x, y); position_get(obj, &prevx, &prevy); do_something_with_delta_xy(); } The above code flow is obvisouly wrong, but may have crept in this patch (such a bug sneaked in inside smart object, breaking everything at first).
2016-10-12evas/elm: Remove group_show and group_hideJean-Philippe Andre
These should be just overrides of Efl.Gfx.visible.set. Many widgets were handling smart show() and hide() manually, which means this patch is quite large. Hopefully this doesn't break anything, obviously. But here are some widgets known to be problematic, as the old code flow was really strange (sometimes not calling the efl_super function): - window - notify
2016-10-12evas: Move clip_unset to legacy, remove group_clipJean-Philippe Andre
Similarly to group_color_set, group_clip_[un]set should not exist and should be a result of efl_super and inheritance. This patch also removes clip_unset from the EO API and keeps only clip_set(NULL). The reason is that it will avoid bad overrides of clip_unset() vs. clip_unset(NULL). This also simplifies the code a bit. Ideally we should be able to reintroduce clip_unset in EO if we can have a "@final" tag (like java's final keyword), to prevent overrides.
2016-10-12evas: Remove method group_color_setJean-Philippe Andre
Widgets should simply override efl_gfx_color_set and call super all the way up to evas object. Legacy compatibility with call interceptors and early call abortion (eg. delete_me or obj->layer == NULL) are implemented with an internal call. See the previous commit introducing the API.
2016-09-25Emotion: modify the playback finish behavior as beforeDaniel Zaoui
The callbacks are never invoked due to sd->play equal to 0. The function _emotion_decode_stop is called before and resets this field. Before the change to Efl.Canvas.Video, sd->play was not checked.
2016-09-21emotion: convert Emotion_Object into Efl.Canvas.VideoYeshwanth Reddivari
Reviewers: singh.amitesh, raster, jpeg, cedric Differential Revision: Signed-off-by: Cedric BAIL <>
2016-08-26Efl Object: remove legacy callback calls from event_callback_callVitor Sousa
Efl.Object.event_callback_call no longer calls legacy smart callbacks; calling only event callbacks registered with the given event description pointer. Create the method Efl.Object.event_callback_legacy_call to inherit the old behavior from Efl.Object.event_callback_call, calling both Efl.Object events and legacy smart callbacks. Update all other files accordingly in order to still supply legacy callbacks while they are necessary.
2016-08-15Eo: Finish the renaming of Eo to the EFL.Tom Hacohen
This renames all the rest of the API to the EFL namespace except for Eo_Event that will follow soon. Obviously breaks both API and ABI.
2016-08-11Change the EFL to follow the new Eo rename.Tom Hacohen
2016-08-08emotion modules -0 check return value of eina_module_load and print errCarsten Haitzler (Rasterman)
this should inform the user via eina log errors that a module load failed. this fixes CID 1360954
2016-06-21evas: Rename Evas.Object to Efl.Canvas.ObjectJean-Philippe Andre
One step closer to make the EO inheritance tree look like it's all Efl.
2016-06-17Evas: Rename smart object into Efl.Canvas.GroupJean-Philippe Andre
2016-06-17Evas: Add smart_ prefix to all smart functions (eo)Jean-Philippe Andre
This is a first step at separating legacy smart object features away from standard efl interfaces.
2016-06-17Evas: Mark type as legacy and protectedJean-Philippe Andre
Only set() is allowed for EO, and it's a constructor, protected function. Unfortunately, this means a lot of #define EVAS_OBJECT_PROTECTED
2016-05-31eolian: utilize the new builtin string type across eo filesDaniel Kolesa
2016-05-17eolian: add event_prefix and have classes follow that or eo_prefix by defaultDaniel Kolesa
Previously events used to use class name as a prefix and ignored eo_prefix when specified. This is no longer the case. Events follow eo_prefix by default now. In order to get around this for classes where this is undesirable, a new field event_prefix was added which takes priority over eo_prefix. If neither is specified, class name is used like previously. @feature
2016-05-12Add legacy_prefix now that the default has changed to null.Tom Hacohen
2016-05-12Efl image: Fix namespacing to use . and not _.Tom Hacohen
2016-05-12Evas object smart: Fix namespace to use . and not _.Tom Hacohen
2016-03-15Efl.Gfx.Buffer: Add interface skelettonJean-Philippe Andre
2016-03-11Revert "Automatic migration to the new eo_add syntax."Tom Hacohen
This reverts commit 4f949a2757b6332306264d7f126b15ba7bfd37d4.
2016-03-09Automatic migration to the new eo_add syntax.Tom Hacohen
2016-03-03Fix migration script mistakes and compilation warnings.Tom Hacohen
Mostly unused vars following the removal of eo_do_ret(). However, there are some cases where the migration script got some things wrong, and I had to manually fix them.