Commit Graph

48 Commits

Author SHA1 Message Date
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Jean-Philippe Andre e36a300d36 Efl: Add geometry property (combines position and size)
It's a helper function that can also in the future be
used to implement atomic move+resize operations.
2016-06-09 16:17:43 +09:00
Tom Hacohen a6a2338962 Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
This reverts commit 546ff7bbba.

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-06-01 13:33:21 +01:00
Subhransu Mohanty 655ed09ab4 evas: propagate the change to child when object is a vector graphic container
Summary: let me know whats your thought

Reviewers: Hermet, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3893

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-05-19 02:23:56 -07:00
Jean Guyomarc'h 147ef32b2b efl: fix misleading indentation
GCC's -Wmisleading-indentation is complaining...
It is a warning flag introduced in GCC 6.x, and
is enabled by -Wall.
2016-05-18 21:57:02 +02:00
Cedric Bail 75a53ece10 eo: for consistency use object like all our API. 2016-05-18 08:18:04 -07:00
Tom Hacohen 546ff7bbba Eo: Remove eo_del() and make eo_unref() the replacement.
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-17 16:23:23 +01:00
Tom Hacohen d64f2fdd43 Efl vg: Remove the no longer needed .Base hack. 2016-05-11 13:13:27 +01:00
Tom Hacohen 0ca59b0402 Efl gfx: Remove the no longer needed .Base hack. 2016-05-10 12:25:44 +01:00
Tom Hacohen f14305024e Eo event: rename Eo_Event->event_info to Eo_Event->info.
The previous naming was redundant and too long.
2016-04-12 15:23:55 +01:00
Tom Hacohen 8706d03b43 Change the EFL according to the renaming of the eo_add() current object. 2016-03-15 15:25:54 +00:00
Tom Hacohen 66b4290d91 Revert "Vg node: modify so the eo_add migration script won't break."
This reverts commit 6ac1fb78d8.
2016-03-11 12:29:03 +00:00
Tom Hacohen f24210caac Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757.
2016-03-11 12:29:03 +00:00
Tom Hacohen 4f949a2757 Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Tom Hacohen 6ac1fb78d8 Vg node: modify so the eo_add migration script won't break. 2016-03-09 16:09:14 +00:00
Tom Hacohen 23a6b12183 Fix migration script mistakes and compilation warnings.
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-03 09:58:08 +00:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
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-03-03 09:58:08 +00:00
Tom Hacohen e71e6561ee Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Cedric BAIL 05fdfcc76a evas: add logic to duplicate recursively an Efl_VG_Node tree. 2015-08-21 16:40:31 +02:00
Cedric BAIL 126edbb48c evas: allow parent during dup to be an Evas_Object_VG. 2015-08-21 16:40:31 +02:00
Cedric BAIL 7cb92ff35d evas: add support for interpolating Efl_VG_Node tree. 2015-08-21 16:40:31 +02:00
Cedric BAIL d595324a8d evas: add an unique name for each Efl.VG.Base object and make it possible to find it from parent. 2015-08-21 16:40:31 +02:00
Cedric BAIL 0ee28f12e1 evas: be more pedantic in case of error in Evas_VG_Node. 2015-08-19 20:22:57 +02:00
Subhransu Mohanty ad3ae08b82 evas: delete the ector_renderer when evas_vg_node gets deleted.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19 14:46:26 +02:00
Tom Hacohen 92fb2917cb Eo: Remove eo_error_set() and clean up finalizer()
This is another cleanup in perparation for the Eo stable release.
This is no longer needed thanks to the proper error reporting with
eo_constructor()'s new return value.

The finalizer change cleans it up a bit so it catches more cases/issues.
This also means that the finalizer cleans up the object in all cases,
and not only some.

@feature.
2015-05-20 16:25:38 +01:00
Tom Hacohen 6efbfe227a Eo: Add a return value to eo_constructor().
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-05-20 13:03:24 +01:00
ChunEon Park e08b942ffd evas vector: cancel the transformation when null is passed. 2015-05-08 20:38:56 +09:00
Vincent Torri c8a9769665 Evas: remove warning while factorizing code 2015-04-05 11:30:56 +03:00
Subhransu Mohanty f4d325ee78 evas: fix memory leak in Efl.Vg.Base class. 2015-04-03 16:38:17 +02:00
Cedric BAIL 990c088f6b evas: align naming with ector, use bounds. 2015-04-03 16:38:07 +02:00
Cedric BAIL 2613d17844 evas: remove unused function, no need for untested code. 2015-04-03 16:37:59 +02:00
Cedric BAIL 0eeb19d688 evas: implement stack below and above get for Efl.VG object. 2015-04-03 16:37:58 +02:00
Cedric BAIL 1821aef0c6 evas: add forgotten static in some Efl_VG object. 2015-04-03 16:37:57 +02:00
Cedric BAIL 9e3cfef8d7 evas: add missing boung_get and above/below get. 2015-04-03 16:37:56 +02:00
Cedric BAIL cd1f09d359 evas: all color in evas are premultiplied, enforce with warning when not. 2015-04-03 16:31:39 +02:00
Cedric BAIL eb2bd9a8d8 evas: move Evas.VG_* to Efl.VG.*
This also introduce legacy API for all of them.
2015-04-03 16:30:59 +02:00
Cedric BAIL 0a27241f61 evas: eo_data_scope_get will return random value in memory, need to always use eo_isa. 2015-04-03 16:30:54 +02:00
Cedric BAIL d6feb49c0c evas: don't duplicate entry in parent children list
eo_parent_set is always called, even in the constructor.
2015-04-03 16:30:52 +02:00
Cedric BAIL 0f6328b04f efl: introduce EFL_GFX_CHANGED event and properly propagate up to Evas. 2015-04-03 16:30:42 +02:00
Cedric BAIL d7f434986e evas: use Efl.Gfx.Base.color_part in Evas.VG_Node. 2015-04-03 16:30:33 +02:00
Cedric BAIL a38c037953 evas: make Evas.VG_Node inherit from Efl.Gfx.Stack. 2015-04-03 16:23:23 +02:00
Cedric BAIL c1118e7282 evas: implement Efl.Gfx.Base in Evas.VG_Node. 2015-04-03 16:23:20 +02:00
Cedric BAIL 6071e71e98 evas: cleanup parent handling of Evas_VG_Node. 2015-04-03 16:22:54 +02:00
Cedric BAIL 81760ea5d9 evas: also allow Evas_VG and NULL as parent.
I have yet to be sure of the Evas_VG one.
2015-04-03 16:22:26 +02:00
Cedric BAIL 411bb5b64e efl: use Efl_Geometry_Shape. 2015-04-03 16:14:55 +02:00
Cedric BAIL 8097b8ab47 evas: move Evas_VG_Node structure declaration into a shared header to use it directly from Evas_VG. 2015-04-03 16:14:48 +02:00
Cedric BAIL fa2f4e969e evas: implement Evas_VG_Node stacking functions. 2015-04-03 16:13:06 +02:00
Cedric BAIL 9ba6e1a0ae evas: add initial Evas_Object_VG.
Evas_Object_VG is meant to become an object that can hold a SVG
scenegraph inside of it.
2015-04-03 16:12:59 +02:00