platform/upstream/efl.git
5 years agoUi text scroller: add usage of a guide
Daniel Hirt [Mon, 12 Nov 2018 13:09:56 +0000 (15:09 +0200)]
Ui text scroller: add usage of a guide

5 years agoefl_ui_focus_manager_sub: freeze manager when parent manager is frozen
Marcel Hollerbach [Thu, 22 Nov 2018 14:50:04 +0000 (15:50 +0100)]
efl_ui_focus_manager_sub: freeze manager when parent manager is frozen

a efl_ui_focus_manager_sub object is a manager object by itself. It
registeres the border elements of itself in the parent focus manager.
However, all elements that are registered in this manager object, are
also automatically children of the parent root object, which means, when
the root object of the parent manager object is moved, then those
children will also be moved. Which means, when the parent manager can
ignore those changes, we can also ignore them.
This improves the overall performance of the "Scroller 2" test case by
26%.

The change to the test is required in order to redirect the events so
the self_dirty bit is setted correctly

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

5 years agoelm_interface_scrollable: freeze the manager object when content moves
Marcel Hollerbach [Thu, 22 Nov 2018 14:47:52 +0000 (15:47 +0100)]
elm_interface_scrollable: freeze the manager object when content moves

this freezes the manager object of the user of the interface. This
improves the overall performance when moving arround focus in a
scrollable object, since no new relations are needed to be recalculated.
This safes up about 2% in the "Scroller 2" test. Additional
optimizations are added in another commit.

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

5 years agoefl_ui_focus_manager_calc: ensure that the coords are marked dirty
Marcel Hollerbach [Fri, 23 Nov 2018 11:38:00 +0000 (12:38 +0100)]
efl_ui_focus_manager_calc: ensure that the coords are marked dirty

this is needed when a object is unregistered, otherwise a user of the
event is not informed when a element is gone, and thus the border
elements might have changed.

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

5 years agoefl_ui_focus_manager: introduce a new API
Marcel Hollerbach [Thu, 22 Nov 2018 14:41:31 +0000 (15:41 +0100)]
efl_ui_focus_manager: introduce a new API

the new api can be used to freeze the cache. This means, when the
widgets of the focus manager are all equally moved, the cache can stay,
cause the relative positions did not change, this enables a whole new
set of available optimizations.

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

5 years agoefl_ui_focus_object: introduce a new event for focus geometry changes
Marcel Hollerbach [Fri, 23 Nov 2018 08:49:55 +0000 (09:49 +0100)]
efl_ui_focus_object: introduce a new event for focus geometry changes

before the move and resize events have been used. However, this turned
out to not work well, because not all registered items are real
efl.gfx.entity objects, there is also a custom property for getting the
focus geometry, so now this property is completed with a event that is
emitted when the focus geometry changes. With this event we can
reintroduce relation caching. Since all events are marked correctly
dirty now.

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

5 years agoelm_focus: implement missing functions
Marcel Hollerbach [Thu, 22 Nov 2018 16:54:57 +0000 (17:54 +0100)]
elm_focus: implement missing functions

there is one function that needs to be implemented by the inheritor of
Efl.Ui.Focus.Object and that is focus_parent, otherwise child_focus
cannot be propagated correctly. This is now achived correctly for all
widgets.

This fixes from elm_object_focus_get results for toolbar and calendar.
Segmentcontrol inherits from the class, however, the widget itself does
not allow focus, so its never registered probebly.

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

5 years agoefl_ui_focus_manager_calc: reduce the amount of list operations
Marcel Hollerbach [Wed, 21 Nov 2018 19:57:32 +0000 (20:57 +0100)]
efl_ui_focus_manager_calc: reduce the amount of list operations

it appears that the calculation of the unordered elements can be done a
lot easier here, when checking in the initial for loop for the right
parent safes us two more list walk later on.

Additionally, if all elements in this chain have the right parent, and
the amount of elements is the same as the parent has, then this list can
be used as a full replacement.

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

5 years agoFlipSelector: fix items creation when range is used
Daniel Zaoui [Mon, 26 Nov 2018 08:32:31 +0000 (10:32 +0200)]
FlipSelector: fix items creation when range is used

In the case step is 0, the application will enter in an infinite loop
where the max will never be reached. To fix this, step is set to 1 if 0
is given by the user.
Moreover, step is forced to positive. According to the given min and
max values, the step will be negative or positive. In this way, we are
sure to be inside the correct range.

5 years agoeo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been availab...
Cedric BAIL [Thu, 22 Nov 2018 01:33:10 +0000 (17:33 -0800)]
eo: rename efl_future_Eina_FutureXXX_then in efl_future_then as this has been available for some time.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7327

5 years agoeldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:53 +0000 (17:03 -0800)]
eldbus: switch Eldbus.Model to inherit from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7326

5 years agoeio: switch Eio.Model to inherit from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:34 +0000 (17:03 -0800)]
eio: switch Eio.Model to inherit from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7325

5 years agoecore: switch all Efl.Model to inherit first from Efl.Model_Loop.
Cedric BAIL [Thu, 22 Nov 2018 01:03:10 +0000 (17:03 -0800)]
ecore: switch all Efl.Model to inherit first from Efl.Model_Loop.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7324

5 years agoecore,efl: add Efl.Model.property_get helper which will suceed once when a property...
Cedric BAIL [Thu, 22 Nov 2018 00:44:17 +0000 (16:44 -0800)]
ecore,efl: add Efl.Model.property_get helper which will suceed once when a property finally has a value.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7323

5 years agoeio: use the right type of Eina_Value to report error.
Cedric BAIL [Thu, 22 Nov 2018 00:43:10 +0000 (16:43 -0800)]
eio: use the right type of Eina_Value to report error.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7322

5 years agoefl: make Efl.Model.properties_get return an Iterator<string>.
Cedric BAIL [Fri, 23 Nov 2018 16:25:19 +0000 (16:25 +0000)]
efl: make Efl.Model.properties_get return an Iterator<string>.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7289

5 years agoeina: add tests for eina_multiple_iterator_new.
Cedric BAIL [Fri, 16 Nov 2018 01:44:09 +0000 (17:44 -0800)]
eina: add tests for eina_multiple_iterator_new.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7287

5 years agoeina: add eina_multi_iterator_new.
Cedric BAIL [Fri, 16 Nov 2018 01:42:27 +0000 (17:42 -0800)]
eina: add eina_multi_iterator_new.

This will return an Iterator that will walk over a serie of iterator.
This technicaly take ownership of the iterator it is walking over and
destroy as it goes and doesn't need them anymore.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7286

5 years agoeina: add test for Eina_Iterator over pure C array.
Cedric BAIL [Thu, 15 Nov 2018 23:38:40 +0000 (15:38 -0800)]
eina: add test for Eina_Iterator over pure C array.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7285

5 years agoeina: add a way to iterate over a pure C array with no NUL terminating element.
Cedric BAIL [Thu, 15 Nov 2018 23:37:15 +0000 (15:37 -0800)]
eina: add a way to iterate over a pure C array with no NUL terminating element.

Reviewed-by: Vitor Sousa da Silva <vitorsousa@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D7284

5 years agotravis: temporarily disabled mingw job as hot fix
Stefan Schmidt [Fri, 23 Nov 2018 16:11:05 +0000 (17:11 +0100)]
travis: temporarily disabled mingw job as hot fix

Since a recent commit eolian_gen from HEAD is needed to build efl.
So far the mingw cross build avoided the double build of efl for
bootstrapping purpose and used the 1.21 package for the cross build.

This does no longer work and all Travis jobs are now failung due to
this. As a hotfix I disable the build now (Friday evening) to have
working builds over the weekend and find a better solution next week.

5 years agotravis: reorder jobs to reduce overall build time per push
Stefan Schmidt [Wed, 21 Nov 2018 15:49:14 +0000 (16:49 +0100)]
travis: reorder jobs to reduce overall build time per push

We currently have 6 jobs runnign after a git push, but only 5 parallel
workers available. The macos build takes way longer then the meson
builds for example which we will use to our advantage.

Starting the longest builds (macos and mingw) first and letting the
second meson build start after the first ones finishes. That way the
limitation is still the long running macos job.

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

5 years agoci: here comes ninja!
Marcel Hollerbach [Wed, 7 Nov 2018 16:06:10 +0000 (17:06 +0100)]
ci: here comes ninja!

this updates the scripts in order to make ninja all / ninja test work as
expected. For now there are 2 new jobs options-enabled and
options-disabled. mingw and osx will follow in another commit.
Benchmarks are disabled for now, as the eina benchmark does not seem to
terminate.

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

5 years agotravis: merge wayland build into misc and rename to options-enabled
Stefan Schmidt [Mon, 19 Nov 2018 13:22:10 +0000 (14:22 +0100)]
travis: merge wayland build into misc and rename to options-enabled

The misc build already had most of the extra options enabled for the EFL
build. Instead of wasting CPU cycles on a full seperate build for just
wayland options we merge these two together. In the process we rename
from misc (pretty vague) to options-enabled and options-disbaled.

Due to the combination of options we need to disable sdl for now. It
clashes with the OpenGL ES option we enable for wayland. Having build
for the different GL flavours is something we should look into at some
point.

Patch is based on the patches from Marcel in D7253 and D7254

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

5 years agoeolian: implement new syntax for inheritance
Daniel Kolesa [Thu, 22 Nov 2018 16:17:29 +0000 (17:17 +0100)]
eolian: implement new syntax for inheritance

This new syntax separates the parent class from extensions, in
a familiar way to similar to e.g. Java. Since changing everything
at once is a lot of effort, implement it alongside for the time
being.

5 years agoeolian: implement new inherit behavior
Daniel Kolesa [Thu, 22 Nov 2018 15:21:52 +0000 (16:21 +0100)]
eolian: implement new inherit behavior

Eolian now separates 'parent' and 'extensions'. For regular
classes, parent is the first item in the inherits list and
extesions is the rest. For interfaces and mixins, parent is
NULL and extends is the inherits list.

The reason for this is the separation of them in syntax in near
future. It also slightly changes the behavior; since for interfaces
and mixins, parent is always NULL now, you can freely inherit from
all types of classes without needing to manually put an interface
type as the first item of the inherits list.

5 years agoefl_interpolator: rename subclasses of Efl.Interpolator
Jaehyun Cho [Fri, 23 Nov 2018 12:26:00 +0000 (21:26 +0900)]
efl_interpolator: rename subclasses of Efl.Interpolator

Subclasses of Efl.Interpolator are renamed intuitively from backward
order to forward order.

5 years agoefl_interpolator: change Efl.Interpolator class to interface
Jaehyun Cho [Fri, 23 Nov 2018 10:30:36 +0000 (19:30 +0900)]
efl_interpolator: change Efl.Interpolator class to interface

Since Efl.Interpolator's subclasses are used as interpolator class,
Efl.Interpolator class is changed to be an interface.

This change allows Efl.Canvas.Animation to have Efl.Interpolator as its
property in efl_canvas_animation.eo.

5 years agoelm_gengrid: remove all_items_deselect call in _gengrid_element_focused
Yeongjong Lee [Wed, 14 Nov 2018 06:30:10 +0000 (06:30 +0000)]
elm_gengrid: remove all_items_deselect call in _gengrid_element_focused

focus_changed doesn't mean select_changed. selection is handled the code below.
Differential Revision: https://phab.enlightenment.org/D7268

5 years agoelm: roll _tree_custom_chain_missing into main focus test function
Derek Foreman [Tue, 20 Nov 2018 19:57:12 +0000 (13:57 -0600)]
elm: roll _tree_custom_chain_missing into main focus test function

Further reduction in eo overhead.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm: Compress more focus tests into the same list walk
Derek Foreman [Tue, 20 Nov 2018 17:20:36 +0000 (11:20 -0600)]
elm: Compress more focus tests into the same list walk

Since we're already at the top of the list, we can do the WIN_CLASS test
much more cheaply.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm: Re-order focus tests
Derek Foreman [Tue, 20 Nov 2018 16:49:40 +0000 (10:49 -0600)]
elm: Re-order focus tests

Placing the cheapest tests first can save on some heavy walks.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm: Walk parents instead of parent widget in focus test
Derek Foreman [Tue, 20 Nov 2018 16:48:29 +0000 (10:48 -0600)]
elm: Walk parents instead of parent widget in focus test

This Should Work, right?

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm: speed up _eval_registration_candidate
Derek Foreman [Mon, 19 Nov 2018 21:30:25 +0000 (15:30 -0600)]
elm: speed up _eval_registration_candidate

combining _tree_unfocusable and _tree_disabled into a single function
reduces eo overhead.  This saves a few ms at startup in elementary_test.

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

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
5 years agoelm/themes: make sure the new grid.edc file ends up in the dist tarball
Stefan Schmidt [Wed, 21 Nov 2018 08:28:04 +0000 (09:28 +0100)]
elm/themes: make sure the new grid.edc file ends up in the dist tarball

The new file has been added in 4b5304d7f2b400064c0896f7510f31850912e5af
but forgotten to be added to the list of edc files for the dist tarball.
https://travis-ci.org/Enlightenment/efl/jobs/457510394

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

5 years agoRemove duplicated interface inheritance in eo
Yeongjong Lee [Thu, 22 Nov 2018 08:22:04 +0000 (17:22 +0900)]
Remove duplicated interface inheritance in eo

Summary:
Delete unnecessary interface inheritance

Efl.Ui.Base ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Ui.Base
Efl.Text_Cursor ==> Efl.Text_Markup - Efl.Text_Cursor
Efl.Pack_Layout ==> Efl.Ui.Box - Efl.Pack_Layout
Efl.Ui.Translatable ==> Efl.Ui.Layout - Efl.Ui.Widget - Efl.Ui.Translatable
Efl.Part ==> Efl.Ui.Widget - Efl.Part
Efl.Ui.View ==> Efl.Ui.Layout.Object - Efl.Ui.View
Efl.Access.Value ==> Efl.Ui.Spin - Efl.Access.Value
Efl.Gfx.Buffer ==> Efl.Canvas.Image_Internal - Efl.Gfx.Buffer
Efl.Canvas.Pointer ==>  Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Canvas.Pointer
Efl.Gfx.Size_Hint ==> Efl.Ui.Widget - Efl.Canvas.Group - Efl.Canvas.Object - Efl.Gfx.Size_Hint

Test Plan: make check

Reviewers: Jaehyun_Cho, Hermet, woohyun, segfaultxavi

Reviewed By: Jaehyun_Cho, segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 16:06:51 +0000 (11:06 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 16:05:41 +0000 (11:05 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 16:03:35 +0000 (11:03 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:59:17 +0000 (10:59 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:58:14 +0000 (10:58 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:56:46 +0000 (10:56 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:53:11 +0000 (10:53 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:51:43 +0000 (10:51 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:49:14 +0000 (10:49 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:48:30 +0000 (10:48 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:47:38 +0000 (10:47 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:46:31 +0000 (10:46 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:45:48 +0000 (10:45 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:45:04 +0000 (10:45 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:43:54 +0000 (10:43 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:43:13 +0000 (10:43 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:42:35 +0000 (10:42 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:41:23 +0000 (10:41 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:40:31 +0000 (10:40 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:39:33 +0000 (10:39 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:38:24 +0000 (10:38 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:33:49 +0000 (10:33 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:30:29 +0000 (10:30 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:29:45 +0000 (10:29 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:28:51 +0000 (10:28 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoelementary: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:27:29 +0000 (10:27 -0500)]
elementary: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoeolian: check whether events conflict in inheritance tree (off)
Daniel Kolesa [Wed, 21 Nov 2018 15:26:00 +0000 (16:26 +0100)]
eolian: check whether events conflict in inheritance tree (off)

Previously, the EOLIAN_EVENT_REDEF_WARN environment variable
enabled extra checks that would include events in checking
conflicts against methods. Since this is probably not necessary
and naming events the same as methods is perfectly fine in itself,
relax this rule and check events completely independently.

In practice, this will disallow using the same name for two
events within the same inheritance tree, which is desirable
in longer term, but cannot be enabled just yet because we have
too many of those conflicts. But it also allows the events to
be named the same as methods or parts, which is fine and was not
possible before.

5 years agoemotion: Reduce EO calls by using geometry_set
Chris Michael [Wed, 21 Nov 2018 15:00:09 +0000 (10:00 -0500)]
emotion: Reduce EO calls by using geometry_set

This patch reduces EO calls by using evas_object_geometry_set rather
than calling move & resize.

5 years agoeet - dictorinary - tidy up code to be easier to read
Carsten Haitzler (Rasterman) [Tue, 20 Nov 2018 17:15:57 +0000 (17:15 +0000)]
eet - dictorinary - tidy up code to be easier to read

more compact so less scrolling - easier to read.

5 years agoeet dict - remove redundant check of len, str and possibly strcmp
Carsten Haitzler (Rasterman) [Tue, 20 Nov 2018 16:57:24 +0000 (16:57 +0000)]
eet dict - remove redundant check of len, str and possibly strcmp

aim for small speedups.

5 years agoeet - dictionary - use rwlocks instead of spinlocks - better contention
Carsten Haitzler (Rasterman) [Tue, 20 Nov 2018 16:55:45 +0000 (16:55 +0000)]
eet - dictionary - use rwlocks instead of spinlocks - better contention

if the dict is contended on by lots of threads then a spinlock really
makes it slow. a rwlock gets about 1.5-2x speedup depending on
arch/thread count.

@optimize

5 years agoevas_object_image: fix cutout bug related with opaque object
Jiyoun Park [Wed, 21 Nov 2018 11:55:32 +0000 (20:55 +0900)]
evas_object_image: fix cutout bug related with opaque object

Summary:
  condition:
  1. full size rect
  2. upper side, if there is same size image object and image object preload state is EVAS_IMAGE_PRELOADING.
  below rect cannot be rendered because upper image object was added to cutout area event though image object is not opaque.

  so fix opaque check function return false for opaque state of preloading image.

Reviewers: Hermet, raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoelm_gengrid: transform P233 into a testcase
Marcel Hollerbach [Wed, 14 Nov 2018 16:50:04 +0000 (17:50 +0100)]
elm_gengrid: transform P233 into a testcase

the new testcase checked if the focus is correctly restored after the
gengrid is focused again. And it checks that the focused_item pointer is
NULLed out when the gengrid is not focused at all anymore.

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

5 years agoelm_gengrid: enable focus api for none realized items
Marcel Hollerbach [Tue, 13 Nov 2018 16:36:31 +0000 (17:36 +0100)]
elm_gengrid: enable focus api for none realized items

this ensures that the item is focused once the item is realized.
The last_focused_item point is not NULLed anymore, it will be overridden
anyways a few lines below, if the 'if' below is not going to be
executed, then we should not NULL out the field at all, since we want to
remember the item when we are restoring focus in
_elm_gengrid_efl_ui_focus_manager_setup_on_first_touch.

This resolved the latest comment in D7230

This also resolves T7391.

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

5 years agoelm_legacy: use the new api
Marcel Hollerbach [Tue, 13 Nov 2018 08:33:28 +0000 (09:33 +0100)]
elm_legacy: use the new api

with using the new api of efl.ui.focus.object we can resolve a bug that
was pointed out in P243.

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

5 years agoelm-test: simulate focus on the window
Marcel Hollerbach [Tue, 20 Nov 2018 17:18:04 +0000 (18:18 +0100)]
elm-test: simulate focus on the window

we cannot rely on the compositor to actaully get focus.
However, a few widgets are only doing focus operations if they can get
focus, if not they do nothing. Which effectifility turns off every focus
operation if you don't have compositor focus. In order to work arround
this, we are getting the ee, NULL out the callbacks, so the window does
not know about the the *real* compositor focus, after that we manully
say that the root object has focus, so normal operations can be
performed again.

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

5 years agoelm_gen****: correctly return the focus parent
Marcel Hollerbach [Tue, 13 Nov 2018 15:34:17 +0000 (16:34 +0100)]
elm_gen****: correctly return the focus parent

this was forgotten before. However, now the correct parents are returned
This is needed in order to have the child_focus property propagated
correctly accross the parent chain.

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

5 years agoefl_ui_focus_object: add new event
Marcel Hollerbach [Mon, 12 Nov 2018 15:08:40 +0000 (16:08 +0100)]
efl_ui_focus_object: add new event

the new event indicates when the focus property of a child has changed.

Fixes T7438

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

5 years agoelm-test: add a test for checking the event handling
Marcel Hollerbach [Fri, 2 Nov 2018 01:18:44 +0000 (02:18 +0100)]
elm-test: add a test for checking the event handling

This tests creates a giant box with widgets in them. Each widget that is
tested is added to the box, focus is moved into it, and away from it,
the corresponding events are then checked.

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

5 years agoelm_list: fix focus without items
Marcel Hollerbach [Fri, 2 Nov 2018 09:27:25 +0000 (10:27 +0100)]
elm_list: fix focus without items

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

Change-Id: Ia609c84ebe119011ad5a76c14dfb0de53914a4b0

5 years agoelm_gen****: ensure that no focus item is handled correctly
Marcel Hollerbach [Fri, 2 Nov 2018 01:17:26 +0000 (02:17 +0100)]
elm_gen****: ensure that no focus item is handled correctly

This ensures that on first touch the root dummy element is focused
correctly.

fix T7203

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

Change-Id: Icaaad4d03b50430e87f2c3d2bb46d5be65d09b70

5 years agoefl_ui_focus_manager: make active getter work correctly
Marcel Hollerbach [Fri, 2 Nov 2018 01:13:48 +0000 (02:13 +0100)]
efl_ui_focus_manager: make active getter work correctly

focus managers can be used via composition, in this case the normal
manager is NOT inheriting from the
EFL_UI_FOCUS_MANAGER_WINDOW_ROOT_INTERFACE class, but the composition
parent is.

fix T7390

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

5 years agoci: mingw build target to cross compile EFL for Windows
Stefan Schmidt [Wed, 22 Aug 2018 12:51:12 +0000 (14:51 +0200)]
ci: mingw build target to cross compile EFL for Windows

We are using the EFL windows package installer (ewpi) from Vincent Torri
here (thanks!) to setup all the needed cross compiled dependencies for
EFL.

The make target is disabled as we are not able to execute the windows
binaries withour additional work to run check.

Work is ongoing in ewpi to have the dependencies provided for soem of
the disabled build options (gstreamer, webp, tiff, physics, etc). Once
these are working well in ewpi we will enable them here as well.

[Brought back after revert. CI image is now fixed to have the needed
pre-built windows components again]

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

5 years agoci/dockerfiles: remove outdated files maintained elsewhere
Stefan Schmidt [Mon, 19 Nov 2018 13:24:52 +0000 (14:24 +0100)]
ci/dockerfiles: remove outdated files maintained elsewhere

For a long time now we maintain the needed dockerfiles in a different
repo: https://github.com/Enlightenment/ci-support-files

Doing so allows use to easily use Docker Hub to build these images being
used by Travis CI. The ones deleted here are outdated for a while now
and of no real use anymore.

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

5 years agotravis: drop archlinux from Travis cron builds
Stefan Schmidt [Mon, 19 Nov 2018 13:12:22 +0000 (14:12 +0100)]
travis: drop archlinux from Travis cron builds

With Archlinux being a rolling release every new build of the docker
image could contain new changes that would break for us. For all other
distros we also follow the latest release approach where we want to make
sure efl still builds for it. With Archlinux this is not possible by its
nature. Luckily enough efl developers use Archlinux so the risk of
issues being left unnoticed is small enough.

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

5 years agoefl_ui_format: remove supporting default TM format in interface.
Woochanlee [Tue, 20 Nov 2018 08:59:18 +0000 (09:59 +0100)]
efl_ui_format: remove supporting default TM format in interface.

Summary:
efl_ui_format printed ERR log in calendar use case.

calendar only accept format as "B,b,h,m,y,Y"

But it doesn't cover that and not supporting TM type.

If there is other widget which one using format interface, It also has own accpeted format.

So i think it should impelment on widget side.

Test Plan: elementary_test -> efl_ui_calendar.

Reviewers: Hermet, singh.amitesh, Jaehyun, zmike, segfaultxavi

Reviewed By: segfaultxavi

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

Tags: #efl

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

5 years agoevas ector: use proper prefix name 03/194403/2
Hermet Park [Tue, 4 Dec 2018 04:54:30 +0000 (13:54 +0900)]
evas ector: use proper prefix name

Change-Id: I6e5664d6ad9cc0165ac115b755dc97fa93dcb132

5 years agoevas vg: add one comment todo. 01/194001/2
Hermet Park [Wed, 28 Nov 2018 06:38:56 +0000 (15:38 +0900)]
evas vg: add one comment todo.

Change-Id: I6932d3d6e045319924b7913c0807530b00bbfc26

5 years agoevas ector: Replace renderer preparation responsibility. 00/194000/2
Hermet Park [Wed, 28 Nov 2018 06:31:59 +0000 (15:31 +0900)]
evas ector: Replace renderer preparation responsibility.

Replace fill/stroke renderer preparation of shapes to canvas vg,
These renderer now is triggered by their own instances.

This cairo change part is missing bym cbf70b32f049583fc0bf7542af7d89d4ef5d50c55.

Change-Id: I7f1bb6f1e7465e371f3736752b69939cf7e405b8

5 years agoevas ector: Replace renderer preparation responsibility. 73/193973/2
Hermet Park [Wed, 28 Nov 2018 04:38:23 +0000 (13:38 +0900)]
evas ector: Replace renderer preparation responsibility.

Replace fill/stroke renderer preparation of shapes to canvas vg,
These renderer now is triggered by their own instances.

Change-Id: I22a31cc174150a8087f37f6c1cd60fffd1dc80bf

5 years agowayland_shm: set/update serial for tbm in every commit 68/194368/2
Juyeon Lee [Mon, 3 Dec 2018 12:05:52 +0000 (21:05 +0900)]
wayland_shm: set/update serial for tbm in every commit

serial number is generated in engine(wayland_shm and wayland_egl either)
and set it on client tbm buffer before rendering commit
it is increased after the commit
a client could acquire some requests using a serial ahead of the rendering.
than the serial number with wl_surface commit delivery means on server that
server should allow the client's request at that time of the delivery
(buffer w/ the request serial)

@tizen_only

Change-Id: I71fa9c003d02bc8d10ccfa37e4db6d76b15d49ef
Signed-off-by: Juyeon Lee <juyeonne.lee@samsung.com>
5 years agoevas_wl_main: increase and update a serial for gl backend after swapbuffer 18/194218/3
Juyeon Lee [Fri, 30 Nov 2018 05:10:28 +0000 (14:10 +0900)]
evas_wl_main: increase and update a serial for gl backend after swapbuffer

@tizen_only

Change-Id: If6594586b5cc41e6104150ed953b6a23e0ca5d34

5 years agoector: remove quality option. 68/193968/2
Hermet Park [Wed, 28 Nov 2018 03:03:58 +0000 (12:03 +0900)]
ector: remove quality option.

This option is empty, useless.
No plan to support it.

Change-Id: I87a29e401555d95b957eea54e8f8057cdc9e906a

5 years agoelementary: introduce a new widsget - elm_animation_view 19/194319/2
Hermet Park [Mon, 3 Dec 2018 05:34:22 +0000 (14:34 +0900)]
elementary: introduce a new widsget - elm_animation_view

Elm_Animation_View is designed to display Efl_Canvas_Vg Animation (Lottie)

This is a beta, intermediate development version to introduce tizen 5.5

Change-Id: I14ba6232b98fd109952a6573ebc33d7e84904c38

5 years agoevas gl: Remove single-line pipe code of gl commands. 12/194212/1
Hermet Park [Fri, 30 Nov 2018 04:30:15 +0000 (13:30 +0900)]
evas gl: Remove single-line pipe code of gl commands.

Summary:
GLPIPES is proved to use since it's been used for many years as the default.
On the other hand, single-line routine hans't, acutally it's not maintained properly.
Even this single-line routine doesn't compileable right moment.

This patch is one refactoring to clean up code that's not valuable to maintain.

Reviewers: #committers, raster, cedric, ManMower

Reviewed By: #committers, ManMower

Subscribers: ManMower, cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: Id80ee877544e02959f4606a3c8180637d8c72137

5 years agoUpdate LC_NUMERIC value as previous value 95/194095/3
n1214.hwang [Wed, 28 Nov 2018 09:12:37 +0000 (18:12 +0900)]
Update LC_NUMERIC value as previous value

Change-Id: Ib1148d5e3b2781c3e94ad690f1c8d52f8b1fbe4f

5 years agoAdd missing call to _is_operation_permitted in DoActionName atspi call 09/193909/2
Radoslaw Cybulski [Tue, 27 Nov 2018 10:50:56 +0000 (11:50 +0100)]
Add missing call to _is_operation_permitted in DoActionName atspi call

Change-Id: I0627e1f2cea5d58e9d57cbf7dddf50d93e825317

5 years ago[access] do not have to read out type infomation of gengrid 55/193755/1
SangHyeon Jade Lee [Mon, 26 Nov 2018 05:59:30 +0000 (14:59 +0900)]
[access] do not have to read out type infomation of gengrid

the user would be visually impaired person or blind, so the type infomation
of gengrid is not proper. there would be more proper type infomation.

Change-Id: I7c5561a7d6c6b9c1896884524220b58d5d7237f4

5 years agoector software: make a pair of ref/unref. 16/193716/2
Hermet Park [Fri, 23 Nov 2018 11:41:27 +0000 (20:41 +0900)]
ector software: make a pair of ref/unref.

public_shape missed get xunref,
it won't reache to zero reference.

@fix

Change-Id: I26e7be6c7fecfeffc11ec2e1c7e9b81c910f9de1

5 years agoevas vg: rename evas_vg prefix to efl_canvas for consistency. 05/193705/2
Hermet Park [Fri, 23 Nov 2018 10:59:42 +0000 (19:59 +0900)]
evas vg: rename evas_vg prefix to efl_canvas for consistency.

Change-Id: I06967dda5f322bfd8eb9923034bf98ef9c9f6bca

5 years agoEvas GL : use coord for blur filter 43/193743/2
Sunghyun kim [Mon, 26 Nov 2018 01:46:55 +0000 (10:46 +0900)]
Evas GL  : use coord for blur filter

blur filter need to use modified coord value.

Change-Id: Iedd0bdf8983c22c704f98aa62c8f68f370d1ce73

5 years agoevas vg: rename evas_vg prefix to efl_canvas for consistency.
Hermet Park [Fri, 23 Nov 2018 10:59:42 +0000 (19:59 +0900)]
evas vg: rename evas_vg prefix to efl_canvas for consistency.

5 years agoector renderer: correct indentation. 02/193702/1
Hermet Park [Fri, 23 Nov 2018 10:44:06 +0000 (19:44 +0900)]
ector renderer: correct indentation.

Change-Id: Ib5f92f320e23bbc7d52773491a981fa5b1d02ce8

5 years agoRevert "evas : fixed downscale sampling issue" 71/193671/1
Joogab Yun [Fri, 23 Nov 2018 04:22:50 +0000 (13:22 +0900)]
Revert "evas : fixed downscale sampling issue"

This reverts commit 4736fa41f200af9a8875357893a2e2e0cfa26c61.

Change-Id: I8d162bfc76d918c20bbb02a1ac01a620ff7b2c0b