Commit Graph

391 Commits

Author SHA1 Message Date
Tom Hacohen 250be1e27a Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
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-06-01 13:33:21 +01:00
Subhransu Mohanty 712af11641 evas: updated evas_vg_sample with the appen_arc() api as well as _shape_dup() api test.
Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-05-31 14:59:26 -07:00
Lauro Moura 6d7b331448 eio: Adds Eo-based Eio API
The legacy Eio_File factory functions are replaced by an Eo object
called Eo_Job that return promises wrapping the async file operations.
With this commit, the legacy Eio callbacks are replaced by the following
Eo/Promises counterparts :

* Done_Cb -> Promise then success callback
* Error_Cb -> Promise then error callback
* Main_Cb -> Promise progress callback
* Filter_Cb -> Job object event (more below)

Events are used to deliver and get the filter data. To differentiate
between the named and direct versions, they come in "filter,direct" and
"filter,name" versions.

Monitors were wrapped inside a new class Eo_Sentry.

The user creates a sentry object and adds monitoring targets to it,
listening to events on it.

The sentry event info is composed of two strings. The source string
is the path being monitored, i.e. the one passed to eio_sentry_add, and
the trigger string is the path that actually triggered the event, e.g.
a new file created in a monitored directory.
2016-05-25 21:32:03 -03:00
Stefan Schmidt 126d2b6e99 examples: emotion: adapt to name change from obj to object
In commit 75a53ece1007d927b8f0b6c5d3f269726afb9108 obj was changed to object.
As one can claerly see though make examples have not been run to verify this
change. Catch up in examples with this rename.
2016-05-19 09:19:06 +02:00
Felipe Magno de Almeida acbc6dd529 js fixes 2016-05-18 17:52:47 +02:00
Cedric Bail 6fc198c95a eo: for consistency use object like all our API. 2016-05-18 08:18:04 -07:00
Stefan Schmidt d6222ea369 examples: elementary: remove unused variable 2016-05-18 12:31:52 +02:00
Stefan Schmidt 9235c4cb1a examples: evas: remove unused variable
pi is never used here. Actually for such cases we should use M_PI anyway.
2016-05-18 12:29:06 +02:00
Tom Hacohen 1aee2b602a 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
Stefan Schmidt 83e336e0f4 examples: eolian_cxx: fix some problems after changing the colourable namespace
Fix commit 3e8db298f70932ce7b2f5296d44b262a615ea87c the namepsace changed but
only a few files have  been fixed for this. Many files did still not compile
with make examples. I fixed some more but stopped at the cxx files with the hope
that the original author would actually do this.
2016-05-10 11:10:24 +02:00
Stefan Schmidt ef4a4bc0f6 examples: evas-3d: fix executable name for evas 3d fog example
This list contains the executable names and not the source file names.
2016-05-10 10:00:42 +02:00
Cedric BAIL 6d84d5f97f efl: everyone should now rely on Eina MIN/MAX redefinition. 2016-05-09 16:58:53 -07:00
Felipe Magno de Almeida 47afc12f78 eolian-cxx: Disable example and fix new naming standard
Fixed naming standard in some tests and disabled the callback test
while Ecore Eo API is still rapidly changing
2016-05-08 12:19:48 -03:00
Felipe Magno de Almeida 19bbc79829 evas: Disabled C++ example while Eo API is still rapidly changing 2016-05-08 12:02:39 -03:00
Larry Jr b37ad2b589 Efl, Eio, Eldbus, Elementary: new model API use eina_promise
Efl - efl_model_base changed to use eina_promise
Eio - eio_model use efl_model_base with promise
Eldbus - elddbus models use promise now
Elementary - elm_view_list and elm_view_form use new models with promise

updated all related examples and tests
2016-04-29 13:21:24 -03:00
Oleksandr Shcherbina 4b8bfe543e evas: update evas-3d-shadow example
Summary: Add possibility turn on/off rendering scene with/without post processing

Reviewers: cedric, raster, Hermet

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-04-15 11:20:14 -07:00
Oleksandr Shcherbina efe419f31c evas.canvas3d: Change shade_mode to shader_mode
Summary:
enum Evas.Canvas3D.Shade_Mode are using for choose relevant shader source code.
So renaming have a sence.
Rename evas_canvas3d_shade_mode_set/get property to evas_canvas3d_shader_mode_set/get
Rename internal fields and functions

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3882
2016-04-14 20:28:20 +09:00
Amitesh Singh 9686393885 example: eina log - set eina log levels in examples 2016-04-13 15:29:29 +05:30
Tom Hacohen 8a66cff035 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
Cedric BAIL c3758534e6 elementary: restore examples build. 2016-04-08 16:01:07 -07:00
Yeshwanth Reddivari eaa5e65d48 Interface: Flip and orientation interface
Summary:
Added flip and orientation interface and used them in evas_image.
Removed efl_image_orientation_set API and used efl_orientation_set and efl_flip_set API.
In implementation part, converted enums back and forth in order to keep current implementation as it is.

Test Plan: src/examples/evas/evas-images5.c

Reviewers: singh.amitesh, raster, tasn, herdsman, woohyun, cedric, felipealmeida, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3844
2016-04-06 10:46:39 +09:00
Daniel Zaoui 97806b0a3f Examples: remind Tom to compile before pushing
He will spank me for the commit message!!!
2016-03-29 09:49:52 +03:00
Jean-Philippe Andre 0a2d68c288 examples: Fix evas_canvas3d_proxy (temporary solution)
It was broken after all the changes in Evas.Image.
Since buffer map/unmap is not fully completed (GL support is
still to do), I added a quick #ifdef to switch between EO and
Legacy APIs.

Thanks @jackdanielz for the report.
2016-03-29 15:19:55 +09:00
Tom Hacohen 00e0cee670 Merge Elementary into the EFL
Some things may still be broken, but Cedric will progressively fix
things as they pop. Default configuration works as expected.
2016-03-24 18:50:47 +00:00
Cedric BAIL 83ad67f514 elementary: move all legacy files to their expected new location. 2016-03-23 13:24:41 -07:00
Stefan Schmidt 319ab3be61 examples: mark unused argument to avoid warning 2016-03-23 15:34:54 +01:00
Oleksandr Shcherbina f802f50a95 evas.canvas3d: fix wrong output in evas-3d-pick example
Summary:
Since that
https://git.enlightenment.org/core/efl.git/commit/?id=c850cc0d80b754be851576083eba27a72b58b9f2
we don't use scene object for recalculation pick coordinates.
@fix

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-03-18 11:55:07 -07:00
Jean-Philippe Andre c109f6d22e Efl.Gfx.Fill: Rename filled to fill_auto
fill_filled is a strange name for the property.
fill_auto seems to make more sense. If you disagree, scream at
me or revert this commit.
2016-03-18 13:28:45 +09:00
Oleksandr Shcherbina ce17f39669 evas.canvas3d: example using static LOD
Summary:
Example using static LOD in evas.canvas3d
It should be applied after D3731

Reviewers: Hermet, raster, cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-03-17 11:53:26 -07:00
Jean-Philippe Andre cd10b5093f Evas.Image: Create Efl.Canvas.Image for file & data images
This replaces standard Evas_Object_Image when it is used "normally",
ie. it's an image from a file or from a pixel buffer. All other APIs
(proxy, snapshot, 3d, gl, ...) are disabled on this object.

Also, reduce number of failing calls when the object is not a legacy
object, but a legacy function is called. This is because a lot of
image APIs are called internally using the legacy APIs, often in
order to reset the state of the image object (eg. set file to NULL,
etc...)
2016-03-17 13:10:35 +09:00
Tom Hacohen 6b4d54df87 Change the EFL according to the renaming of the eo_add() current object. 2016-03-15 15:25:54 +00:00
Jean-Philippe Andre 29b645ea26 Examples: Update evas object eo example 2016-03-15 11:11:59 +09:00
Jean-Philippe Andre c01a10c331 Evas: Move 3d to Efl.Canvas.Scene3d
This still seems a bit redondant with the underlying
Evas.Canvas3d.Scene class.
2016-03-15 11:11:59 +09:00
Tom Hacohen fdb1a24ea0 Revert "Automatic migration to the new eo_add syntax."
This reverts commit 4f949a2757b6332306264d7f126b15ba7bfd37d4.
2016-03-11 12:29:03 +00:00
Tom Hacohen d83c540ada Revert "Examples: Update according to recent eo_add changes."
This reverts commit 6594ba0b6df9ba72f031a00d0e8ba3b23cf2c0b2.
2016-03-11 12:29:03 +00:00
Tom Hacohen daa9ef817c Revert "Fix examples according to the recent eo event changes."
This reverts commit d2fba6c5959f82f35984167131d3b67207780f48.
2016-03-11 12:29:03 +00:00
Tom Hacohen 148e6d13e8 Fix examples according to the recent eo event changes. 2016-03-09 17:16:19 +00:00
Tom Hacohen fb11959f82 Examples: Update according to recent eo_add changes. 2016-03-09 17:02:45 +00:00
Tom Hacohen 6a210da20c Automatic migration to the new eo_add syntax. 2016-03-09 16:09:14 +00:00
Stefan Schmidt 0dcde7d3ea evas-3d examples: remove unused variables 2016-03-08 11:06:29 +01:00
Vitor Sousa f93800fa31 eolian-cxx: Fix Eolian C++ constructing methods with new eo_add
Also fix Eolian C++ examples using the new "eo_super".
2016-03-03 16:05:40 -03:00
Tom Hacohen bf73a1b51f 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 9cdd16035a 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 4350f85b02 Manually semi-migrate files in preparation for the script
The migration scripts breaks with some weird cases, here I manually
migrated some parts, and just removed the eo_do from others without
actually migrating (so I could deal with that later).
2016-03-03 09:56:20 +00:00
Tom Hacohen b2b3667513 Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Jean-Philippe Andre d3acbe4f19 Evas 3d example: Print message for usage 2016-01-14 12:18:53 +09:00
perepelits.m ad374bd738 Evas: fix example for convex hull
Summary: Made new models with no normal component to print
сorrect print message for testing not only by visual result.

Reviewers: cedric, raster, Hermet

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3562
2016-01-14 12:08:33 +09:00
Srivardhan Hebbar ed1954e6bb emile: Added example program for base64 encoding and decoding.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3554
2016-01-14 11:28:40 +09:00
Oleksandr Shcherbina 8795600c71 evas: fix resource file for billboard in evas-3d-shadow example
Summary: Due to evas.canvas3d shader flips resource image.

Reviewers: cedric, Hermet

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-01-12 14:05:34 -08:00
Srivardhan Hebbar 99601567bc eina: removing base64 from eina example.
Summary:
As base64 API's are no longer part of eina, removing them. Will add
separate file for emile examples.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3552
2016-01-09 00:33:44 +01:00