platform/upstream/efl.git
5 years agoRevert "elm/scrollable: avoid unnecessary edje recalcs" 82/210782/1 submit/tizen/20190724.123319
Hermet Park [Wed, 24 Jul 2019 12:29:28 +0000 (21:29 +0900)]
Revert "elm/scrollable: avoid unnecessary edje recalcs"

This reverts commit 4279f75f0b0ba7a259badf2c33356201bf7869ba.

This totally breaks popup control in Tizen,

Need to consider necessity of this patch,
further potential side effects possibilities.

Change-Id: Ic6752023e2b10e81c57b604f8990cfaae125fa56

5 years agotextpath: + null handling. 21/210721/1 submit/tizen/20190724.053706
Hermet Park [Wed, 24 Jul 2019 05:28:00 +0000 (14:28 +0900)]
textpath: + null handling.

Change-Id: I8963a33752fca6e2d045783cac2ed5231276e43d

5 years agospec: remove unused files 85/210585/2
Jongmin Lee [Mon, 22 Jul 2019 23:27:21 +0000 (08:27 +0900)]
spec: remove unused files

Spec example files were worked only for autotools.
Since, EFL now use meson instead of autotools, they are not valid anymore.

Change-Id: Ide710fdb93f22fdd5d00f98cc0ef06ebf67bec51

5 years agoevas : resolve conflict on upstream merge 26/210626/1 submit/tizen/20190723.052939 submit/tizen/20190723.053237
SangHyeon Jade Lee [Tue, 23 Jul 2019 05:21:24 +0000 (14:21 +0900)]
evas : resolve conflict on upstream merge

Change-Id: I3dbb6cffedb054182beda333419313a0d00eff70
Signed-off-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
5 years agoefl_ui/scroll_manager: mimic feel of legacy scroller
Mike Blumenkrantz [Mon, 22 Jul 2019 13:57:39 +0000 (15:57 +0200)]
efl_ui/scroll_manager: mimic feel of legacy scroller

Summary:
previously this used a hard linear scroll with a fixed animation time for
mouse wheel events, resulting in an unnatural scroll feel due to abrupt
animation termination

using the decelerate interpolator improves this, and we should be using the
config to determine animation speed
Depends on D9347

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoRevert "efl_ui_layout: set needs_size_calc flag at constructor"
Carsten Haitzler (Rasterman) [Mon, 22 Jul 2019 14:10:40 +0000 (15:10 +0100)]
Revert "efl_ui_layout: set needs_size_calc flag at constructor"

This reverts commit 98b19244329725c76ba601ea66ad5161841a68b9.

This totally broke elm widget min size calcs, e dialogs... sizing is
totally broken and unusable as a result. this is a major break and
needs immediate reverting back to a working state. Sorry Woki. You
need to test this... elementary_Test out of the box is totally broken
as all hell not to mention a lot more.

5 years agoRevert "tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect"
Christopher Michael [Mon, 22 Jul 2019 14:05:27 +0000 (10:05 -0400)]
Revert "tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect"

Reverting this as it causes tests to stall (essentially 'meson test
ecore_wl2-suite' just hangs) when run inside a compositor.

This reverts commit a526285db4dd281148a8d4ffd347bbc2dec881e3.

5 years agotests/ecore_wl2: Reduce calls to ecore_wl2_display_connect
Christopher Michael [Mon, 22 Jul 2019 13:48:19 +0000 (09:48 -0400)]
tests/ecore_wl2: Reduce calls to ecore_wl2_display_connect

In order to reduce display setup time during test execution, we can
just connect once and run all the window tests after that.

ref T8016

5 years agotests/ecore_wl2: Combine tests of ecore_wl2_window_surface functions
Christopher Michael [Mon, 22 Jul 2019 13:34:30 +0000 (09:34 -0400)]
tests/ecore_wl2: Combine tests of ecore_wl2_window_surface functions

ref T8016

5 years agotests/ecore_wl2: Add wayland protocol as a dep for ecore_wl2 tests
Christopher Michael [Mon, 22 Jul 2019 13:34:03 +0000 (09:34 -0400)]
tests/ecore_wl2: Add wayland protocol as a dep for ecore_wl2 tests

ref T8016

5 years ago[elm] Add missing sizing eval hook at radio
Subodh Kumar [Mon, 22 Jul 2019 13:09:00 +0000 (09:09 -0400)]
[elm] Add missing sizing eval hook at radio

Summary:
radio is not shown in our Tizen demo.
sizing eval missing.

@fix

Reviewers: Hermet, bu5hm4n, cedric, zmike

Reviewed By: zmike

Subscribers: akanad, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_layout: set needs_size_calc flag at constructor
Wonki Kim [Mon, 22 Jul 2019 13:08:55 +0000 (09:08 -0400)]
efl_ui_layout: set needs_size_calc flag at constructor

Summary:
even if there is a min definition on theme for some object,
the objects don't have the min size if we do nothing after creating it.

elm_layout_sizing_eval will return with doing nothing while executing contructor
so that _sizing_eval in _layout_group_calculate will never be invoked without calling hint_set, text_set, content_set, etc.

this patch modifies a initial state of needs_size_calc flag
so that object will doing _sizing_eval after executing constructor.

Test Plan:
1. remove lines that call apis such as content_set, hint_set, text_set
  in radio test on elementary_test

2. observe that radios don't have min size

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/ecore_wl2: Add test for ecore_wl2_window_display_get
Christopher Michael [Mon, 22 Jul 2019 13:02:10 +0000 (09:02 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_window_display_get

ref T8016

5 years agotests/ecore_wl2: Add test for ecore_wl2_window_aux_hints_supported_get
Christopher Michael [Mon, 22 Jul 2019 13:00:17 +0000 (09:00 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_window_aux_hints_supported_get

ref T8016

5 years agotests/ecore_wl2: Add test for ecore_wl2_window_output_find
Christopher Michael [Mon, 22 Jul 2019 12:57:33 +0000 (08:57 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_window_output_find

ref T8016

5 years agotests/ecore_wl2: Add test for ecore_wl2_window_rotation_get
Christopher Michael [Mon, 22 Jul 2019 12:55:04 +0000 (08:55 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_window_rotation_get

ref T8016

5 years agotests/ecore_wl2: Add test case for ecore_wl2_window_surface_id_get
Christopher Michael [Mon, 22 Jul 2019 12:40:34 +0000 (08:40 -0400)]
tests/ecore_wl2: Add test case for ecore_wl2_window_surface_id_get

ref T8016

5 years agotests/ecore_wl2: Add test for ecore_wl2_window_surface_get function
Christopher Michael [Mon, 22 Jul 2019 12:37:08 +0000 (08:37 -0400)]
tests/ecore_wl2: Add test for ecore_wl2_window_surface_get function

ref T8016

5 years agotests/ecore_wl2: Remove use of macros for display setup & connect
Christopher Michael [Mon, 22 Jul 2019 12:34:11 +0000 (08:34 -0400)]
tests/ecore_wl2: Remove use of macros for display setup & connect

ref T8016

5 years agoefl_ui_widget: fix warning
Marcel Hollerbach [Mon, 22 Jul 2019 08:43:12 +0000 (10:43 +0200)]
efl_ui_widget: fix warning

5 years agoefl_ui_widget: add safety checks to verify parents aren't being added as children
Mike Blumenkrantz [Tue, 16 Jul 2019 17:40:15 +0000 (13:40 -0400)]
efl_ui_widget: add safety checks to verify parents aren't being added as children

somehow it was never checked to see if a parent was being added as a subobject
of a parent's own child object (recursive hierarchy)

@fix

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

5 years agoecore_evas_convert: add the ability to split large jpeg file.
Cedric BAIL [Mon, 22 Jul 2019 08:27:10 +0000 (10:27 +0200)]
ecore_evas_convert: add the ability to split large jpeg file.

Summary:
After trying convert to split very large image and running out of
memory, this few line of code did seems like the best solution. Maybe
there is some benefit to try to make Ecore_Evas_Convert more useful.

Reviewers: zmike, raster, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoefl_canvas_vg image: changed image parameter type.
Hermet Park [Mon, 22 Jul 2019 08:31:06 +0000 (17:31 +0900)]
efl_canvas_vg image: changed image parameter type.

it's still in improvement stage in beta.

5 years agoecore_evas buffer: fix a deadlock issue.
Hermet Park [Mon, 22 Jul 2019 08:14:10 +0000 (17:14 +0900)]
ecore_evas buffer: fix a deadlock issue.

We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer
that only happens if the ecore_evas_buffer has nothing changed to render,
though it's triggered to rendering.

See this normal scenario that is working fine as our intention.

being ecore_evas_render()
...
 -> ecore_evas_buffer_prepare()
     -> evas_object_image_data_get()
         -> increment lock by backend engine. (egl/tbm ...)
 -> render()
     -> render_post()
        -> _ecore_evas_buffer_update_image()
            -> evas_object_image_data_set()
               ->decrement lock by backend engine (egl/tbm ...)
...
end ecore_evas_render()

The problem is, if the ecore_evas_buffer canvas doesn't changed at all,
render post will be skipped, it could lose the chance to unlock the image data.
Now the host can't render anymore since it's image source lost the lock.

@fix

5 years agoefl_ui_textpath: deprecate elm_textpath_circle_set()
Hermet Park [Mon, 22 Jul 2019 08:01:45 +0000 (17:01 +0900)]
efl_ui_textpath: deprecate elm_textpath_circle_set()

Summary:
this api can be replaced with elm_textpath_circular_set()

Depends on {D9260}

Reviewers: #committers, kimcinoo

Reviewed By: #committers, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.
Hermet Park [Mon, 22 Jul 2019 07:47:43 +0000 (16:47 +0900)]
efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.

Summary:
This patch revises efl_ui_textpath_circle_set() interface.

Current circle_set() behavior is wrongly working,
it makes object minimal size with (x * 2, y * 2).
Insanely, how big size if the object is far from the screen origin.

Secondly, current interface requires center position,
How this center position could be guranteed if user wants to put it into a container?

Third, actual textpath output could be out of the textpath boundary,
since the textpath is originated to middle of text height.
the display boundary can be outside of the textpath geometry by (half of text height).

All in all, put altogether in fix,
I confirmed there is no methods without any compatibility break.

This brings elm_textpath_circular_set() api introduced.

@feature

Reviewers: #committers, kimcinoo, jsuya

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

Tags: #efl

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

5 years agoevas_vg_json: Add image embedded example
JunsuChoi [Mon, 22 Jul 2019 04:54:25 +0000 (13:54 +0900)]
evas_vg_json: Add image embedded example

Summary:
add example code and json resource.

plus)
Add ECTOR_BACKEND="default" Environment variable
because cairo backend is not supported.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
D9220 vg_common_json : Support image data of node

Test Plan:
cd .src/examples/evas/
gcc -o evas_vg_json evas-vg-json.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl`
./evas_vg_json

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

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

5 years agovg_common_json : Support image data of node
JunsuChoi [Mon, 22 Jul 2019 04:53:21 +0000 (13:53 +0900)]
vg_common_json : Support image data of node

Summary:
When node has image data, it creates Efl.Canvas.Vg.Image class
and set transform information and data information.

Depends on
D9218 Ector.Renderer : Implement Ector.Renderer.(Software).Image class
D9219 Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoEfl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class
JunsuChoi [Mon, 22 Jul 2019 04:37:47 +0000 (13:37 +0900)]
Efl.Canvas.Vg : Implement Efl.Canvas.Vg.Image class

Summary:
Implements a vector class that can support image.
User can use this class to output an image with a vector object.

Depends on D9218:Ector.Renderer : Implement Ector.Renderer.(Software).Image class

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoEctor.Renderer : Implement Ector.Renderer.(Software).Image class
JunsuChoi [Mon, 22 Jul 2019 04:29:02 +0000 (13:29 +0900)]
Ector.Renderer : Implement Ector.Renderer.(Software).Image class

Summary:
Implement a class and drawer that outputs image data from the Ector.
Image data is output with a vector object and supports transform.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoecore wl2 - fall back to shm if dmabuf fails in buf init
Carsten Haitzler (Rasterman) [Sun, 21 Jul 2019 23:36:07 +0000 (00:36 +0100)]
ecore wl2 - fall back to shm if dmabuf fails in buf init

so even if shm was an allowed mode/flag, we never fell back to shm if
dmabufs were not possible (/dev/dri/renderD128  didn't exist or wansn't
open-able). that's decidedly a bad thing to do.

@fix

5 years agoecore - efl thread - remove mroe error case cnp code and share it
Carsten Haitzler (Rasterman) [Sat, 20 Jul 2019 10:52:52 +0000 (11:52 +0100)]
ecore - efl thread - remove mroe error case cnp code and share it

more cnp code de-duplication

5 years agoecore - efl thread - move duplicate code into shared func to reduce cnp
Carsten Haitzler (Rasterman) [Sat, 20 Jul 2019 10:48:30 +0000 (11:48 +0100)]
ecore - efl thread - move duplicate code into shared func to reduce cnp

more copy & paste code - put into shared func.

5 years agoecore - efl thread - remove more copy & paste in fd in clearing handling
Carsten Haitzler (Rasterman) [Sat, 20 Jul 2019 10:46:07 +0000 (11:46 +0100)]
ecore - efl thread - remove more copy & paste in fd in clearing handling

move to common shared function to reduce c&p

5 years agoecore - efl thread - reduce copy & paste and merge into single func
Carsten Haitzler (Rasterman) [Sat, 20 Jul 2019 10:44:05 +0000 (11:44 +0100)]
ecore - efl thread - reduce copy & paste and merge into single func

the call and call sync stuff was almost entirely copy & paste - this
moves all the common code into shared funcs that reduce code bloat. it
also moved from heap to stack for sync reply struct location.

5 years agoevas/map: permit evas_map_free(NULL)
Mike Blumenkrantz [Fri, 19 Jul 2019 19:44:08 +0000 (15:44 -0400)]
evas/map: permit evas_map_free(NULL)

free functions in efl should always handle null pointers gracefully

@fix

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

5 years agotests/elm: fix event starter helper function to handle elm_win objects
Mike Blumenkrantz [Fri, 19 Jul 2019 19:47:51 +0000 (15:47 -0400)]
tests/elm: fix event starter helper function to handle elm_win objects

this class implements EFL_CANVAS_SCENE_INTERFACE but is not an Evas,
so the evas must still be fetched

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

5 years agoevas: fix type checking of Evas pointers in legacy functions
Mike Blumenkrantz [Fri, 19 Jul 2019 19:44:58 +0000 (15:44 -0400)]
evas: fix type checking of Evas pointers in legacy functions

many of these functions go directly to evas internals with no eo checks,
and the existing "MAGIC_CHECK" macro has somehow become a useless null
check

type checking here is important in order to avoid crazy behavior when the
wrong object types are passed

@fix

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

5 years agoecore: avoid breaking next main loop start if quit occurs outside of loop
Mike Blumenkrantz [Fri, 19 Jul 2019 19:42:09 +0000 (15:42 -0400)]
ecore: avoid breaking next main loop start if quit occurs outside of loop

in the case where ecore_main_loop_quit() was called before ecore_main_loop_begin(),
the latter call would exit immediately without ever iterating the main loop

@fix

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

5 years agotests/eldbus: fix broken unit test
Mike Blumenkrantz [Fri, 19 Jul 2019 20:55:03 +0000 (16:55 -0400)]
tests/eldbus: fix broken unit test

this callback isn't called during the main loop, so attempting to
quit the loop has no effect and the test deadlocks

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

5 years agoedje: add some null checks for nonexistent objects
Mike Blumenkrantz [Fri, 19 Jul 2019 19:43:21 +0000 (15:43 -0400)]
edje: add some null checks for nonexistent objects

minor cleanup to fix EVAS_DEBUG_ABORT usage

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

5 years agotests/elm: fix a couple unit tests to use event starter helper function
Mike Blumenkrantz [Fri, 19 Jul 2019 19:46:35 +0000 (15:46 -0400)]
tests/elm: fix a couple unit tests to use event starter helper function

these tests seem to have relied upon a callback being triggered which
would call ecore_main_loop_quit() prior to ecore_main_loop_begin() starting
the main loop

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

5 years agomeson: fix debug-threads option
Mike Blumenkrantz [Fri, 19 Jul 2019 19:41:20 +0000 (15:41 -0400)]
meson: fix debug-threads option

it doesn't matter if this doesn't work with eina_debug since this isn't
meant to be used for that kind of debugging

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

5 years agoelm_test: add efl.ui.scroller test with big table
Mike Blumenkrantz [Wed, 17 Jul 2019 18:08:41 +0000 (14:08 -0400)]
elm_test: add efl.ui.scroller test with big table

same as the simple efl.ui.scroller test but with a 2 column table

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

5 years agoefl_ui/table: optimize position_set operations with tables
Mike Blumenkrantz [Wed, 17 Jul 2019 17:12:23 +0000 (13:12 -0400)]
efl_ui/table: optimize position_set operations with tables

if a table is moved and no other changes are made to the table or its children,
e.g., if the table is scrolled, then there is no need to loop over the table's
items repeatedly in order to accurately calculate all the item geometries
and positions.

instead, simply apply an offset from the last table calc position to each child
item and handle the position changes more transparently

this yields roughly a 12% perf improvement to the 'efl.ui.scroller simple2' test
and brings rendering up to nearly 60fps

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

5 years agoelm_test: rename efl.ui.scroller simple test function name
Mike Blumenkrantz [Wed, 17 Jul 2019 17:59:35 +0000 (13:59 -0400)]
elm_test: rename efl.ui.scroller simple test function name

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

5 years agoefl_ui/table: avoid exploding stack with lots of subobjects
Mike Blumenkrantz [Wed, 17 Jul 2019 17:08:58 +0000 (13:08 -0400)]
efl_ui/table: avoid exploding stack with lots of subobjects

using alloca like this without any limits is dangerous, so switch to
malloc here in such cases

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

5 years agoeo: add helper for checking the ownable state
Marcel Hollerbach [Tue, 16 Jul 2019 13:29:56 +0000 (15:29 +0200)]
eo: add helper for checking the ownable state

if a object is ownable, then there is one free reference. If not, a
error will be printed.

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

5 years agoevas/box: avoid triggering smart_move callback
Mike Blumenkrantz [Tue, 16 Jul 2019 19:31:46 +0000 (15:31 -0400)]
evas/box: avoid triggering smart_move callback

any time an evas box is moved, it flags itself to do a recalc on all of
its contents in the next render. evas box also inherits from smart clipped
class, however, which means that it will also move all of its contents
immediately on every single move. this results in something like:

move(box) -> for content in box { move(content) } -> render ->
  recalc(box) -> for content in box { calc(content); move(content); }

which is massively inefficient and results in box being completely unusable
once it has a large number of contents

by skipping immediate move() calls for all the box contents, we can bring this
performance back to usable levels

@fix

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

5 years agoAdd missing Slider header to Efl_Ui.h
Xavi Artigas [Fri, 19 Jul 2019 16:37:12 +0000 (18:37 +0200)]
Add missing Slider header to Efl_Ui.h

Summary: Without this, apps need to include Elementary.h to use unified sliders, which is bad.

Test Plan: Create an app that uses sliders and only include Efl_Ui.h. Magic!

Reviewers: zmike, bu5hm4n, cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoREADME Whitespace
Xavi Artigas [Fri, 19 Jul 2019 14:31:14 +0000 (16:31 +0200)]
README Whitespace

5 years agoREADME: update COMPILING AND INSTALLING section
ali [Fri, 19 Jul 2019 14:29:31 +0000 (16:29 +0200)]
README: update COMPILING AND INSTALLING section

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: raster, vtorri, segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui/scroll_manager: fix int overflow in animation duration calc
Mike Blumenkrantz [Thu, 18 Jul 2019 17:21:26 +0000 (19:21 +0200)]
efl_ui/scroll_manager: fix int overflow in animation duration calc

Summary:
Evas_Coord is a regular int, so this will overflow easily for large
scrollers and return NaN for scroll duration and break the scroll

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoEina vpath: remove support of ~username vpath on Windows
Vincent Torri [Thu, 18 Jul 2019 04:05:50 +0000 (04:05 +0000)]
Eina vpath: remove support of ~username vpath on Windows

On Windows, one must be in kernel mode to obtain informations of other users

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9339

5 years agocxx: remove a compilation warning for g++ 7.x
Vitor Sousa [Wed, 17 Jul 2019 22:32:32 +0000 (19:32 -0300)]
cxx: remove a compilation warning for g++ 7.x

Remove a compilation warning about an unsupported warning category for g++ 7.x.

A `#pragma` directive was used to suppress a `-Wcast-function-type` warning
in g++.
Versions older than 8.x do not have this warning category and raises a warning
because of this directive.

Now this directive is only enabled for g++ version 8.x or newer.

5 years agoeina: set EINA_VALUE_EMPTY during library init.
Cedric BAIL [Wed, 17 Jul 2019 18:12:18 +0000 (11:12 -0700)]
eina: set EINA_VALUE_EMPTY during library init.

This is a work around compiler/linker limit on some system as reported
by Romain Naour.

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

5 years agoelementary: add a test for Efl.Ui.View interface.
Cedric BAIL [Fri, 12 Jul 2019 19:24:58 +0000 (12:24 -0700)]
elementary: add a test for Efl.Ui.View interface.

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

5 years agoelementary: simplify example by using Efl.Model_Provider.
Cedric BAIL [Fri, 12 Jul 2019 18:24:02 +0000 (11:24 -0700)]
elementary: simplify example by using Efl.Model_Provider.

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

5 years agoelementary: fix potential race condition by using Eina_Future attached to the object.
Cedric BAIL [Thu, 11 Jul 2019 22:53:54 +0000 (15:53 -0700)]
elementary: fix potential race condition by using Eina_Future attached to the object.

I get some random segfault in elementary test suite pointing to this code. Most likely
we do not properly destroy the timer during destruction. Could be because we initiate
a delay while destruction is going on or something like that. Anyway, it is easier and
more robust to get it fixed by linking the lifetime of the timeout to the lifetime of
the widget as future allow us to do easily.

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

5 years agoecore: remove efl_loop_{un,}register from .eo.
Cedric BAIL [Thu, 11 Jul 2019 22:34:31 +0000 (15:34 -0700)]
ecore: remove efl_loop_{un,}register from .eo.

We have to keep this as an API, but binding do not need to see it at this point.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9297

5 years agoeo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one.
Cedric BAIL [Thu, 11 Jul 2019 22:18:34 +0000 (15:18 -0700)]
eo: use efl_provider_{un,}register infrastructure instead of Efl_Loop one.

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

5 years agoelementary: add a test for Efl.Model_provider.
Cedric BAIL [Thu, 11 Jul 2019 22:03:05 +0000 (15:03 -0700)]
elementary: add a test for Efl.Model_provider.

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

5 years agoecore: rely on efl_provider_{un,}register to do the job of efl_loop_{un,}register.
Cedric BAIL [Thu, 11 Jul 2019 21:59:05 +0000 (14:59 -0700)]
ecore: rely on efl_provider_{un,}register to do the job of efl_loop_{un,}register.

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

5 years agoelementary: first search on ourself instead of our parent for all providers.
Cedric BAIL [Thu, 11 Jul 2019 22:10:41 +0000 (15:10 -0700)]
elementary: first search on ourself instead of our parent for all providers.

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

5 years agoeo: add ability to register provider on the Eo object directly.
Cedric BAIL [Thu, 11 Jul 2019 21:53:19 +0000 (14:53 -0700)]
eo: add ability to register provider on the Eo object directly.

This should reduce the need for custom implementation of efl_object_provider_bind.
It also enable the ability to register provider from user code on any Efl_Object.

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

5 years agoelementary: Efl.Ui.Layout now rely on model change event to track the model.
Cedric BAIL [Thu, 11 Jul 2019 17:56:51 +0000 (10:56 -0700)]
elementary: Efl.Ui.Layout now rely on model change event to track the model.

This means that this will work nicely with model provider too.

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

5 years agoefl: add a Efl.Model_Provider that every widget will look up for in their parent...
Cedric BAIL [Thu, 11 Jul 2019 01:03:46 +0000 (18:03 -0700)]
efl: add a Efl.Model_Provider that every widget will look up for in their parent tree.

This is done to simplify code as you only need to set the model on the
provider and all the widget that are using it as a provider will automatically be
updated. The child will find a provider during at the time the first property binding
is set on the widget by checking if the parent have an Efl.Model_Provider set. It is
not necessary to set a model to have a valid lookup on a Efl.Model_Provider. To disable
a widget lookup, you can just force set a model on it (even NULL) and it will disable
the lookup.

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

5 years agoelementary: Efl.Ui.Image now rely on event to update model binding.
Cedric BAIL [Thu, 11 Jul 2019 00:56:20 +0000 (17:56 -0700)]
elementary: Efl.Ui.Image now rely on event to update model binding.

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

5 years agoefl: implement notification for when the model is changed on a widget.
Cedric BAIL [Thu, 11 Jul 2019 00:54:46 +0000 (17:54 -0700)]
efl: implement notification for when the model is changed on a widget.

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

5 years agoeolian: remove support for old free() syntax
Daniel Kolesa [Wed, 17 Jul 2019 18:14:46 +0000 (20:14 +0200)]
eolian: remove support for old free() syntax

Now freefuncs can only be specified on type declarations but not
on types themselves. Also remove transitiveness of freefuncs.

5 years agoefl_ui/table: emit EFL_PACK_EVENT_LAYOUT_UPDATED on layout updates
Mike Blumenkrantz [Wed, 17 Jul 2019 17:30:11 +0000 (13:30 -0400)]
efl_ui/table: emit EFL_PACK_EVENT_LAYOUT_UPDATED on layout updates

this should be emitted.

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

5 years agoelm/scrollable: avoid unnecessary edje recalcs
Mike Blumenkrantz [Tue, 16 Jul 2019 19:30:09 +0000 (15:30 -0400)]
elm/scrollable: avoid unnecessary edje recalcs

in this case we just want to trigger pending edje calcs and not force new
ones. this avoids doing a full edje recalc constantly when scrolling

@fix

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

5 years agoefl/scroll manager: stop clearing animators on every wheel event
Mike Blumenkrantz [Wed, 17 Jul 2019 13:33:05 +0000 (09:33 -0400)]
efl/scroll manager: stop clearing animators on every wheel event

if scrolling is supposed to continue then just reuse the existing animator
callback and avoid emitting a scroll,start/stop event pair for every new
input event

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

5 years agoefl_ui/box: optimize position_set operations with boxes
Mike Blumenkrantz [Wed, 17 Jul 2019 17:12:23 +0000 (13:12 -0400)]
efl_ui/box: optimize position_set operations with boxes

if a box is moved and no other changes are made to the box or its children,
e.g., if the box is scrolled, then there is no need to loop over the box's
items repeatedly in order to accurately calculate all the item geometries
and positions.

instead, simply apply an offset from the last box calc position to each child
item and handle the position changes more transparently

this yields roughly a 12% perf improvement to the 'efl.ui.scroller simple' test
and brings rendering up to nearly 60fps

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

5 years agoefl_ui/box: avoid exploding stack with lots of subobjects
Mike Blumenkrantz [Wed, 17 Jul 2019 17:08:58 +0000 (13:08 -0400)]
efl_ui/box: avoid exploding stack with lots of subobjects

using alloca like this without any limits is dangerous, so switch to
malloc here in such cases

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

5 years agoelm_test: add comparable "simple" scroller tests
Mike Blumenkrantz [Tue, 16 Jul 2019 17:41:47 +0000 (13:41 -0400)]
elm_test: add comparable "simple" scroller tests

this should be roughly identical and can be more directly compared in
terms of performance (which is not good in either case)

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

5 years agoefl_ui_win: optimize shutdown
Marcel Hollerbach [Mon, 15 Jul 2019 20:06:06 +0000 (22:06 +0200)]
efl_ui_win: optimize shutdown

in case we are having a scroller with a lot of elements on it, we are
spending a lot of time in stuff like recalculating clips, even if they
will never be used again.

With this freeze here, we are saving 9s shutdown time in item_container.
Which brings the overall closing time from 10s down to 1s, which is a
win IMO.

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

5 years agoefl_ui_widget: relax the amount of event subscriptions
Marcel Hollerbach [Mon, 15 Jul 2019 19:25:43 +0000 (21:25 +0200)]
efl_ui_widget: relax the amount of event subscriptions

there is a very basic problem in eo events. We are having one central
array of event subscription, if for example a widget is now listening to
changes in its parent, then we are 100% asking for trouble.

As an example:
- A scroller with 100 buttons in it.
- Every button will have a subscription to the FOCUS_MANAGER_CHANGED
event

If you now scroll, the position is updated in the scroller, therefore
the position in scroller is updated. This has the result that the whole
list of 100 event subscriptions is walked, which is obviously bad,
however, this solution here is way easier than fixing eo (i am not even
sure there is a nice solution to it).

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

5 years agoefl_ui_widget: performance optimize deletion
Marcel Hollerbach [Mon, 15 Jul 2019 19:00:56 +0000 (21:00 +0200)]
efl_ui_widget: performance optimize deletion

when a logic parent does not have any widgets left, the parent needs to
be reevaluated. However, this only has to happen when there is a change
in state (eg. from 0 -> N or from N -> 0). Every other call can be
safed. This commit introduces this checking, and safes up performance.

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

5 years agoeolian: allow binbufs to be owned
Daniel Kolesa [Wed, 17 Jul 2019 16:15:01 +0000 (18:15 +0200)]
eolian: allow binbufs to be owned

5 years agoeolian: add builtin binbuf and event types
Daniel Kolesa [Wed, 17 Jul 2019 13:50:38 +0000 (15:50 +0200)]
eolian: add builtin binbuf and event types

Binbuf is like strbuf and allows not using the Eina opaque wrapper
now, which will remove some ptr(). And event translates to
Efl.Event because otherwise there would be no way to get rid
of void_ptr.

5 years agovg_common_svg: Gradient stop color use premultiplied color.
JunsuChoi [Wed, 17 Jul 2019 08:15:23 +0000 (17:15 +0900)]
vg_common_svg: Gradient stop color use premultiplied color.

Summary:
The parsed color is straight color.
evas use premultiplied color.

Test Plan:
Sample SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <defs>
    <linearGradient id="linearGradient1" x1="0" y1="0" x2="0.2" y2="0.2" spreadMethod="reflect">
      <stop style="stop-color:#ff0000;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#0000ff;stop-opacity:1;" offset="1"/>
    </linearGradient>
    <radialGradient id="radialGradient222" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#ffFF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#00FFff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
    <radialGradient id="radialGradient333" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#00FF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#FF00ff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
   </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#linearGradient1)"/>
  <rect x="50" y="50" width="50" height="50" fill="url(#radialGradient222)"/>
  <rect x="0" y="0" width="50" height="50" fill="url(#radialGradient333)"/>
</svg>

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoecore_evas buffer: fix a deadlock issue. 44/210544/1
Hermet Park [Mon, 22 Jul 2019 08:14:10 +0000 (17:14 +0900)]
ecore_evas buffer: fix a deadlock issue.

We encountered a deadlock case in ecore_evas_image_object in ecore_evas_buffer
that only happens if the ecore_evas_buffer has nothing changed to render,
though it's triggered to rendering.

See this normal scenario that is working fine as our intention.

being ecore_evas_render()
...
 -> ecore_evas_buffer_prepare()
     -> evas_object_image_data_get()
         -> increment lock by backend engine. (egl/tbm ...)
 -> render()
     -> render_post()
        -> _ecore_evas_buffer_update_image()
            -> evas_object_image_data_set()
               ->decrement lock by backend engine (egl/tbm ...)
...
end ecore_evas_render()

The problem is, if the ecore_evas_buffer canvas doesn't changed at all,
render post will be skipped, it could lose the chance to unlock the image data.
Now the host can't render anymore since it's image source lost the lock.

@fix

Change-Id: I1d902351698d7aa51efc6b7c561c3b597e6f3c25

5 years agoevas: don't add wrong rect for empty line 15/210515/1
Bowon Ryu [Mon, 22 Jul 2019 05:27:44 +0000 (14:27 +0900)]
evas: don't add wrong rect for empty line

@tizen_fix

Change-Id: Ic350fa02785584af2944ddcb05c994f122873785
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
5 years agolibunibreak: Don't break ZWJ + Unknown Emoji case 12/210512/1
Bowon Ryu [Mon, 22 Jul 2019 05:03:55 +0000 (14:03 +0900)]
libunibreak: Don't break ZWJ + Unknown Emoji case

Some Emoji unicodes are missing from grapheme break data table. ex) 1F692
I don't know why Unicode annex does not have full information of Emoji combination.
Anyway, for correct behavior of text cursor, ZWJ + GBP_Other will be non-breakable.

@tizen_fix

Change-Id: I92b8b0b926be164c82c0a897383cf2269516d30f
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
5 years agovg_common_svg: Gradient stop color use premultiplied color. 66/210266/2
JunsuChoi [Wed, 17 Jul 2019 08:15:23 +0000 (17:15 +0900)]
vg_common_svg: Gradient stop color use premultiplied color.

Summary:
The parsed color is straight color.
evas use premultiplied color.

Test Plan:
Sample SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <defs>
    <linearGradient id="linearGradient1" x1="0" y1="0" x2="0.2" y2="0.2" spreadMethod="reflect">
      <stop style="stop-color:#ff0000;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#0000ff;stop-opacity:1;" offset="1"/>
    </linearGradient>
    <radialGradient id="radialGradient222" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#ffFF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#00FFff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
    <radialGradient id="radialGradient333" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#00FF00;stop-opacity:0.1;" offset="0"/>
      <stop style="stop-color:#FF00ff;stop-opacity:1;"   offset="1"/>
    </radialGradient>
   </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#linearGradient1)"/>
  <rect x="50" y="50" width="50" height="50" fill="url(#radialGradient222)"/>
  <rect x="0" y="0" width="50" height="50" fill="url(#radialGradient333)"/>
</svg>

Reviewers: Hermet, kimcinoo, smohanty

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Ifcc1d6b94aab190494afa4f1800e2ed7cf2ffaed

5 years agoevas_vg_load_svg: Support multiple gradient without <defs> part 65/210265/2
JunsuChoi [Mon, 15 Jul 2019 12:23:38 +0000 (21:23 +0900)]
evas_vg_load_svg: Support multiple gradient without <defs> part

Summary:
Multiple gradients can be declared.
There is a problem of keeping only one gradient information
when it is declared outside defs or when defs is not declared.
It supports the use of multiple gradients even if no defs are declared.

Test Plan:
(with D9312 patch)
cd src/example/edje
edje_cc -beta svg.edc && gcc -o svg-test svg-test.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
./svg-test

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I22fda2ab7ae0eb01d6923ebaf134aee54114de1a

5 years agoevas_vg_load_svg: Prevent duplicate operations on radial gradient variables 64/210264/2
JunsuChoi [Mon, 15 Jul 2019 12:22:03 +0000 (21:22 +0900)]
evas_vg_load_svg: Prevent duplicate operations on radial gradient variables

Summary:
This solves the problem of radial gradient being displayed
abnormally when the radial gradient variables are 0 to 1.

Test Plan:
Sample SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <defs
     id="defs11">
    <linearGradient id="linearGradient1" x1="0" y1="0" x2="0.2" y2="0.2" spreadMethod="reflect">
      <stop style="stop-color:#ff0000;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#0000ff;stop-opacity:1;" offset="1"/>
    </linearGradient>
    <radialGradient id="radialGradient222" r="0.2" cx="0.3" cy="0.3" spreadMethod="reflect">
      <stop style="stop-color:#ffFF00;stop-opacity:1;" offset="0"/>
      <stop style="stop-color:#00FFff;stop-opacity:1;" offset="1"/>
    </radialGradient>
  </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#linearGradient1)"/>
  <rect x="50" y="50" width="50" height="50" fill="url(#radialGradient222)"/>
</svg>

Reviewers: Hermet, kimcinoo, smohanty

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I771140d2747167330c96788bb86b30eddd188d0b

5 years agospec: removes ecore-drm related packages 14/210314/1 accepted/tizen/unified/20190723.053524 submit/tizen/20190719.061509
Wonki Kim [Thu, 18 Jul 2019 05:36:27 +0000 (14:36 +0900)]
spec: removes ecore-drm related packages

ecore-drm is not used anymore so no need to build and package.
this patch removes ecore-drm related packages.

Change-Id: I7f02b5b818e9d42793f26723185e9d93ef47d20c

5 years agoMerge branch 'tizen' of ssh://review.tizen.org:29418/platform/upstream/efl into tizen accepted/tizen/unified/20190722.074730 submit/tizen/20190718.020831 submit/tizen/20190719.015332 submit/tizen/20190722.022144
Taehyub Kim [Thu, 18 Jul 2019 01:57:37 +0000 (10:57 +0900)]
Merge branch 'tizen' of ssh://review.tizen.org:29418/platform/upstream/efl into tizen

5 years agorestore colormap feature
Taehyub Kim [Thu, 18 Jul 2019 01:49:25 +0000 (10:49 +0900)]
restore colormap feature

Change-Id: I0cdc79d874ebc1688795f03df6ff1753f237364b

5 years ago[edje] Add support for map zoom to use other part center 39/210039/3
Godly T.Alias [Mon, 15 Jul 2019 07:21:46 +0000 (12:51 +0530)]
[edje] Add support for map zoom to use other part center

Current:
In edc, zoom is supposed to happen from object center, there is no way to
change the center of the zoom.

Changes:
Adding support to change the center of zooming just like map rotation by using
other part's center.

@feature

Url: https://phab.enlightenment.org/D9115

Change-Id: I05a08c6182c610773fb4cdacae35e2824444d4f1
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
5 years agotests/elm: add test for elm_bubble "clicked" smart callback
Mike Blumenkrantz [Tue, 16 Jul 2019 17:38:33 +0000 (13:38 -0400)]
tests/elm: add test for elm_bubble "clicked" smart callback

Summary:
also verify general layout loading

Depends on D9330

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/elm: break out event callback function
Mike Blumenkrantz [Tue, 16 Jul 2019 17:38:28 +0000 (13:38 -0400)]
tests/elm: break out event callback function

Summary:
now we have a function we can reuse which verifies that it is called exactly
one time

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_slider: fix focus interaction
Marcel Hollerbach [Tue, 16 Jul 2019 11:59:40 +0000 (13:59 +0200)]
efl_ui_slider: fix focus interaction

Summary:
when we move the slider up or down, we might be at the minimum or
maximu, if this is the case. Then we must not eat the key event,
otherwise focus is stuck on this widget.
Depends on D9328

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_text: fix focus breaking
Marcel Hollerbach [Tue, 16 Jul 2019 11:58:48 +0000 (13:58 +0200)]
efl_ui_text: fix focus breaking

Summary:
text should not be focusable by default. Only focusable if it is
editable. This fixes mysterical focus disappearing in tests using
efl.ui.text.
Depends on D9327

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_slider: change the semantical meaning of step property
Marcel Hollerbach [Tue, 16 Jul 2019 11:58:42 +0000 (13:58 +0200)]
efl_ui_slider: change the semantical meaning of step property

Summary:
before the step property was used as a relative value. The value that
was added in the end was (max-min)*step. Which is quite confusing given
the fact that the other APIs in in efl_ui_range_display are also taking
values absolut. Other implementations also do so.

fix T4834

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T4834

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

5 years agotests/actionslider: add more actionslider unit tests
Mike Blumenkrantz [Fri, 12 Jul 2019 18:38:30 +0000 (14:38 -0400)]
tests/actionslider: add more actionslider unit tests

verify actionslider callbacks and various basic functionalities

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

5 years agotests/elm: improve click_part() further to guess part locations
Mike Blumenkrantz [Fri, 12 Jul 2019 18:36:31 +0000 (14:36 -0400)]
tests/elm: improve click_part() further to guess part locations

non-swallow parts exist "somewhere" on a given layout, and it may be
the case that they are not actually positioned and just take up the whole
layout space.

for these parts, if they have a direction in their name, we can try to vaguely
guess where the part might be in order to (ideally) click it

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

5 years agotests/elm: improve click_part() to handle non-swallow parts
Mike Blumenkrantz [Fri, 12 Jul 2019 18:35:35 +0000 (14:35 -0400)]
tests/elm: improve click_part() to handle non-swallow parts

swallow parts have content, other parts do not

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