platform/upstream/efl.git
5 years agoevas vector: support json loader for rlottie integration. 04/208304/1
Hermet Park [Fri, 21 Jun 2019 08:30:19 +0000 (17:30 +0900)]
evas vector: support json loader for rlottie integration.

Summary:
Introduce a new evas json loader to support lottie animation.
This json loader uses rlottie library which is a new github open project.

These days most ui frameworks (windowpws, skia, qt, xamarin, react, nativescript) supports lottie,
the rlottie was designed to support lottie as a standalone library and compatible with efl as well.

To enable this,please install rlottie library then remove json disabler in meson_options.txt

For more information, See lottie/rlottie project and its a introdcution article:

https://airbnb.io/lottie/#/
https://github.com/samsung/rlottie
https://hermet.pe.kr/143

Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>
{D8941}
{D8944}

Reviewers: #committers, jsuya, bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I6216baf76bc725a95a31498a78c1b1b70441fd5e

5 years agoector: Fix precomp layer rendering issue when it has alpha value 62/208262/1
JunsuChoi [Thu, 20 Jun 2019 07:07:05 +0000 (16:07 +0900)]
ector: Fix precomp layer rendering issue when it has alpha value

Summary:
When the precomp layer(parent layer) has alpha transparency and has more than 1 child layer
and they overlap each other if vg object just propagate the alpha to child layer
it will be applied twice in overlapped area.
Even if the child layer does not have alpha transparency, parent alpha is applied to each child.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

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

Change-Id: I67e1fd3781050fc4427011865f8801998b530e52

5 years agoevas filter: make curve work for every accepted/tizen/unified/20190620.071902 submit/tizen/20190619.051039
Shinwoo Kim [Wed, 19 Jun 2019 01:28:34 +0000 (10:28 +0900)]
evas filter: make curve work for every

Summary:
If an input buffer and an output buffer for the curve filter are same, it reads
and writes to the same texture which behavior is not defined. I could not find
good reference for this, but following could be a reference.

https://stackoverflow.com/questions/11410292/opengl-read-and-write-to-the-same-texture

The texture gets 0 color value as a result. So the curve filter does not work.
This patch makes the curve filter use different input and output buffer.

Test Plan:
This attached file could explain what 'read and write to the same texture' is.
{F3724537}

Reviewers: Hermet, jpeg, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_spec: Support running with CK_FORK=no
Marcel Hollerbach [Tue, 18 Jun 2019 16:22:54 +0000 (12:22 -0400)]
efl_ui_spec: Support running with CK_FORK=no

Summary: this was simply not tested before. But works now.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agodefine HAVE_REALPATH in evil_stdlib.h
Vincent Torri [Tue, 18 Jun 2019 12:22:05 +0000 (13:22 +0100)]
define HAVE_REALPATH in evil_stdlib.h

Summary: instead of relying on build system, define HAVE_REALPATH in Evil header file

Reviewers: zmike, raster, cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoEcore net dialer Windows example: fix undeclared symbols
Vincent Torri [Tue, 18 Jun 2019 12:07:26 +0000 (13:07 +0100)]
Ecore net dialer Windows example: fix undeclared symbols

Summary:
missing symbols :

efl_net_dialer_address_dial_get
efl_net_socket_address_remote_get
efl_net_socket_address_local_get
EFL_NET_DIALER_EVENT_DIALER_CONNECTED
EFL_NET_DIALER_EVENT_DIALER_RESOLVED
EFL_NET_DIALER_EVENT_DIALER_ERROR
EFL_NET_DIALER_WINDOWS_CLASS

Test Plan: compilation

Reviewers: zmike, raster, cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoecore_x - restore move event skipper that was removed long ago
Carsten Haitzler (Rasterman) [Tue, 18 Jun 2019 10:21:13 +0000 (11:21 +0100)]
ecore_x - restore move event skipper that was removed long ago

so i've been wondering what is going on for a few days... and i've
figured it out finally... my mouse seems ot like to generate 1000
events per second. not your usual 100 or 200. it only happened on this
one machine so i was wondering what on earth was up. this machine was
different in other ways like an arm cpu, differing gpu (rx550),
different distro and so on. this is creating a storm of motion events..
and this is causing all sorts of overhead in just trying to deal with
them all like generate more internal events, emit signals for every
one of them and so on. there is no attempt to play catch-up or
anything - just build up a bigger and bigger queue of them to deal
with. this is NOT GOOD. this restores our old commented out event
skipper that got commented out during some xcb work actually -
not on its own. it was a huge xcb patch that commented it out.

this restores it and makes it a little cleaner with a bool and now the
perf issues i was seeing are gone. this is such a major performance
fix that this deserves a backport.

@fix @optimize

5 years agoexample - use LC_ALL not LC_MESSAGES for windows examples to build
Carsten Haitzler (Rasterman) [Mon, 17 Jun 2019 08:09:06 +0000 (09:09 +0100)]
example - use LC_ALL not LC_MESSAGES for windows examples to build

so they don't need evil anymore. should help vtorri + windows
port/support.

5 years agoexample - use putenev, not sentenv to be more portable
Carsten Haitzler (Rasterman) [Mon, 17 Jun 2019 08:08:24 +0000 (09:08 +0100)]
example - use putenev, not sentenv to be more portable

yes - it's much more code too. that's life with putenv().

5 years agoevas optimization - fix the "start in list middle" case
Carsten Haitzler (Rasterman) [Sat, 15 Jun 2019 08:38:06 +0000 (09:38 +0100)]
evas optimization - fix the "start in list middle" case

i missed 1 rare case where we start in the middle of the list and have
to walk to the end. testing didnt show it up. fix. this fixes up that
case in b5ed76ba9f22ea659e9e6a3daa32c68354920455

5 years agooptimize - avoid eina_inlist_last where not needed
Carsten Haitzler (Rasterman) [Sat, 15 Jun 2019 08:31:51 +0000 (09:31 +0100)]
optimize - avoid eina_inlist_last where not needed

really minor places.

5 years agoevas - pointer in get - dont On walk inlist but O1 jump to last
Carsten Haitzler (Rasterman) [Sat, 15 Jun 2019 08:19:20 +0000 (09:19 +0100)]
evas - pointer in get - dont On walk inlist but O1 jump to last

to walk inreverse we need to jump to last first then walk backwards...
what we were doing is calling eina_inlist_last() which  is defined to
walk rather than that using list->last ... this totally got rid of
_evas_event_object_list_raw_in_get() from my perf list ... and i was
wondering how it got there to start with.

this is such an obvious optimization...

5 years agoedje messages - use trash to keep message structs around for a short time
Carsten Haitzler (Rasterman) [Fri, 14 Jun 2019 23:33:08 +0000 (00:33 +0100)]
edje messages - use trash to keep message structs around for a short time

more optimizations for edje messages to avoid excess alloc and frees
if we have some trash around... since messages already have list
nodes, re-use the main list node for storing trash and not eina trash
as this avoids extra allocs for trash nodes.

5 years agoedje messages - on del use the per edje message list not global
Carsten Haitzler (Rasterman) [Fri, 14 Jun 2019 23:06:42 +0000 (00:06 +0100)]
edje messages - on del use the per edje message list not global

this massively cuts the walk to remove messages to only what's needed
on teardown ... so yay! speedup.

5 years agoedje messages - avoid nasty On2 walk of message lists with skipping
Carsten Haitzler (Rasterman) [Fri, 14 Jun 2019 22:55:53 +0000 (23:55 +0100)]
edje messages - avoid nasty On2 walk of message lists with skipping

so to process a single obj we added a lot of mesgs to the message
queueue only then to wak most and SKIP most msgs again and again -
when this adds up to 1000's of messages and 10k+ then literally moving
a window in e hangs for multiple seconds and we walk such lists in On2
like complexity. this gets it down to O(1) along with some other minor
optimizations of not adding to tmp list only then to add them to the
nex queue/list.

there is more i can optimize here as well now we track messages for an
edje in th edje. that's next.

5 years agoedje messages - track all messages for an edge obj in the edje
Carsten Haitzler (Rasterman) [Fri, 14 Jun 2019 21:49:25 +0000 (22:49 +0100)]
edje messages - track all messages for an edge obj in the edje

this is the basis for some future speedups to avoid full message queue
walks - get this right first.

5 years agoedje messages - make it use inlist to fragment ram less
Carsten Haitzler (Rasterman) [Fri, 14 Jun 2019 19:39:39 +0000 (20:39 +0100)]
edje messages - make it use inlist to fragment ram less

using regular lists means we double our indirect ptr jumps and
fragment ram more - this is step one in improving performance of
message handling in some nasty corner cases i have found. first this
so it can be identified as an issue on its own if it is one. i've
tested it and it seems ok. so this si stage 1.

5 years agoEfl.Ui.Slider: Rename event delay,changed to steady
Xavi Artigas [Fri, 14 Jun 2019 16:03:32 +0000 (12:03 -0400)]
Efl.Ui.Slider: Rename event delay,changed to steady

Summary:
And update the docs to explain its purpose.

Related to T7893

Test Plan: Everything builds and tests pass

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_check: make it undependend of nstate
Marcel Hollerbach [Thu, 13 Jun 2019 13:21:38 +0000 (09:21 -0400)]
efl_ui_check: make it undependend of nstate

Summary:
check can only display 2 states, and is only designed to do so.
Additionally, nstate inherits from button, which
brings in autorepeat, which is hileriously broken on check and cannot
really work.

Right now there is not even support in the theme for clickable. So its a
good idea to get rid of this for now IMO.

ref T7865

Reviewers: stefan_schmidt, zmike, segfaultxavi, akanad, YOhoho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7865, T7867

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

5 years agoefl_canvas_vg_container: Initialize alpha color
JunsuChoi [Thu, 13 Jun 2019 04:55:29 +0000 (13:55 +0900)]
efl_canvas_vg_container: Initialize alpha color

Summary:
The vg object (container, shape, ...) follows color of VG node data.
The color of node data is not initialized. it can set the required color for each object.
vg container should be layer with an alpha value of 255.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

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

Change-Id: I232ffdb71dd8bb64ca16e30c60016f00c384790d

5 years agoci: travis: switch to newer distro releases
Stefan Schmidt [Wed, 12 Jun 2019 15:44:05 +0000 (11:44 -0400)]
ci: travis: switch to newer distro releases

Summary:
We follow Debian 9.9, Ubuntu 19.04 and Fedora 30 releases.
Also adding a build for Ubuntu 18.04 LTS to the cron job.

Not all jobs are updated yet as some experience failures
(old or new versions) which need to be understand and fixed
before we move on.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/efl_ui: remove unnecessary shutdown fixture code
Mike Blumenkrantz [Wed, 12 Jun 2019 12:54:20 +0000 (08:54 -0400)]
tests/efl_ui: remove unnecessary shutdown fixture code

Summary: this is automatically handled by elm_shutdown at the end of every test

Reviewers: YOhoho

Reviewed By: YOhoho

Subscribers: YOhoho, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoecore_evas_wayland_common: remove unused variable 05/207105/2
Yeongjong Lee [Thu, 30 May 2019 04:23:36 +0000 (13:23 +0900)]
ecore_evas_wayland_common: remove unused variable

Change-Id: Ife5f51016bd2fd72fdd23e23c8cc4a0c453ebecb

5 years agovg_common_json: Set container's alpha color 52/207952/2
JunsuChoi [Tue, 11 Jun 2019 10:01:11 +0000 (19:01 +0900)]
vg_common_json: Set container's alpha color

Summary: If the layer has an alpha value, we have make it available to container.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

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

Change-Id: I6e28865b2371fc6a523d28b51a62f805d7571398

5 years agoefl_canvas_vg_container: Initialize alpha color 51/207951/2
JunsuChoi [Thu, 13 Jun 2019 04:55:29 +0000 (13:55 +0900)]
efl_canvas_vg_container: Initialize alpha color

Summary:
The vg object (container, shape, ...) follows color of VG node data.
The color of node data is not initialized. it can set the required color for each object.
vg container should be layer with an alpha value of 255.

Test Plan: N/A

Reviewers: Hermet, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, kimcinoo, #committers

Tags: #efl

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

Change-Id: Ie5334d86e21c840ef3bf09df503ed6bfce42b839

5 years agoecore_evas_tbm: return int type instead of null pointer 04/207104/3
Yeongjong Lee [Thu, 30 May 2019 04:18:47 +0000 (13:18 +0900)]
ecore_evas_tbm: return int type instead of null pointer

This patch fixes complier warning
```
modules/ecore_evas/engines/tbm/ecore_evas_tbm.c: In function 'ecore_evas_tbm_stride_get':
../src/lib/eina/eina_safety_checks.h:130:20: warning: return makes integer from pointer without a cast [-Wint-conversion]
              return (val);
                     ^
```
Change-Id: I3ca91052905b10193de8f92de91fa08d46000444

5 years agoevas_object_text_block: fix halign_set to work 40/208040/1
Jaehyun Cho [Mon, 17 Jun 2019 12:20:53 +0000 (21:20 +0900)]
evas_object_text_block: fix halign_set to work

New format's halign and halign_auto were initialized with default values
after the new format copied halign and halign_auto from original format.
This caused that the halign value given by halign_set was not applied.

To keep backward compatibility and to resolve the bug, halign and
halign_auto are initialized only for legacy textblock.

Change-Id: I9639fcea898c4bea41c1eed6c91cffd7feadd695

5 years agoecore_evas: set maximized value using the client set 50/207750/2
Jaehyun Cho [Wed, 12 Jun 2019 02:44:09 +0000 (11:44 +0900)]
ecore_evas: set maximized value using the client set

tizen enligthenment didn't suppor maximized window type.
so, client should not expect server send ZXDG_TOPLEVEL_V6_STATE_MAXIMIZED state in
_zxdg_toplevel_cb_configure function.
In tizen, we set ecore_evas's maximized value using the value set by client

This patch refers 47a38e1591fe84979f5797488da4dafe949d3e26

Change-Id: Id70b2819516d494bb6978ebdaa7c91bfa6c29224

5 years agoelm_focus: fix build warning related to elm_focus 05/207805/2
Yeongjong Lee [Thu, 13 Jun 2019 02:08:35 +0000 (11:08 +0900)]
elm_focus: fix build warning related to elm_focus

1. Remove unimplemented function.
2. Fix correct function name.

Change-Id: I57be6d819ffa87c3a1d030d6c9c3fee539597ba1

5 years agoecore_evas: fix build warning 18/207818/1
Hosang Kim [Thu, 13 Jun 2019 04:42:10 +0000 (13:42 +0900)]
ecore_evas: fix build warning

add missed wayland-tbm-client header

Change-Id: I492d3d7da214d8ae26d6713e9c74895b82e5bc90

5 years agoecore_con: fix build warning 13/207813/1
Hosang Kim [Thu, 13 Jun 2019 04:10:52 +0000 (13:10 +0900)]
ecore_con: fix build warning

add missing function to header

Change-Id: I45719a04d0bd2e56875e430743c06cbeb0578f3f

5 years agodocfx: Only add media files in use to the final docs accepted/tizen/unified/20190613.061509 submit/tizen/20190612.074127 submit/tizen/20190612.075202
Xavi Artigas [Tue, 11 Jun 2019 17:57:24 +0000 (19:57 +0200)]
docfx: Only add media files in use to the final docs

The setup script copied ALL media files, but only the C# tutorials and guides.
A lot of space can be saved in the generated _site folder if only the media
files relevant to C# are copied.

5 years agoefl sel manager - flush wl conenction in cnp to avoid hangs...
Carsten Haitzler (Rasterman) [Tue, 11 Jun 2019 17:30:41 +0000 (18:30 +0100)]
efl sel manager - flush wl conenction in cnp to avoid hangs...

we don't force buffers to flush in wl... this will fix that and force
them removing an ugly hang for possibly seconds in cnp from client to
client or even within a client.

remember:

flush your mush.

@fix

5 years agoecore-wl2: Add TODO notes for missing doxygen
Christopher Michael [Tue, 11 Jun 2019 13:47:00 +0000 (09:47 -0400)]
ecore-wl2: Add TODO notes for missing doxygen

I have marked these as TODO (for doxygen) because we still need to
determine if we are keeping these functions in the public API

ref T8014

5 years agoecore-wl2: Add doxygen for ecore_wl2_input_seat_get
Christopher Michael [Tue, 11 Jun 2019 13:45:08 +0000 (09:45 -0400)]
ecore-wl2: Add doxygen for ecore_wl2_input_seat_get

ref T8014

5 years agoecore-wl2: Add missing doxygen for ecore_wl2_window_display_get
Christopher Michael [Tue, 11 Jun 2019 13:36:05 +0000 (09:36 -0400)]
ecore-wl2: Add missing doxygen for ecore_wl2_window_display_get

ref T8014

5 years agoelm/interface_scrollable: check parameters before using them
Jongmin Lee [Tue, 11 Jun 2019 12:27:49 +0000 (08:27 -0400)]
elm/interface_scrollable: check parameters before using them

Summary: it crashes when calling elm_interface_scrollable_loop_get() function with NULL parameters.

Test Plan: call elm_interface_scrollable_loop_get() function with NULL parameters.

Reviewers: Hermet, woohyun, kimcinoo, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_win: Added more gesture config values for gesture manager.
Woochanlee [Tue, 11 Jun 2019 07:17:47 +0000 (16:17 +0900)]
efl_ui_win: Added more gesture config values for gesture manager.

Summary:
https://phab.enlightenment.org/T7544

This is for set config values for gesture manager.

C# will use gesture manager instead of elm_gesture_layer.

Those config values should import to gesture manager to recognize and handle gestures.

Reviewers: segfaultxavi, stefan_schmidt, bu5hm4n, zmike, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun_Cho, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/efl_ui: reset active view counter structs between tests
Mike Blumenkrantz [Mon, 10 Jun 2019 13:54:22 +0000 (09:54 -0400)]
tests/efl_ui: reset active view counter structs between tests

Summary: this fixes running the tests with CK_FORK=no

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-wl: add missing docs for efl_wl_global_add()
Mike Blumenkrantz [Mon, 10 Jun 2019 12:57:35 +0000 (08:57 -0400)]
efl-wl: add missing docs for efl_wl_global_add()

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

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

5 years agomeson: fix cmake generation
Marcel Hollerbach [Mon, 10 Jun 2019 12:49:03 +0000 (08:49 -0400)]
meson: fix cmake generation

Summary:
there were missing Version files. These are generated now. Tested and
verified with ecrire.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotheme: fix fileselector search button layout
Mike Blumenkrantz [Mon, 10 Jun 2019 12:44:33 +0000 (08:44 -0400)]
theme: fix fileselector search button layout

Summary:
to correctly (and quickly) calculate part geometry when setting a part relative
to another part, align must be set on the axis that is relative to another part.
also since the height on this part should not be changing, set fixed on the
vertical axis to optimize geometry calcs

@fix

Depends on D9009

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoedje_cc: protect array lookup
Marcel Hollerbach [Sun, 9 Jun 2019 11:14:57 +0000 (13:14 +0200)]
edje_cc: protect array lookup

it seems with those two actions here in the commit, do use id in a
different way the other actions do. This is commit protects against
this.

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

5 years agoedje_cc_out: Exit instead of segfault on OpenBSD.
Alastair Poole [Fri, 7 Jun 2019 19:34:19 +0000 (19:34 +0000)]
edje_cc_out: Exit instead of segfault on OpenBSD.

Until the cause of these issues can be found exit and
print error messages to console. edje_cc is currently
not reliable on OpenBSD. Until then anyone wanting to
use EFL on this platform will need pre-compiled .edj
files.
Differential Revision: https://phab.enlightenment.org/D9077

5 years agoefl_ui_active_view: fix view_manager_scroll
Marcel Hollerbach [Tue, 4 Jun 2019 18:11:43 +0000 (20:11 +0200)]
efl_ui_active_view: fix view_manager_scroll

the problem that can be observed when clicking permanently on a view in
the view_manager_scroll. You will see things jump arround uncontrolled,
then when you quickly drag and drop, you will also see a lot of weird
moving arround artifacts. The reason for this is, that progress was not
correctly resetted, additionally, mouse_active also was not resetted
correctly in one case.

fix T7988

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9074

5 years agoefl_ui_active_view: fix plain view_manager
Marcel Hollerbach [Tue, 4 Jun 2019 17:55:50 +0000 (19:55 +0200)]
efl_ui_active_view: fix plain view_manager

the problem here is, when we update content. We need to unset visibility
to the *old* content, and set visibility to the *new* content. This is
now finally fixed.

fix T8002

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9073

5 years agoefreetd - timeout in 2 not 10sec to have fewer hangs on shutdown/exit
Carsten Haitzler (Rasterman) [Thu, 6 Jun 2019 12:52:20 +0000 (13:52 +0100)]
efreetd - timeout in 2 not 10sec to have fewer hangs on shutdown/exit

5 years agoeio: fix Efl.Io.Model properties iterator.
Cedric BAIL [Wed, 5 Jun 2019 20:23:45 +0000 (13:23 -0700)]
eio: fix Efl.Io.Model properties iterator.

It kind of worked by luck for 6 months, but really shouldn't. This
is now a custom iterator that will walk the string part of the properties
only. It could become a generic iterator if necessary one day, but
for now, it is fine just here.

T7771

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

5 years agoefl_gesture_manager: Delete type property.
Woochanlee [Wed, 5 Jun 2019 11:31:19 +0000 (20:31 +0900)]
efl_gesture_manager: Delete type property.

Summary:
User already know the gesture type.
And the gesture type(Efl.Event.Description) can't using after binding.

T7959

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7959

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

5 years agoecore_evas wl - make ERR's into WRNS as they really are just that
Carsten Haitzler (Rasterman) [Tue, 4 Jun 2019 14:23:29 +0000 (15:23 +0100)]
ecore_evas wl - make ERR's into WRNS as they really are just that

5 years agoefl_canvas_animation: fix final_state_keep logic
Jaehyun Cho [Tue, 4 Jun 2019 12:49:08 +0000 (21:49 +0900)]
efl_canvas_animation: fix final_state_keep logic

Previously, final_state_keep did not work correctly with animation
repeat.
e.g. repeat mode is restart and repeat count is 1, then final_state_keep
did not work.

Now, final_state_keep logic has been fixed to work correctly.

5 years agoefl_canvas_animation: fix numerical error on map effect calculation
Jaehyun Cho [Tue, 4 Jun 2019 09:52:14 +0000 (18:52 +0900)]
efl_canvas_animation: fix numerical error on map effect calculation

Previously, for a single canvas animation, map effect was applied in
animator callback without resetting previously applied map effect.
This increased numerical error because each time map effect factors
(e.g. scale, degree) should be calculated based on the current map
coordinates.

To resolve this numerical error, now the previously applied map effect
is reset before applying the current map effect in animator callback.

5 years agoefl_ui_layout_orientation: fix the bitwise condition logic
Taehyub Kim [Tue, 4 Jun 2019 11:14:03 +0000 (20:14 +0900)]
efl_ui_layout_orientation: fix the bitwise condition logic

Summary: fix the bitwise condition logic

Reviewers: Jaehyun_Cho, zmike

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl proc/exe envrion work again - after a break earlier on freebsd
Carsten Haitzler (Rasterman) [Tue, 4 Jun 2019 00:14:20 +0000 (02:14 +0200)]
efl proc/exe envrion work again - after a break earlier on freebsd

efl seemingly has been broken on freebsd for a while - environ the
symbol does not exist for SHARED LIBS on freebsd (discussin had been
had on this already, but i gave up). use dlsym as the escape mechanism
so we build on freebsd again.

5 years agoelm - tests - generator - be python2 explicit so we build on freebsd
Carsten Haitzler (Rasterman) [Tue, 4 Jun 2019 00:13:16 +0000 (02:13 +0200)]
elm - tests - generator - be python2 explicit so we build on freebsd

no python bonary there (no symplink) but need to be explicit about
python2 or 3 - so do so and we now build on freebsd...

5 years agoelm_test/ui.bg: use full white+opaque for unchecked 'bg color' state
Mike Blumenkrantz [Mon, 3 Jun 2019 16:55:59 +0000 (12:55 -0400)]
elm_test/ui.bg: use full white+opaque for unchecked 'bg color' state

Summary:
using 0,0,0 (black) with 0 alpha (transparent) here causes the clipper for the
image to draw a fully transparent rectangle, which means that no pixels for
the clipped image are visible.

the expectation when using this test is that enabling the bg color will shade
the image with a red tint, and disabling the bg color will return the image to
its normal color. the current version of this test gives the impression that
disabling the color setting on this widget breaks the widget, which is not
accurate. currently.

fix T7984

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7984

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

5 years agomeson: remove unneeded install: flags
Marcel Hollerbach [Mon, 3 Jun 2019 12:46:29 +0000 (08:46 -0400)]
meson: remove unneeded install: flags

Summary:
when install is not set, meson take the value of install_dir. So when
this is removed, things will continue working correctly.

Reviewers: zmike, stefan_schmidt, cedric, segfaultxavi

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoecore_wl2: fix to update "fullscreen", "maximized" properties of ecore_evas 33/206633/2
Jaehyun Cho [Wed, 22 May 2019 04:17:39 +0000 (13:17 +0900)]
ecore_wl2: fix to update "fullscreen", "maximized" properties of ecore_evas

Previously, elm_win_fullscreen_set and elm_win_maximized_set did not
work on wayland because the window properties of ecore_evas were not
updated.

The window properties of ecore_evas are updated in
_ecore_evas_wl_common_cb_window_configure.
To call _ecore_evas_wl_common_cb_window_configure,
ECORE_WL2_EVENT_WINDOW_CONFIGURE event is added.
To add ECORE_WL2_EVENT_WINDOW_CONFIGURE event,
_ecore_wl2_window_configure_send is called.

Now, by calling _ecore_wl2_window_configure_send after modifying window
properties of ecore_wl2, the window properties of ecore_evas are updated
in _ecore_evas_wl_common_cb_window_configure correctly.

Change-Id: I448b9f294aa7d1b4b9b218612beebf34b2cc56cf

5 years agogenlist : fix item lost highlight at the end of scroll 44/207644/5
SangHyeon Jade Lee [Mon, 10 Jun 2019 11:36:36 +0000 (20:36 +0900)]
genlist : fix item lost highlight at the end of scroll

adjusted item can be last item or NULL,
as the position is out of boundary,
but they are not centered item, so highlight could be disappear.
limiting the adjusted item for the previous one of last item
solve the issue.

Change-Id: Id032bb63b00c4d025653c34ce59246fa7661ae2c
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
5 years agocanvas vg: optmize lottie vector tree. 76/207476/1
Hermet Park [Wed, 5 Jun 2019 07:42:15 +0000 (16:42 +0900)]
canvas vg: optmize lottie vector tree.

Skip invisible stroke nodes as possible.

Change-Id: I124a0eb7faf3891eb65602392775fa20dda3796c

5 years agoevas_out: fix the condition logic for evas_output_view_set 27/207427/2 accepted/tizen/unified/20190610.082538 submit/tizen/20190604.220201 submit/tizen/20190605.022935
Taehyub Kim [Tue, 4 Jun 2019 11:19:15 +0000 (20:19 +0900)]
evas_out: fix the condition logic for evas_output_view_set

Change-Id: I0c3727c11435c74b55a1043ae326f2a25022257f

5 years agogenlist: fix the issue on genlist disappeared focus 99/207399/1 submit/tizen/20190604.083758
SangHyeon Jade Lee [Tue, 4 Jun 2019 08:32:42 +0000 (17:32 +0900)]
genlist: fix the issue on genlist disappeared focus

Change-Id: Ibbea245d21c3e536932d7420e3e071186d6b7de9

5 years agoefl_ui_animation_view: access only valid transit. 70/207370/1
Hermet Park [Tue, 4 Jun 2019 04:42:26 +0000 (13:42 +0900)]
efl_ui_animation_view: access only valid transit.

Change-Id: Ia292e1091daa9f2245a7ebe3aeaaf8edb2af026a

5 years agoecore_wl2_display: remove unused variable 03/207103/2
Yeongjong Lee [Thu, 30 May 2019 04:14:35 +0000 (13:14 +0900)]
ecore_wl2_display: remove unused variable

Change-Id: I10d053c8467e3cc7c265301def2c38121701fda2

5 years agoecore_wl2_tbmsurface: remove unused variable 02/207102/2
Yeongjong Lee [Thu, 30 May 2019 04:02:16 +0000 (13:02 +0900)]
ecore_wl2_tbmsurface: remove unused variable

ref 507f7293ed7ab5e5c3608a1d7017c403f5fb31b8

Change-Id: Ibf3da29ad8606f192a68f4a92c2c2ae6077b0921

5 years agoecore_wl2_tbmsurface: add purge option to surface flush 01/207101/2
Yeongjong Lee [Thu, 30 May 2019 03:46:40 +0000 (12:46 +0900)]
ecore_wl2_tbmsurface: add purge option to surface flush

This patch fixes compiler warning
`lib/ecore_wl2/ecore_wl2_tbmsurface.c:419:13: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
.flush = _evas_tbmbuf_surface_flush,`

ref 486cc513aabde061d9ead25b7e5f4b0814a023a1

Change-Id: Ib93127fbe33c197d1308ad57151b24804f23b682

5 years agoecore_wl2_tbmsurface: add missing EINA_UNUSED 00/207100/2
Yeongjong Lee [Thu, 30 May 2019 03:44:31 +0000 (12:44 +0900)]
ecore_wl2_tbmsurface: add missing EINA_UNUSED

Change-Id: Ie36e5a31b95f65e0797e6072c564fdb1ec288a0a

5 years agobuild: fix a tizen am file to follow convention accepted/tizen/unified/20190604.014647 submit/tizen/20190603.083549
Wonki Kim [Mon, 3 Jun 2019 08:04:37 +0000 (17:04 +0900)]
build: fix a tizen am file to follow convention

Change-Id: I3033a39d548cabf87d5b4648e2146a938302b17c

5 years agocsharp: Do some iterations on exit.
Lauro Moura [Mon, 20 May 2019 23:23:53 +0000 (20:23 -0300)]
csharp: Do some iterations on exit.

So we can kinda properly clean up things before shutting down.

5 years agocsharp: Refactor wrapper lifetime.
Vitor Sousa [Fri, 31 May 2019 20:43:11 +0000 (17:43 -0300)]
csharp: Refactor wrapper lifetime.

Summary:
This commit makes use of the `ownership,shared` and `ownership,unique`
events from Efl.Object in order to avoid the C# wrapper from being
collected while C code holds a reference to the object.

For example, creating a list of items in a for loop and attaching events to
them would fails without this commit, as the C# GC may collect the wrapper.

The basic idea is that we use a `WrapperSupervisor`, which is stored in
the Eo data storage, with a GCHandle allocated for the lifetime of the
underlying Eo object. This supervisor takes care of holding either a
weak C# reference (when in unique mode, allowing the wrapper to be GC'd)
or a hard C# reference (when in shared mode, making the wrapper
non-collectable while the Eo has extra references).

One limitation is that object graphs can leak if a shared object in the
graph - an Eo child for example - stores a hard reference to another
object in the graph as a C# field. In this example, this causes the
parent to always have a hard C# reference (from the child) as the child
is non-collectable due to the parent holding an Eo reference to it.

Depends on D8678

Test Plan: `ninja test` and `make test`

Reviewers: lauromoura, felipealmeida, woohyun, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agocsharp: Add some tests
Lauro Moura [Fri, 31 May 2019 20:34:59 +0000 (17:34 -0300)]
csharp: Add some tests

Summary:
- Wrappers losing C# ref while alive in Eo
- Inherited instances being collected

Also cleanup GC and loop queue before each test

Reviewers: vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agocsharp: Fix testing under dotnet
Lauro Moura [Fri, 31 May 2019 19:58:19 +0000 (16:58 -0300)]
csharp: Fix testing under dotnet

Summary: Fix LD_LIBRARY_PATH so it can still find the custom exports lib

Reviewers: bu5hm4n, vitor.sousa, segfaultxavi, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoRemove unused Efl.Gfx.Path_Change_Event
Xavi Artigas [Fri, 31 May 2019 15:11:04 +0000 (17:11 +0200)]
Remove unused Efl.Gfx.Path_Change_Event

Summary:
This struct was throwing documentation warnings, but it turns out it
is unused. Better to remove it for clarity.

Test Plan: Everything builds and passes tests.

Reviewers: zmike, bu5hm4n, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoelm_test: add text mask case to masking demo
Mike Blumenkrantz [Thu, 30 May 2019 17:16:12 +0000 (13:16 -0400)]
elm_test: add text mask case to masking demo

Summary: Depends on D8853

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoedje_cc: remove compile fails when setting a complex object as a clipper
Mike Blumenkrantz [Thu, 30 May 2019 17:15:51 +0000 (13:15 -0400)]
edje_cc: remove compile fails when setting a complex object as a clipper

Summary:
this is now supported
Depends on D8852

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Tags: #efl

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

5 years agoelm_test: add smart object mask test to existing masking test
Mike Blumenkrantz [Thu, 30 May 2019 17:15:43 +0000 (13:15 -0400)]
elm_test: add smart object mask test to existing masking test

Summary:
this adds another masking functionality using a layout object to the test
when the toggle mask button is clicked enough times
Depends on D8849

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

Tags: #efl

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

5 years agoevas: enable setting any object as a clipper
Mike Blumenkrantz [Thu, 30 May 2019 17:15:30 +0000 (13:15 -0400)]
evas: enable setting any object as a clipper

Summary:
now that various other bugs related to clipping/masking/drawing have
been fixed, this "just works"

@feature

Reviewers: Hermet, cedric

Reviewed By: Hermet, cedric

Subscribers: Hermet, cedric

Tags: #efl

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

5 years agoelm/fileselector_button: null fileselector model pointer on delete
Mike Blumenkrantz [Thu, 30 May 2019 17:10:53 +0000 (13:10 -0400)]
elm/fileselector_button: null fileselector model pointer on delete

Summary:
the data for this object may be further referenced during deletion
after this point without triggering errors, so ensure that pointers
which are accessible with api functions do not persist after deletion

@fix

Depends on D8985

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/elm: explicitly denote some error/warning messages in unit tests
Mike Blumenkrantz [Thu, 30 May 2019 17:09:19 +0000 (13:09 -0400)]
tests/elm: explicitly denote some error/warning messages in unit tests

Summary:
these blocks intentionally trigger warnings/errors, so use test macros
to indicate this

Depends on D8969

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelm/gengrid: handle gengrid finding of nearest visible item when not realized
Mike Blumenkrantz [Thu, 30 May 2019 17:09:10 +0000 (13:09 -0400)]
elm/gengrid: handle gengrid finding of nearest visible item when not realized

Summary:
FIXME--

@fix
Depends on D8960

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_active_view: reset count to -1 if no content is left
Marcel Hollerbach [Thu, 30 May 2019 17:02:12 +0000 (19:02 +0200)]
efl_ui_active_view: reset count to -1 if no content is left

Summary:
otherwise we say content is active that is not active anymore.
This fixes currently failing testcases.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian: use c_name when building complex C symbol names
Daniel Kolesa [Thu, 30 May 2019 15:00:52 +0000 (17:00 +0200)]
eolian: use c_name when building complex C symbol names

5 years agoefl_ui_active_view: update index accordingly
Marcel Hollerbach [Thu, 30 May 2019 14:57:36 +0000 (16:57 +0200)]
efl_ui_active_view: update index accordingly

Summary:
The -1 here only worked for cases where we delete widgets at position 0.
When we are deleting something then we need to stay in the virtual
position where the view is right now, but *then* we need to animate
again into the direction where have real content. This commit ensures
that this is the case

fix T7989

Depends on D9056

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7989

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

5 years agoefl_ui_active_view_manager_*: fix bugging animation
Marcel Hollerbach [Thu, 30 May 2019 14:56:54 +0000 (16:56 +0200)]
efl_ui_active_view_manager_*: fix bugging animation

Summary:
we should protect against multiple requests to the same "to" index.
Otherwise either the speed could increase dramatically, or we start to
oscilate arround the final position, based on the progress sign.
Those ifs here are fixing it.

fix T7988

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7988

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

5 years agoeolian: allow complete symbol renaming for C
Daniel Kolesa [Thu, 30 May 2019 14:20:09 +0000 (16:20 +0200)]
eolian: allow complete symbol renaming for C

This adds a new unified syntax for giving declarations C names.

Classes: class @c_name(Foo) Foo ...
Types: type @c_name(Foo) Foo: Bar ...
Structs: struct @c_name(Foo) Foo ...

and so on. Type instances properly inherit those. This also cleans
up some other parts of the source code.

Fixes T6716.

5 years agoEfl.Ui.Active_View: Update Docs
Xavi Artigas [Wed, 29 May 2019 15:35:19 +0000 (15:35 +0000)]
Efl.Ui.Active_View: Update Docs

This should clarify how the different components of this new widget are meant
to be used.

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

5 years agoefl.ui.pager: remove!
Marcel Hollerbach [Thu, 16 May 2019 17:29:35 +0000 (19:29 +0200)]
efl.ui.pager: remove!

This can be done with Efl.Ui.Active_View

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8907

Change-Id: I1550e754285bfd729a634243d712d0cafd085c18

5 years agoefl_ui_tab_pager: migrate to active_view
Marcel Hollerbach [Thu, 16 May 2019 17:13:30 +0000 (19:13 +0200)]
efl_ui_tab_pager: migrate to active_view

This now migrates to active_view. When we get back to this widget for
stabelization. This is only the first step for loosening efl.ui.pager so
it can be removed. For now the API of efl_ui_tab_pager stayes the same.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8906

5 years agoefl_ui_active_view: introduce a experimental new widget
Marcel Hollerbach [Sun, 28 Apr 2019 10:28:55 +0000 (12:28 +0200)]
efl_ui_active_view: introduce a experimental new widget

this widget tries to replace efl.ui.stack efl.ui.flip & efl.ui.pager
In general those widgets do the same thing, they get content. And
display them with some sort of animations. The new idea here is, that
the basic widget active_view only handles the ownership etc. of the
content that gets added to this. Then there is a view_manager object. The
view_manager object gets notified over the new contents, and requests for
displaying particular contents. The transition then handles those
things.

The version here is feature complete with Efl.Ui.Stack and Efl.Ui.Pager.
Additional features can be implemented in the corresponsing transition
classes. Examples and tests will follow

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8784

Change-Id: I1c2540c15206b50beecf14209cac6557c8900c8f

5 years agoGenlist: Fix for genlist item field update
Godly T.Alias [Thu, 30 May 2019 06:46:27 +0000 (15:46 +0900)]
Genlist: Fix for genlist item field update

Summary: Avoid unnecessary operations on unrealized item when item field update is called

Test Plan: Call item_field_update on an unrealized item

Reviewers: cedric, raster, SanghyeonLee

Reviewed By: SanghyeonLee

Subscribers: #reviewers, rajeev.jnnce, #committers

Tags: #efl

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

5 years agoefl_ui: rename list empty item to list placeholder item.
SangHyeon Jade Lee [Thu, 30 May 2019 06:07:42 +0000 (15:07 +0900)]
efl_ui: rename list empty item to list placeholder item.

Summary:
legacy full style item is introduced Efl.Ui.ListEmptyItem Class in new Efl Interface,
but using "Empty" name is too ambiguous to present style usage.
Thanks to @cedric and @segfaultxavi,
I found better name for this class, Efl.Ui.ListPlaceHolderItem,
as item hold the place which need to be replaced and relayouted by user generated content.

Depends on D8582

Reviewers: cedric, segfaultxavi, eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, segfaultxavi, #committers

Tags: #efl

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

Change-Id: I9a515afca2b6f4fbe8732170d4bc7663c0f2648d

5 years agoefl_ui : refactoring efl.part in item based classes.
SangHyeon Jade Lee [Thu, 30 May 2019 04:22:03 +0000 (13:22 +0900)]
efl_ui : refactoring efl.part in item based classes.

Summary:
Most of item-based class will have similar efl.part such as text, icon, end.
creating this efl part per each class will be very hard to maintaining the class
and unnecessary eo generation.
so combine them in efl.parts of efl_ui_item.
sub item classes can use this efl.part by declairing ther own eo definition.

Reviewers: cedric, Jaehyun_Cho, segfaultxavi, eagleeye

Reviewed By: cedric, eagleeye

Subscribers: herb, woohyun, q66, lauromoura, #reviewers, #committers

Tags: #efl

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

5 years agoecore: add simple test for property_string_add.
Cedric BAIL [Sun, 28 Apr 2019 18:03:09 +0000 (11:03 -0700)]
ecore: add simple test for property_string_add.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D8756

5 years agoecore: add simple logic to generate synthetic string property assembling value of...
Cedric BAIL [Sun, 28 Apr 2019 17:59:57 +0000 (10:59 -0700)]
ecore: add simple logic to generate synthetic string property assembling value of other properties.

I have choosen to use ${} as the property marker, but I am open to other suggestion. Let
me know if you have other suggestion.

This patch also fix recursion on properties changed to properly explore parents dependencies,
avoid infinite loop and emit properties changed by added property logic or property text
on the Efl.ViewModel.

Reviewed-by: Lauro Neto <Lauro Moura <lauromoura@expertisesolutions.com.br>>
Differential Revision: https://phab.enlightenment.org/D8755

5 years agoeo: add events to track the ownership status of an Eo object
Vitor Sousa [Thu, 23 May 2019 18:41:57 +0000 (18:41 +0000)]
eo: add events to track the ownership status of an Eo object

Some user code may want to track an object ownership in regard to whether it is
kept by just one owner or shared between many owners.

This is specially true for code provided by bindings to other programming
languages, where different kinds of resource management may take place.

The event `ownership,unique` is triggered whenever the object refcount goes
from two to one, as a signal that it has just one owner from now on.

The event `ownership,shared` is triggered whenever the object refcount goes
from one to two, as a signal that it has multiple owners from now on.
It will not trigger when further increasing the refcount to any value beyond
two.

We also add benchmarks for sharing (i.e. increasing the refcount) and them
unsharing objects, in order to evaluate the performance impact of this patch.

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

5 years agoevas_inline: Clean up evas_object_plane_changed function
Christopher Michael [Wed, 29 May 2019 19:37:18 +0000 (15:37 -0400)]
evas_inline: Clean up evas_object_plane_changed function

Summary:
This file is full of functions called as:
foo(eo_obj, obj);

Most of them can be reduced to foo(obj); and internally get the eo_obj
with obj->object

This would make it impossible to screw up calling them passing an
unrelated pair, and make calling code a little more readable.

ref T7230
Depends on D9050

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7230

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

5 years agoevas_inline: Clean up evas_object_is_on_plane function
Christopher Michael [Wed, 29 May 2019 19:37:13 +0000 (15:37 -0400)]
evas_inline: Clean up evas_object_is_on_plane function

Summary:
This file is full of functions called as:
foo(eo_obj, obj);

Most of them can be reduced to foo(obj); and internally get the eo_obj
with obj->object

This would make it impossible to screw up calling them passing an
unrelated pair, and make calling code a little more readable.

ref T7230

Depends on D9049

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7230

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

5 years agoevas_inline: Clean up evas_object_is_opaque function
Christopher Michael [Wed, 29 May 2019 19:37:07 +0000 (15:37 -0400)]
evas_inline: Clean up evas_object_is_opaque function

Summary:
This file is full of functions called as:
foo(eo_obj, obj);

Most of them can be reduced to foo(obj); and internally get the eo_obj
with obj->object

This would make it impossible to screw up calling them passing an
unrelated pair, and make calling code a little more readable.

ref T7230

Depends on D9048

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7230

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

5 years agoevas_inline: Clean up evas_object_is_proxy_visible function
Christopher Michael [Wed, 29 May 2019 19:36:59 +0000 (15:36 -0400)]
evas_inline: Clean up evas_object_is_proxy_visible function

Summary:
This file is full of functions called as:
foo(eo_obj, obj);

Most of them can be reduced to foo(obj); and internally get the eo_obj
with obj->object

This would make it impossible to screw up calling them passing an
unrelated pair, and make calling code a little more readable.

ref T7230

Depends on D9046

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7230

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

5 years agoevas_inline: Clean up evas_object_is_visible function
Christopher Michael [Wed, 29 May 2019 19:36:53 +0000 (15:36 -0400)]
evas_inline: Clean up evas_object_is_visible function

Summary:
This file is full of functions called as:
foo(eo_obj, obj);

Most of them can be reduced to foo(obj); and internally get the eo_obj
with obj->object

This would make it impossible to screw up calling them passing an
unrelated pair, and make calling code a little more readable.

ref T7230

Depends on D9045

Reviewers: raster, cedric, zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7230

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