path: root/src/lib/edje/edje_smart.c (unfollow)
AgeCommit message (Collapse)Author
2016-08-05efl: Cleanup some code (return values)Jean-Philippe Andre
This removes some useless code in various places, where the switch from eo_do() to standard function call was not properly refactored. This changes: type ret = 0; ret = my_eo_function(); return ret; To: return my_eo_function();
2016-08-01edje - reduce memory footrpint by dlopening ephysics on demandCarsten Haitzler (Rasterman)
this saves about another 80Kb or so in dirty pages by only loading ephysics when needed. This removed ephysics and bullet library dirty pages from the process space. this is another patch to address T4227. @fix
2016-07-04edje - reduce memory footprint by rearranging structs and typesCarsten Haitzler (Rasterman)
this should cut some memory used by edje by using smaller types like shorts instead of ints where we just dont need a full int range and short will do, and re-ordering in memory data soit packs better when accoutning for alignment
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: Cleanup evas smart clipped classJean-Philippe Andre
This is legacy stuff. I wish we could hide it from our inheritance entirely. Instead, just make it abstract, remove all functions from eo (doable here) and rename with the keyword "internal" in the new ugly java style name.
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-01Revert "Eo: Remove eo_del() and make eo_unref() the replacement."Tom Hacohen
This reverts commit 546ff7bbba788ec834c5608361c0834853f2d5d7. It seems that eo_del() is useful and removing it was creating bugs. The issue is that the way we defined parents in eo, both the parent and the programmer share a reference to the object. When we eo_unref() that reference as the programmer, eo has no way to know it's this specific reference we are freeing, and not a general one, so in some circumstances, for example: eo_ref(child); eo_unref(child); // trying to delete here eo_unref(container); // container is deleted here eo_unref(child); // child already has 0 refs before this point. We would have an issue with references and objects being freed too soon and in general, issue with the references. Having eo_del() solves that, because this one explicitly unparents if there is a parent, meaning the reference ownership is explicitly taken by the programmer. eo_del() is essentially a convenience function around "check if has parent, and if so unparent, otherwise, unref". Which should be used when you want to delete an object although it has a parent, and is equivalent to eo_unref() when it doesn't have one.
2016-05-17Eo: Remove eo_del() and make eo_unref() the replacement.Tom Hacohen
We used to have eo_del() as the mirrored action to eo_add(). No longer, now you just always eo_unref() to delete an object. This change makes it so the reference of the parent is shared with the reference the programmer has. So eo_parent_set(obj, NULL) can free an object, and so does eo_unref() (even if there is a parent). This means Eo no longer complains if you have a parent during deletion.
2016-05-09edje - file set - use vpath for edje files now too like evas imagesCarsten Haitzler (Rasterman)
2016-03-29Evas render: Fix no-render with smart objectsJean-Philippe Andre
Setting the no-render flag on an elm widget had no effect, as it was not properly propagated to its children. This should fix that, but I'm not a fan of the solution. Fixes T3371
2016-03-15edje: remove redundant fetch code in file.set methodJee-Yong Um
Summary: Edje data structure is passed as a parameter, but in file.set method _edje_fetch() is called one more time unnecessarily. Reviewers: cedric, jpeg Differential Revision: Signed-off-by: Cedric Bail <>
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-02-05edje: add back use of Ecore_Animator when the Edje object is created on an ↵Cedric BAIL
non Ecore_Evas canvas. This is necessary for backward compatibility still I am thinking of displaying a warning for this use case and request people to update there work and drop that feature in the future (In a year maybe from now). Elementary doesn't need this as it depends on Ecore_Evas.
2015-12-24edje: add text_classes syntax to EDCJee-Yong Um
Summary: text_class can be defined in text_classes block. T2900 @feature Reviewers: jpeg, raster Subscribers: raster, cedric, Jaehyun_Cho, CHAN, kimcinoo Differential Revision:
2015-12-08edje: introduce size_class attributeJee-Yong Um
Edje_Part can change its min or max size in code level with size_class. Differential Revision: PS: Manual commit, arc refused to work... @feature Signed-off-by: Jean-Philippe Andre <>
2015-11-19Evas object: Add paragraph_direciton APIsYoungbok Shin
Summary: It adds evas_object_paragraph_direction_set, get APIs. The APIs set or get paragraph direction to/from the given object. It changes BiDi calculations and affect the direction and aligning of text. It doesn't have any effect to text without Fribidi library. The default paragraph direction is EVAS_BIDI_DIRECTION_INHERIT. If dir is EVAS_BIDI_DIRECTION_INHERIT, paragraph direction is changed according to smart parent object. If there is no smart parent object, paragraph direction works as EVAS_BIDI_DIRECTION_NEUTRAL. @feature Test Plan: Test cases included to the following files. - evas_test_textblock.c - evas_test_text.c - evas_test_object_smart.c Run "make check". Reviewers: woohyun, raster, herdsman, tasn Subscribers: c, raster, cedric Differential Revision:
2015-06-22edje: add possibility to speed up animation per object.Cedric BAIL
This could come handy for previewing the effect of accelerating animation. @feature
2015-06-08edje: reformat all C filesMike Blumenkrantz
this has been unreadable for years due to the french tabber.
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
2015-04-22Edje smart: Add NULL safetyJean-Philippe Andre
This case actually happens with E. It's invalid but still happening, and because Eo doesn't actually check the parent (or its type) fully, an invalid, non-NULL object was returned. See T2336 (this is not fixing the root cause!).
2015-04-08Edje: Remove excessive casts and use type Edje_ObjectConrad Meyer
Use type Edje_Object instead of Eo in legacy EAPI's. Spotted in TAsn's ABI report, under "Problems with Symbols". I believe this will actually add two changes (Eo -> Edje_Object), but I like the typing better ;)
2015-04-03efl: move mmap API to be part of Efl_File class.Cedric BAIL
2015-03-30edje: this desc pointer is actually never set.Cedric BAIL
2015-03-07edje color classes can now have text descriptionsMike Blumenkrantz
2014-11-25Edje: remove duplicated code.Daniel Zaoui
In _edje_object_evas_object_smart_add, code is duplicated from _evas_object_smart_clipped_smart_add. We can invoke eo_do_super instead.
2014-11-25edje - remove old script_only code that used embryo (not lua)Carsten Haitzler (Rasterman)
thjis was deprecated even before efl 1.0 by never removed. lua replaced it for script_only objects and you havent been able to compile an edje file with script_only enabled since 1.0, so no point having the code here. this cleans up that code and cruft.
2014-11-07edje: eo_data_unref the right data.Cedric BAIL
2014-09-25Eo: Change eo_add/del/unref behaviour.Tom Hacohen
Before this change eo_add() used to create an object with 1 ref, and if the object had a parent, a second ref. Now, eo_add() always returns an object with 1 ref, and eo_add_ref() preserves the old behaviour (for bindings). eo_unref now un-parents if refcount is 0, and eo_del() is an alias for eo_unref (will change to be a way to ensure an object is dead and goes to zombie-land even if still refed).
2014-08-21Efl interfaces: Drop interface namespace from the used interfaces.Tom Hacohen
We don't need this namespace, it just makes the names long and complicated.
2014-08-21Efl interface file: Start using the new interface.Tom Hacohen
2014-08-12Edje dbg_info: Mark root as not null (will never be).Tom Hacohen
2014-08-06edje: fix coverity defectsGwanglim Lee
Summary: CID 1214113: logically dead code CID 1230295: dereference null return value CID 1230296: use after free @fix Test Plan: N/A Reviewers: raster, cedric, jpeg, q66 Reviewed By: q66 Subscribers: cedric Differential Revision:
2014-06-30Edje eolian: Fix namespaces for all of the edje classes.Tom Hacohen
2014-06-03Efl: Update code to use the new class names generated by eolian.Tom Hacohen
2014-05-26Revert "Revert "recursively hide edje group objects on edje hide""Mike Blumenkrantz
This reverts commit b8ca758658cc71bdfecd45bc2a5b8d31ca5e17fc.
2014-05-26Revert "recursively hide edje group objects on edje hide"Carsten Haitzler (Rasterman)
Unless you like your desktop to look something like: then this commit really needs reverting. This reverts commit 385326b8e4d7c05794670773aad6ece236ea71d9.
2014-05-26recursively hide edje group objects on edje hidezmike
this massively improves edje performance when using groups, which previously would continue calculating their parts even when their parent object was hidden CPU usage in my test case went from 20-30% to 1%. @fix
2014-04-16Revert "eo null object complaints - silence."Carsten Haitzler (Rasterman)
This reverts commit 1678d272af676a17e4608de655f231171c5a5af2. ... actually... on second thought... i think eo just needs to sensibly handle null objects.
2014-04-16eo null object complaints - silence.Carsten Haitzler (Rasterman)
2014-04-10Adjust eo_do calls to work with the eo2 api.Tom Hacohen
2014-03-24Eolian: Integration of Edje and Edje EditYossi Kantor
2014-03-10edje - allow lager clipper space.ChunEon Park
In acutal case, some application encounted that a proxy object is larger than a source clipper size. So the proxy is clipped by the edje clipper. We don't have to limit the clipper size to 10000x10000 @fix
2014-02-16edje: fix Eo ids, to make Eolian keep silenceYakov Goldberg
2013-12-27Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()Jihoon Kim
2013-11-22edje - fix the side effect introduced by ↵ChunEon Park
12aba0db5a0949488d37b69b8696ed424666dca8 Now do recalc parts correctly when edje is moved.
2013-11-21edje - Fix to update map enabled part when edje object is moved.ChunEon Park