path: root/src/lib/emotion (follow)
AgeCommit message (Collapse)Author
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.
2016-03-03Automatic migration to Eo4.Tom Hacohen
I just ran my script (email to follow) to migrate all of the EFL automatically. This commit is *only* the automatic conversion, so it can be easily reverted and re-run.
2016-01-13EFL: Mark EOLIAN functions as static when possibleJean-Philippe Andre
This affects mostly evas filters.
2015-12-23efl-js: JavaScript Eolian bindingFelipe Magno de Almeida
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files $ configure --with-js=nodejs and compile normally with: $ make $ make install To use, you have to require efl: efl = require('efl') The bindings is divided in two parts: generated and manually written. The generation uses the Eolian library for parsing Eo files and generate C++ code that is compiled against V8 interpreter library to create a efl.node file that can be required in a node.js instance. @feature
2015-11-13emotion webcam: fix check for v4l2 video capture device capabilityStefan Schmidt
The negation should be uses after checking the capability bit with the &. Better use parenthesis to make this work. Thankls to the sparse sematic parser for spotting this.
2015-09-28emotion: fix typo in documentationAmitesh Singh
2015-09-21emotion: lock pending events and pending objectsThomas Guillem
Summary: _emotion_pending_ecore_begin and _emotion_pending_ecore_end are not called from the same thread. Indeed, _emotion_pending_ecore_begin is called from gstreamer callbacks, and _emotion_pending_ecore_end is called from the mainloop. Reviewers: cedric Reviewed By: cedric Subscribers: cedric Differential Revision: Signed-off-by: Cedric BAIL <>
2015-09-21emotion: add libvlc moduleThomas Guillem
Summary: Everything is implemented except visualization, mouse events and some EMOTION_EVENT. Video can output RGBA, YUY2, YV12 or I420. About the video sink: this emotion module use libvlc callbacks: libvlc_video_set_format_callbacks and libvlc_video_set_callbacks. It may be temporary. Indeed, an other solution is to add an Evas module inside vlc. But this vlc module would need to link with emotion in order to use _emotion_frame_new and _emotion_frame_resize private functions. I didn't succeed to output a frame without these private functions: see List of /* FIXME */: - Visualization not implemented since there is no API (for now) in libvlc. - Mouse events not implemented since there is no API (for now) in libvlc. - Some EMOTION_EVENT are not handled. - SIGSEGV in evas_gl_common_texture_nv12_update with EVAS_COLORSPACE_YCBCR420NV12601_PL colorspace. Subscribers: cedric Differential Revision: Signed-off-by: Cedric BAIL <>
2015-08-13emotion: Fix typos in doxygenChris Michael
Summary: This patch fixes some typos in the documentation of Emotion @fix Signed-off-by: Chris Michael <>
2015-07-08efl: fix doc references across the tree to validate rightDaniel Kolesa
2015-06-10ector,ecore,eio,emotion: convert some docsDaniel Kolesa
2015-06-07emotion: porting evas smart callbacks to eoAvi Levin
2015-05-20Eo: Add a return value to eo_constructor().Tom Hacohen
From now on, constructors should return a value, usually the object being worked on, or NULL (if the constructor failed). This can also be used for implementing singletons, by just always returning the same object from the constructor. This is one of the final steps towards stabilizing Eo. @feature