platform/upstream/efl.git
5 years agoelm_entry: make file loading succeed on 0-sized files
Mike Blumenkrantz [Wed, 16 Jan 2019 16:24:36 +0000 (11:24 -0500)]
elm_entry: make file loading succeed on 0-sized files

a file which has no data is still a valid file and should be correctly
opened

fix T6562
@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647

5 years agoui/flip: fix efl_pack usage
Jean-Philippe André [Tue, 27 Nov 2018 10:09:06 +0000 (10:09 +0000)]
ui/flip: fix efl_pack usage

Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367

5 years agoecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk...
Cedric BAIL [Sat, 5 Jan 2019 01:42:26 +0000 (17:42 -0800)]
ecore: remove data parameters of Efl.Loop_Consumer.promise_new to reduce the risk of inadvertently using the wrong data.

If you need data, use a efl_future_then as done in every case here to get the same feature.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577

5 years agoeina_cxx: allow for the generation of function that return Eina_Promise in .eo files.
Cedric BAIL [Sat, 5 Jan 2019 01:39:11 +0000 (17:39 -0800)]
eina_cxx: allow for the generation of function that return Eina_Promise in .eo files.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7576

5 years agoeina: remove eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 01:38:40 +0000 (17:38 -0800)]
eina: remove eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7575

5 years agoRevert "eina: add a function to free Eina_Promise attached data when the promise...
Cedric BAIL [Sat, 5 Jan 2019 00:06:05 +0000 (16:06 -0800)]
Revert "eina: add a function to free Eina_Promise attached data when the promise is destroyed."

A better solution is to actually have no eina_promise_data_set/get at all.

This reverts commit ce56f32270c2f75adab022b701d3bdcbbbc3fb44.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7574

5 years agoRevert "fix crashes created by "make efl_loop_promise_new a function""
Cedric BAIL [Sat, 5 Jan 2019 00:04:49 +0000 (16:04 -0800)]
Revert "fix crashes created by "make efl_loop_promise_new a function""

This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.

This reverts commit de2ec0559b01dba7919503955cc47c1c5fcd0f97.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7573

5 years agoeio: remove use of eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 00:01:40 +0000 (16:01 -0800)]
eio: remove use of eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7572

5 years agoecore_con: remove use of eina_promise_data_set.
Cedric BAIL [Sat, 5 Jan 2019 00:01:13 +0000 (16:01 -0800)]
ecore_con: remove use of eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7545

5 years agoecore: make Efl.Loop_Consumer.promise_new an @const function.
Cedric BAIL [Sat, 5 Jan 2019 00:00:21 +0000 (16:00 -0800)]
ecore: make Efl.Loop_Consumer.promise_new an @const function.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7544

5 years agoelementary: refactor selection manager to not use eina_promise_data_set.
Cedric BAIL [Fri, 4 Jan 2019 22:24:28 +0000 (14:24 -0800)]
elementary: refactor selection manager to not use eina_promise_data_set.

eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543

5 years agoeolian: disallow @pure_virtual keyword in interfaces
Daniel Kolesa [Wed, 16 Jan 2019 19:37:08 +0000 (20:37 +0100)]
eolian: disallow @pure_virtual keyword in interfaces

This is implicit, so it's pointless to allow specifying it.

5 years agoeolian: disallow pure virtual methods in regular classes
Daniel Kolesa [Wed, 16 Jan 2019 19:30:02 +0000 (20:30 +0100)]
eolian: disallow pure virtual methods in regular classes

This is a currently optional check.

Use EOLIAN_PURE_VIRTUAL_WARN=1 to enable.

5 years agoevas/engines/gl_generic: remove multiclass inheritance
Daniel Kolesa [Wed, 16 Jan 2019 18:53:52 +0000 (19:53 +0100)]
evas/engines/gl_generic: remove multiclass inheritance

evas_ector_gl_buffer/evas_ector_gl_image_buffer contained a regular
class in extensions list, which is wrong.

5 years agoeolian: add validation to make sure all methods are implemented
Daniel Kolesa [Wed, 16 Jan 2019 18:39:39 +0000 (19:39 +0100)]
eolian: add validation to make sure all methods are implemented

The checks are only done for regular classes. It's also disabled
by default as too many methods would be unimplemented.

Use EOLIAN_CLASS_UNIMPLEMENTED_WARN=1 to enable the errors.

5 years agotest_efl_anim_interpolator: delete animation event callback on window delete
Christopher Michael [Wed, 16 Jan 2019 15:07:12 +0000 (10:07 -0500)]
test_efl_anim_interpolator: delete animation event callback on window delete

elementary_test Efl.Animation.Interpolator test performs Invalid
memory access if the window is closed during the animation. This can
lead to elm_test crashing after the main window is closed.

In order to avoid this invalid memory access, when the window gets
deleted we can delete the efl_event_callback so that the event does
not fire while the window is being deleted.

ref T7392

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7644

5 years agotest_efl_anim_interpolator: Minor formatting fixes
Christopher Michael [Wed, 16 Jan 2019 14:49:13 +0000 (09:49 -0500)]
test_efl_anim_interpolator: Minor formatting fixes

NB: No functional changes

Reviewed-by: Derek Foreman <derekf@osg.samsung.com>
Differential Revision: https://phab.enlightenment.org/D7643

5 years agoefl-mono: test on inout RwSlice.
Lauro Moura [Tue, 15 Jan 2019 03:27:09 +0000 (01:27 -0200)]
efl-mono: test on inout RwSlice.

5 years agoefl_ui_focus_manager_root_focus: Remove extra blank lines
Christopher Michael [Wed, 16 Jan 2019 16:34:18 +0000 (11:34 -0500)]
efl_ui_focus_manager_root_focus: Remove extra blank lines

NB: No functional changes

5 years agoelm_config: Free data returned from eet_read
Christopher Michael [Wed, 16 Jan 2019 16:07:07 +0000 (11:07 -0500)]
elm_config: Free data returned from eet_read

Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:

```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610==    at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610==    by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610==    by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610==    by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610==    by 0x5864775: eet_read (eet_lib.c:2022)
==11610==    by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610==    by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610==    by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610==    by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610==    by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610==    by 0x138143: main (test.c:1379)
```

@fix

Reviewers: raster, cedric, ManMower

Reviewed By: raster

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoeolian_gen: void out keys depending on how they are setted
Marcel Hollerbach [Tue, 15 Jan 2019 17:13:43 +0000 (18:13 +0100)]
eolian_gen: void out keys depending on how they are setted

this avoid warings about keys not beeing used in the fallback function.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7630

5 years agoeolian: add free functions for the array and future.
Marcel Hollerbach [Mon, 14 Jan 2019 23:04:15 +0000 (00:04 +0100)]
eolian: add free functions for the array and future.

It appears that NULL is not really usefull here, as this will lead to
errors later on. (void) will force the free function to just do nothing
and be later converted to a NOP.

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7629

5 years agoeolian: there is no eina_inlist_free
Marcel Hollerbach [Mon, 14 Jan 2019 22:23:04 +0000 (23:23 +0100)]
eolian: there is no eina_inlist_free

Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7628

5 years agoefl_mono: move Eina.Error.Init() to a static constructor
Marcel Hollerbach [Mon, 7 Jan 2019 17:31:54 +0000 (18:31 +0100)]
efl_mono: move Eina.Error.Init() to a static constructor

this removes the need for the calling a Init function.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7556

5 years agoefl_mono: move Eina.Log.Init to class consturctor
Marcel Hollerbach [Wed, 16 Jan 2019 12:47:09 +0000 (13:47 +0100)]
efl_mono: move Eina.Log.Init to class consturctor

Summary:
This removes the need to explicitly init the log class.
Depends on D7495

Reviewers: felipealmeida, lauromoura, segfaultxavi

Reviewed By: felipealmeida, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests: use test namespace for elm_layout unit test function names
Mike Blumenkrantz [Fri, 11 Jan 2019 15:45:26 +0000 (10:45 -0500)]
tests: use test namespace for elm_layout unit test function names

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7604

5 years agocsharp: add a interface to start apps
Marcel Hollerbach [Wed, 16 Jan 2019 11:28:36 +0000 (12:28 +0100)]
csharp: add a interface to start apps

Summary:
until to today you had to call init functions and a run function which
were static function in a class called Efl.Ui.Config.

However, calling those init functions there is not really OOP style.
Right now things have changed into a manner where you are defining you
application class with inheriting from the Application /
SimpleApplication abstract.

This enables you to call launch() on your application class, calling
launch there leads to a call to the args function, you can call and use
the Efl classes in there, everything is booted up.
Option parsing and dependency start can still be done in the main method
or application constructor, just ensure that you never call any efl
class / function outside the launch function.

A commit that demonstrates the usage can be found at

ref T7204

https://git.enlightenment.org/tools/examples.git/log/?h=devs/bu5hm4n/POC

Reviewers: felipealmeida, segfaultxavi, Jaehyun_Cho, cedric

Reviewed By: segfaultxavi

Subscribers: zmike, woohyun, akanad, lauromoura, #reviewers, #committers

Tags: #efl_language_bindings

Maniphest Tasks: T7204

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

5 years agoemotion: gstreamer: fix deprecation warning for g_type_class_add_private
Stefan Schmidt [Wed, 16 Jan 2019 11:23:44 +0000 (11:23 +0000)]
emotion: gstreamer: fix deprecation warning for g_type_class_add_private

Summary:
Since glib 2.58 g_type_class_add_private is deprecated and this throws
an ugly warning in our build. Not being a glib expert I based this on
patch in freeverb which solves the same issue for them:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/90625953f27668bde29983e2ad3afe2f49d4133f

Videos in rage are still playing fine for me, but double checking during
review would be appreciated.

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agogfx: Add size hint fill (EO)
Yeongjong Lee [Wed, 16 Jan 2019 07:47:51 +0000 (16:47 +0900)]
gfx: Add size hint fill (EO)

Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.

@feature

Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'

Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T3912

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

5 years agoefl-mono: Remove trailings from template file
Felipe Magno de Almeida [Wed, 16 Jan 2019 02:56:13 +0000 (11:56 +0900)]
efl-mono: Remove trailings from template file

Summary: The trailings end up in the final version, which causes it to create a invalid XML file.

Reviewers: bu5hm4n, woohyun, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: cedric, segfaultxavi, woohyun, #reviewers, bu5hm4n, #committers

Tags: #efl

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

5 years agoefl: update spec file to change lottie-player dependancy to rlottie. 39/198339/2
subhransu mohanty [Thu, 24 Jan 2019 02:09:42 +0000 (11:09 +0900)]
efl: update spec file to change lottie-player dependancy to rlottie.

Change-Id: I4f4a27f0027aaccc07272281f2c9412d74b3a0d7

5 years agoelementary animation_view: correct header file installation. 89/198289/2
Hermet Park [Wed, 23 Jan 2019 09:44:38 +0000 (18:44 +0900)]
elementary animation_view: correct header file installation.

there is a regression error after elm_animation_view to interface.

Change-Id: I394cd6f0d7edae458d2829a5ce98acaa632a44a4

5 years agoEfl_Ui_Animation : Fix type errors for legacy APIs 88/198288/1
JunsuChoi [Tue, 22 Jan 2019 06:57:50 +0000 (15:57 +0900)]
Efl_Ui_Animation : Fix type errors for legacy APIs

Summary:
In eo file, eolian can't declear legacy type enum.
so We should to declear legacy enum in legacy header for legacy APIs.
and fix some docs.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, SanghyeonLee, #reviewers, smohanty, #committers

Tags: #efl

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

Change-Id: I10cfd46f2709b85afddde82a7d4db34a6d44865f

5 years agoelementary animation_view: correct to proper efl_ui prefix. 87/198287/1
Hermet Park [Mon, 21 Jan 2019 08:39:35 +0000 (17:39 +0900)]
elementary animation_view: correct to proper efl_ui prefix.

Change-Id: Id7aaaafe044e48797402248eb8a836b1e3575738

5 years agoelementary animation_view: up to date with latest interface grammar. 86/198286/1
Hermet Park [Mon, 21 Jan 2019 08:10:34 +0000 (17:10 +0900)]
elementary animation_view: up to date with latest interface grammar.

Change-Id: I15753f478356286aa67790c0435a2b2dd60cc424

5 years agoElm_Animation_View: Change Elm.Animation_View to Efl.Ui.Animation_View 85/198285/1
JunsuChoi [Mon, 21 Jan 2019 07:47:17 +0000 (16:47 +0900)]
Elm_Animation_View: Change Elm.Animation_View to Efl.Ui.Animation_View

Summary:
   Change class name for using Efl.Ui namespace.

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: segfaultxavi, cedric, smohanty, #reviewers, SanghyeonLee, #committers

Tags: #efl

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

Change-Id: I2cc99795febdc369b16c1584517b8a5712b278c9

5 years agom4: update dependency check. 74/198274/1
Hermet Park [Wed, 23 Jan 2019 08:02:39 +0000 (17:02 +0900)]
m4: update dependency check.

lottie-player has been changed to rlottie.

Change-Id: Iaf4a9aa5ae05fa617665e5d5156e5a3f148efd35

5 years agorename package lottier-player to rlottie 67/198267/2
Hermet Park [Wed, 23 Jan 2019 06:47:29 +0000 (15:47 +0900)]
rename package lottier-player to rlottie

Change-Id: Ic7f4ecf51270bfaf979b1af03b175767f5f12b8f

5 years agoevas vg: fix a memory leak. 81/198181/1
Hermet Park [Tue, 22 Jan 2019 05:10:34 +0000 (14:10 +0900)]
evas vg: fix a memory leak.

if a vector file data is not sharable,
it must close the file immediately when
the instance is destroyed.

Change-Id: Ic754d9129991a08ba0e2c0736b9bf46e9a439782

5 years agoelm_win_legacy: remove internal tags for ACR 78/197578/2
Taehyub Kim [Mon, 14 Jan 2019 08:02:08 +0000 (17:02 +0900)]
elm_win_legacy: remove internal tags for ACR

Change-Id: If78adcc16a9d8430d9c228fdcb57de9d148fe6bb

5 years agoelementary animation_view: correct max frame number. 78/197978/2
Hermet Park [Thu, 17 Jan 2019 10:33:02 +0000 (19:33 +0900)]
elementary animation_view: correct max frame number.

Change-Id: If5bc28d4501e6eedadbc071d6862cef9d9ff5c71

5 years agoevas vg: improve caching mechanism. 67/197967/2
Hermet Park [Thu, 17 Jan 2019 09:00:29 +0000 (18:00 +0900)]
evas vg: improve caching mechanism.

json loader doesn't proper to share the file loader data,
since the loader need to track animation frame data.

If some instances open a same resource, but have different animation frames,
This won't be the best.

So, don't share file loader instance by loader demand.

Change-Id: If7a86375dc8d669a197c280d9b301f353048c42d

5 years agoevas vg: correct max frame number. 77/197977/2
Hermet Park [Thu, 17 Jan 2019 10:32:40 +0000 (19:32 +0900)]
evas vg: correct max frame number.

Change-Id: I97ea57cca8dc22a2810390ef1bb096ce2d92d7fe

5 years agoRevert "Access: Add the missing patch related by Efl.Access_Object.relations_get" 88/197988/1 submit/tizen/20190117.121937 submit/tizen/20190118.024659 submit/tizen/20190118.084922
JunsuChoi [Thu, 17 Jan 2019 11:29:27 +0000 (20:29 +0900)]
Revert "Access: Add the missing patch related by Efl.Access_Object.relations_get"

This reverts commit 5194165f4f21e9777a54c6800f7367b9e8e45742.

Change-Id: Ib7973a78a44b751a5de7bf35df0d6f2c63491f3e

5 years agoElm_Animation_View : Change some EAPI to EOAPI 93/197793/1
JunsuChoi [Wed, 16 Jan 2019 09:52:12 +0000 (18:52 +0900)]
Elm_Animation_View : Change some EAPI to EOAPI

Summary:
enum Elm_Animation_View_State -> enum Elm.Animation_View.State
elm_animation_view_state_get -> Elm.Animation_View.state.get
elm_animation_view_is_playing_back -> Elm.Animation_View.is_playing_back
elm_animation_view_frame_count_get -> Elm.Animation_View.frame_count.get

Test Plan: N/A

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, SanghyeonLee, #reviewers, smohanty, #committers

Tags: #efl

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

Change-Id: Ia46f5ac4d81550aee6b3cccce8d7ee9fcb324db5

5 years agoelementary animation_view: updated doc. 23/197723/2 submit/tizen/20190116.084147
Hermet Park [Wed, 16 Jan 2019 01:37:49 +0000 (10:37 +0900)]
elementary animation_view: updated doc.

frame number is more clear than frame index.

Change-Id: I48c751293edab5f637b9aaa016a8baa62dde7a12

5 years agoevas_object_image: disable PIO Rendering temporary 65/197765/2
Shinwoo Kim [Wed, 16 Jan 2019 07:20:42 +0000 (16:20 +0900)]
evas_object_image: disable PIO Rendering temporary

Change-Id: Icde0faaabfa1c0322d7293119b5a8a0b69ef7e4c

5 years agoElm_Animation_View : Add elm_animation_view_frame_set/get apis 22/197722/2
JunsuChoi [Wed, 16 Jan 2019 01:27:59 +0000 (10:27 +0900)]
Elm_Animation_View : Add elm_animation_view_frame_set/get apis

Summary:
   elm_animation_view_frame_set is index of frame of animation view.
   Range of frame value is 0 to elm_animation_view_fame_count - 1.
   This value calculated with keyframe value.

   elm_animation_view_frame_get return index of current frame.

Test Plan:
   setenv("ECTOR_BACKEND", "default", 1);
   setenv("ELM_ACCEL", "gl", 1);

   elm_init(argc, argv);

   Eo *win = elm_win_util_standard_add(NULL, "test");
   evas_object_smart_callback_add(win, "delete,request", win_del, 0);
   elm_win_autodel_set(win, 1);

   //Animation View
   Evas_Object *anim_view = elm_animation_view_add(win);
   elm_animation_view_auto_repeat_set(anim_view, 1);
   elm_animation_view_file_set(anim_view, "a.json", NULL);
   evas_object_show(anim_view);

   evas_object_size_hint_align_set(anim_view, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(anim_view, 1, 1);

   elm_win_resize_object_add(win, anim_view);

   evas_object_resize(win, WIDTH, HEIGHT);
   evas_object_show(win);

   printf("Get frame count : %d\n", elm_animation_view_frame_count_get(anim_view));
   printf("Set frame : 35\n");
   elm_animation_view_frame_set(anim_view  , 35);
   printf("Get frame : %d\n", elm_animation_view_frame_get(anim_view));
   printf("Get keyframe : %f\n", elm_animation_view_keyframe_get(anim_view));

   printf("Set frame : 0\n");
   elm_animation_view_frame_set(anim_view  , 0);
   printf("Get frame : %d\n", elm_animation_view_frame_get(anim_view));
   printf("Get keyframe : %f\n", elm_animation_view_keyframe_get(anim_view));

   printf("Set keyframe : 0.5\n");
   elm_animation_view_keyframe_set(anim_view  , 0.5);
   printf("Get keyframe : %f\n", elm_animation_view_keyframe_get(anim_view));
   printf("Get frame : %d\n", elm_animation_view_frame_get(anim_view));

   elm_run();
   elm_shutdown();

Reviewers: Hermet

Subscribers: YOhoho, cedric, SanghyeonLee, #reviewers, smohanty, #committers

Tags: #efl

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

Change-Id: I9be2cfb1166ba6b27196b0d8ecb95d55960932c5

5 years agoelm config - add back i var to build again submit/tizen/20190116.045417
Carsten Haitzler (Rasterman) [Tue, 15 Jan 2019 20:48:39 +0000 (20:48 +0000)]
elm config - add back i var to build again

5 years agoRevert "elm_config: remove profile name reading logic from data dir"
Carsten Haitzler (Rasterman) [Tue, 15 Jan 2019 20:42:18 +0000 (20:42 +0000)]
Revert "elm_config: remove profile name reading logic from data dir"

This reverts commit 6c4e49d970ca6046780ba1b9fb226f465d14a497.

Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...

5 years agofocus_manager: fix memory leaks
Derek Foreman [Tue, 15 Jan 2019 01:01:05 +0000 (19:01 -0600)]
focus_manager: fix memory leaks

_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622

5 years agoedje: Remove _edje_animators list
Derek Foreman [Tue, 15 Jan 2019 01:00:08 +0000 (19:00 -0600)]
edje: Remove _edje_animators list

I guess this used to do something...

Now it's a list that we never add anything to but frequently try to remove
things from.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7621

5 years agoevas_render: Remove some list walks
Derek Foreman [Thu, 10 Jan 2019 21:59:26 +0000 (15:59 -0600)]
evas_render: Remove some list walks

Not that these deletes ever walk long lists, but it's trivial to stop
doing it entirely.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7611

5 years agoecore_wl2: Convert frame callbacks to inlist
Derek Foreman [Thu, 10 Jan 2019 21:58:16 +0000 (15:58 -0600)]
ecore_wl2: Convert frame callbacks to inlist

They're only ever on a single list, and never counted.  inlist makes
more sense.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7610

5 years agoecore_evas: Don't walk mice list twice
Derek Foreman [Thu, 10 Jan 2019 21:56:56 +0000 (15:56 -0600)]
ecore_evas: Don't walk mice list twice

We know the item is in there, so we can remove it directly.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7609

5 years agoevas: make efl_canvas_animation abstract
Marcel Hollerbach [Mon, 14 Jan 2019 21:23:02 +0000 (21:23 +0000)]
evas: make efl_canvas_animation abstract

it seems that this class does not have a meaning when created just like
this. Other classes using it are even abstract, which means, this class
should also be abstract. This is done in order to support that a
abstract class should only contain abstract

ref T7240

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7601

5 years agoevas: make efl_canvas_group abstract
Marcel Hollerbach [Fri, 11 Jan 2019 12:10:33 +0000 (13:10 +0100)]
evas: make efl_canvas_group abstract

the efl_canvas_group should be abstract in order to support other
classes which are inheriting from it, which are abstract. This is done
in order to support only abstract parents from abstract classes.

ref T7240

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600

5 years agoecore: make efl_loop_consumer abstract
Marcel Hollerbach [Fri, 11 Jan 2019 12:08:24 +0000 (13:08 +0100)]
ecore: make efl_loop_consumer abstract

There is no point in having the object instancable. However, in order to
support bindings, we need to ensure that every abstract does have only
abstracts as inherit-parents, thus making this class abstract.

ref T7240

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7599

5 years agoemile+ tgv saver - stop using deprecated lz4 functions to remove warnings
Carsten Haitzler (Rasterman) [Tue, 15 Jan 2019 12:33:05 +0000 (12:33 +0000)]
emile+ tgv saver - stop using deprecated lz4 functions to remove warnings

5 years agoefreet - fix warnings on windows to do with size casting
Carsten Haitzler (Rasterman) [Tue, 15 Jan 2019 12:26:42 +0000 (12:26 +0000)]
efreet - fix warnings on windows to do with size casting

no actual bug - just warnings

5 years agoefl-mono: Only raise exception for managed errors.
Lauro Moura [Tue, 15 Jan 2019 08:51:20 +0000 (17:51 +0900)]
efl-mono: Only raise exception for managed errors.

Summary:
Previously, any unhandled Eina_Error would cause an exception
to be thrown when the control returned to C#.

This commit changes this behavior to only raise it when an exception
went unhandled from a C# callback back to C, like in an event handler,
for example.

Test Plan: run tests

Reviewers: segfaultxavi, Jaehyun_Cho, felipealmeida

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Fix autotools make check
Xavi Artigas [Mon, 14 Jan 2019 15:14:19 +0000 (16:14 +0100)]
efl-mono: Fix autotools make check

This adds autotools support for files added in 49d4d44926ee6bc7aeaefed53553f414dae4d0c4
Fixes D7538

5 years agoefl-mono: Fix marshalling of struct in event data.
Lauro Moura [Fri, 21 Dec 2018 03:15:17 +0000 (00:15 -0300)]
efl-mono: Fix marshalling of struct in event data.

Summary:
Previously, we just converted through PtrToStructure, which didn't have
the full marshalling info converting from the internal one to the
external.

This fixes the usage of the Efl.Loop.arguments event.

Also renamed the ToExternal methods to ToManaged, to make clearer that
the output struct is the one intended to be used from the managed code.

Also fixed a minor styling in the generated code (making it easier to be
inspected).

Depends on D7538

Reviewers: segfaultxavi, felipealmeida, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Share test data among other files.
Lauro Moura [Thu, 3 Jan 2019 03:52:28 +0000 (00:52 -0300)]
efl-mono: Share test data among other files.

Summary: Will make easier running/compiling tests in isolation.

Reviewers: segfaultxavi, felipealmeida, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_mono: remove '_' from type for C# naming convention
Jaehyun Cho [Mon, 14 Jan 2019 06:21:21 +0000 (15:21 +0900)]
efl_mono: remove '_' from type for C# naming convention

Summary:
"type" in .eo is converted to "struct" in .eo.cs.
Since the type name in .eo is the same with the struct name .eo.cs,
'_' is removed from the converted struct in .eo.cs for C# naming
convention.

For example, Efl.Callback_Priority is defined in efl_object.eo and
the name is converted to Efl.CallbackPriority in efl_object.eo.cs.

Efl.Access.StateSet in workaround.cs causes duplicated definition
with this patch so Efl.Access.StateSet in workaround.cs is removed.

Test Plan: Compile with autogen.sh --enable-csharp-bindings

Reviewers: lauromoura, segfaultxavi, felipealmeida

Reviewed By: felipealmeida

Subscribers: segfaultxavi, cedric, #reviewers, #committers, woohyun

Tags: #efl

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

5 years agoelm - dnd - restore to working as drop targets
Carsten Haitzler (Rasterman) [Sat, 12 Jan 2019 14:44:03 +0000 (14:44 +0000)]
elm - dnd - restore to working as drop targets

so drop taregts liek rage stopped working - something was wrong with
type handling and fetching selections at all and so on... i've kicked
it back into working again. it's not perfect but it's improved. at
least simple thgins like being a dnd target for dnd from a filemanager
work again which is probably the biggest use case.

@fix

5 years agoefl net - connman - fix correct param for promise cancel
Carsten Haitzler (Rasterman) [Fri, 11 Jan 2019 10:31:16 +0000 (10:31 +0000)]
efl net - connman - fix correct param for promise cancel

the consumer is the obj and the obj is not the pending - it is the
promise data, so warning pointed out an actual bug waiting to happen.

5 years agoelementary: Add missing EINA_UNUSED for efl_ui_image_factory_connect
Christopher Michael [Fri, 11 Jan 2019 14:27:53 +0000 (09:27 -0500)]
elementary: Add missing EINA_UNUSED for efl_ui_image_factory_connect

Eo *obj is unused in this function, so mark it as such

5 years agoelm_map: Add new overlay content to the list of smart members of wigdget
Michael Bouchaud (yoz) [Fri, 11 Jan 2019 14:21:19 +0000 (09:21 -0500)]
elm_map: Add new overlay content to the list of smart members of wigdget

Summary: Without this a new overlay content aren't displayed into the map widget.

Reviewers: zmike, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoecore_fb: Add missing tslib dependency
Christopher Michael [Fri, 11 Jan 2019 14:18:36 +0000 (09:18 -0500)]
ecore_fb: Add missing tslib dependency

If EFL is built with tslib support, which is used by ecore_fb, then we
need to add a dependency on tslib else the build will fail to compile
(undefined reference to ts_open function).

5 years agoelementary: Add missing EINA_UNUSED for efl_ui_layout_factory_connect
Christopher Michael [Fri, 11 Jan 2019 14:17:03 +0000 (09:17 -0500)]
elementary: Add missing EINA_UNUSED for efl_ui_layout_factory_connect

Eo *obj is unused in this function, so mark it as such

5 years agoefl-mono: Add extra constructors to Eina.Value
Xavi Artigas [Fri, 11 Jan 2019 13:28:38 +0000 (14:28 +0100)]
efl-mono: Add extra constructors to Eina.Value

Summary:
new Eina.Value(0) is a special case. The 0 is silently converted
to an enum (Eina.ValueType) and therefore the call is ambiguous
with the 0 being first converted to an Eina.Value via the implicit
conversion operator (calling the Eina.Value deep copy constructor).
Adding constructors for all supported types solves the problem because
they have higher priority. Also, they avoid one deep copy of the
Eina.Value.

Includes test case to catch this problem in the future. This was discovered
in the tutorials, where new Eina.Value(0) is being used.

Test Plan:
The src/efl_reference_core_event.exe example from the examples repo was
not compiling before, and now it is.
make check and make examples still work as expected.

Reviewers: lauromoura

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl: refactor all mixins
Marcel Hollerbach [Thu, 10 Jan 2019 13:19:58 +0000 (14:19 +0100)]
efl: refactor all mixins

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

5 years agoeolian: introduce the keyword required
Marcel Hollerbach [Thu, 10 Jan 2019 11:10:47 +0000 (12:10 +0100)]
eolian: introduce the keyword required

This introduces a new keyword called required. It only works on mixins.
You can specify a list of regular/abstract classes in there.
Classes specified after the required keyword are later used to verify
the usage of the mixin. With this feature a mixin can define a list of
types that the inheriting object (the object that inherits from a mixin)
needs to fullfill, if one class that is required is not in the
implemented classes, then eolian will bail out.

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

5 years agoefl-csharp: Temporarily blacklist forwarder function.
Lauro Moura [Fri, 11 Jan 2019 04:14:11 +0000 (04:14 +0000)]
efl-csharp: Temporarily blacklist forwarder function.

Depends on support for constants that will come with T7506
Differential Revision: https://phab.enlightenment.org/D7596

5 years agoEfl.Ui.List_View: precise layout async
Larry Lira [Fri, 11 Jan 2019 07:24:14 +0000 (16:24 +0900)]
Efl.Ui.List_View: precise layout async

Summary:
fixed precise layouter to work with create asynchronous
fixed example theme signal

Reviewers: cedric, felipealmeida, SanghyeonLee, lauromoura

Reviewed By: SanghyeonLee

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoevas textblock update calculation - account for clipped color changes
Jaehyun Cho [Fri, 11 Jan 2019 02:17:12 +0000 (11:17 +0900)]
evas textblock update calculation - account for clipped color changes

if clipped color changed and not object color on textblock objects, then
the updates could be missed. This bug seems to have been here a while
unnoticed.

This patch refers the patch 4e044fd9c27db61d792319ce566e1d3eacb553f2.

5 years agomeson: correct option description
Daniel Zaoui [Thu, 10 Jan 2019 19:29:04 +0000 (21:29 +0200)]
meson: correct option description

Copy-paste has done its work here :-)

5 years agoeo: improve documentation for event forwarder.
Cedric BAIL [Wed, 2 Jan 2019 23:26:53 +0000 (15:26 -0800)]
eo: improve documentation for event forwarder.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7532

5 years agooptimize glyph images data copy into 4 byte aligned images
Ali Alzyod [Mon, 17 Dec 2018 08:28:52 +0000 (08:28 +0000)]
optimize glyph images data copy into 4 byte aligned images

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

5 years agoevas: remove memory leaks from deleted Textblock objects
Youngbok Shin [Fri, 7 Dec 2018 06:27:13 +0000 (06:27 +0000)]
evas: remove memory leaks from deleted Textblock objects

Even if a object is deleted, its render_pre function could be called.
Especially, Evas Textblock is calling relayout() function if there are
any changes. In relayout() function, it creates at least one paragraph
and one line. Normally, all of paragraphs and its line should be removed
when Evas Textblock object is deleted. But, paragraphs and lines which are
created after deleting its object never be free'd.

@fix
Differential Revision: https://phab.enlightenment.org/D7427

5 years agoefl_ui_win: make win work for evas_norender
Shinwoo Kim [Tue, 18 Dec 2018 10:40:33 +0000 (10:40 +0000)]
efl_ui_win: make win work for evas_norender

The evas_norender updates the canvas internal objects.
But efl_ui_win does not evaluate its internal objects, when evas_norender is
called before showing, after resizing as below.

   evas_object_resize(win, 300, 600);
   evas_norender(evas_object_evas_get(win));
   evas_object_show(win);

This problem could be verified by checking if a resize function of internal
object is called or not.

minw,h is 0 in _elm_win_resize_objects_eval but deferred_resize_job is TRUE.

   evas_norender -> _window_layout_stack ->  _elm_win_resize_objects_eval

So if _elm_win_resize_objects_eval does not return if deferred_resize_job is
TRUE even if minw,h is 0, and calls _elm_win_resize_job, then it will work.

   _elm_win_resize_objects_eval -> _elm_win_resize_job ->
   evas_object_geometry_set  -> _efl_canvas_group_group_need_recalculate_set ->
   _window_layout_stack -> evas_object_geometry_set -> resize function.

I have checked this behavior without elementary. It seems that evas_norender
works between resize and show in this case. Let me share examples.

   ecore_evas_resize(ee, 100, 100);
   evas_norender(evas);
   ecore_evas_show(ee);
Differential Revision: https://phab.enlightenment.org/D7425

5 years agomeson: add a option to config the base directory name for elm data
Wonki Kim [Thu, 10 Jan 2019 12:01:08 +0000 (12:01 +0000)]
meson: add a option to config the base directory name for elm data

There is a option(--with-elementary-base-dir) on autotools
this patch provides the exactly same thing that autotools does on meson
Differential Revision: https://phab.enlightenment.org/D7580

5 years agomeson: define HAVE_TSLIB once tslib option is set
Wonki Kim [Thu, 10 Jan 2019 12:13:21 +0000 (12:13 +0000)]
meson: define HAVE_TSLIB once tslib option is set

Nowhere refers to the tslib option
This patch provides a way to set HAVE_TSLIB
Differential Revision: https://phab.enlightenment.org/D7582

5 years agomeson: elm: add pie and fPIC cflags and ldflags to elm binaries
Stefan Schmidt [Thu, 10 Jan 2019 16:03:35 +0000 (17:03 +0100)]
meson: elm: add pie and fPIC cflags and ldflags to elm binaries

My use case here is having elementary_test being loaded by exactness.
That has been working fine with our autotools based build system but no
longer with meson.

Bringing fPIC and pie back as options allows exactness to dlopen the
binary and work again.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
5 years agoefl_loop: remove FIXME that is done
Marcel Hollerbach [Thu, 10 Jan 2019 12:02:38 +0000 (13:02 +0100)]
efl_loop: remove FIXME that is done

Summary:
ref T7514

Depends on D7508

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7514

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

5 years agoefl_task: remove NOP / unimplement funtions
Marcel Hollerbach [Thu, 10 Jan 2019 11:51:18 +0000 (12:51 +0100)]
efl_task: remove NOP / unimplement funtions

Summary:
this makes efl_task abstract which ensures that it cannot be
instanciated. Further more, functions that needs to be implement are now
pure_virtual.

ref T7514

Reviewers: zmike, segfaultxavi, cedric

Reviewed By: segfaultxavi, cedric

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7514

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

5 years agocxx: Add class get name attribute.
Lauro Moura [Thu, 10 Jan 2019 11:36:39 +0000 (12:36 +0100)]
cxx: Add class get name attribute.

Summary:
C# generator was mistakenly reimplementing it assuming everything was
*_class_get.

Test Plan: run cxx/csharp tests

Reviewers: felipealmeida, cedric, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

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

5 years agomeson: fix a potentionally unexpected behavior
Wonki Kim [Thu, 10 Jan 2019 07:55:56 +0000 (07:55 +0000)]
meson: fix a potentionally unexpected behavior

lidrm is defined in different locations, which causes a unexpected behavior.
this patch fixes it in advance.
Differential Revision: https://phab.enlightenment.org/D7567

5 years agomeson: refactor meson.build for ecore_wl2
Wonki Kim [Thu, 10 Jan 2019 02:05:42 +0000 (02:05 +0000)]
meson: refactor meson.build for ecore_wl2

this patch cleans emson.build for ecore_wl2 up little.
Differential Revision: https://phab.enlightenment.org/D7565

5 years agomeson: modify options for enabling the bindings
Wonki Kim [Wed, 9 Jan 2019 14:36:09 +0000 (14:36 +0000)]
meson: modify options for enabling the bindings

bindings are added as subdir by foreaching a array defined in meson.build at root.
then meson checks a option which has the same name of the binding.
this patch appends a new option for selecting bindings to build.

[howto]
*as-is
meson build.asis/ -Dmono=false -Dcxx=true
ninja -C build.asis/

*to-be
menson build.tobe/ -Dbindings=luajit,cxx
ninja -C build.tobe/

it is imposibble to use this wrongly because meson raise a error if arguments are not in a predefined list that described in meson_options.txt.
for more information, refer to https://mesonbuild.com/Build-options.html and also take a look at meson_options.txt please.
Differential Revision: https://phab.enlightenment.org/D7563

5 years agomeson: excludes stuffs related with gst if gst is disabled
Wonki Kim [Wed, 9 Jan 2019 09:05:01 +0000 (09:05 +0000)]
meson: excludes stuffs related with gst if gst is disabled

if a option for gstreamer is disabled,
stuffs related with gstreamer should not be compiled.
this patch excludes the stuffs.
Differential Revision: https://phab.enlightenment.org/D7566

5 years agoevas doc: fix minor typos.
Hermet Park [Thu, 10 Jan 2019 06:40:58 +0000 (15:40 +0900)]
evas doc: fix minor typos.

5 years agoevas vg: clear mask buffer properly.
Hermet Park [Thu, 10 Jan 2019 05:15:07 +0000 (14:15 +0900)]
evas vg: clear mask buffer properly.

when mask buffer is reused, it must be cleared first.

5 years agodoc: specify memory units in Efl.Cached.Item
Xavi Artigas [Wed, 9 Jan 2019 20:59:22 +0000 (21:59 +0100)]
doc: specify memory units in Efl.Cached.Item

5 years agoeo: fix MacOS break.
Cedric BAIL [Wed, 9 Jan 2019 20:31:19 +0000 (12:31 -0800)]
eo: fix MacOS break.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7571

5 years agoefl: remove warning due to unused variable/parameters.
Cedric BAIL [Wed, 9 Jan 2019 19:54:54 +0000 (14:54 -0500)]
efl: remove warning due to unused variable/parameters.

Reviewers: #committers, felipealmeida, zmike

Reviewed By: #committers, felipealmeida, zmike

Subscribers: zmike, YOhoho, Hermet, #reviewers, #committers

Tags: #efl

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

5 years agoelementary: enable caching for Efl.Ui.LayoutFactory.
Cedric BAIL [Fri, 7 Dec 2018 22:42:49 +0000 (14:42 -0800)]
elementary: enable caching for Efl.Ui.LayoutFactory.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7445

5 years agoelementary: enable caching for Efl.Ui.ImageFactory.
Cedric BAIL [Fri, 7 Dec 2018 22:42:09 +0000 (14:42 -0800)]
elementary: enable caching for Efl.Ui.ImageFactory.

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

5 years agoelementary: add a factory that handle caching for you.
Cedric BAIL [Fri, 7 Dec 2018 00:38:47 +0000 (16:38 -0800)]
elementary: add a factory that handle caching for you.

This factory handle caching of one type of object and automatically empty the cache
when the application goes into pause.

Creating object is costly and time consuming, keeping a few on hands for when you next will need them help a lot.
This is what this factory caching infrastructure provide. It will create the object from the class defined on it,
set the parent and the model as needed for all items a Factory create. The View has to release the Item using the
release function of the Factory interface for all of this to work properly.

This is copying what Elm_Genlist was doing for you in the background and bring Efl interface to parity.

Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7443