platform/upstream/efl.git
5 years agoecore_imf: Modified to prevent sending wrong input hint 36/209636/2
InHong Han [Tue, 9 Jul 2019 09:31:17 +0000 (18:31 +0900)]
ecore_imf: Modified to prevent sending wrong input hint

Change-Id: Ia20c10946c7e194a3db189f01443107ce5070bc3

5 years agoefl_ui_check/radio: restore legacy behaviour
Marcel Hollerbach [Tue, 2 Jul 2019 19:05:07 +0000 (21:05 +0200)]
efl_ui_check/radio: restore legacy behaviour

from now on, the "changed" signal is only emitted on radio/check buttons when
the user interacted with this object. NOT due to the API change.
However, in the eo-api the event is emitted all the time, due to user
interaction, AND due to API interaction.

ref T8042

5 years agoEvas events: Reduce grab count even in freezed state 24/209224/3
Godly T Alias [Wed, 3 Jul 2019 14:44:11 +0000 (14:44 +0000)]
Evas events: Reduce grab count even in freezed state

Decrement grab count of mouse event when mouse up happen during
a freeze state.Currently as grab count is not reduced in this scenario,
further touches gets ignored.

Change-Id: Ieb2b33efa506258d0bd685464746c65bd9e5892c

5 years agoefl_gfx_shape: Stroke color use a premultiplied color. 28/209128/3
JunsuChoi [Tue, 2 Jul 2019 10:54:14 +0000 (19:54 +0900)]
efl_gfx_shape: Stroke color use a premultiplied color.

R, G, and B must not be higher than alpha.

TEST PLAN:
//test code
Ecore_Evas *ee = ecore_evas_new(NULL, 0, 0, 600, 600, NULL);
ecore_evas_show(ee);

Evas *evas = ecore_evas_get(ee);
Evas_Object *vg,*bg;

bg = evas_object_rectangle_add(evas);
evas_object_color_set(bg, 0, 0, 255, 255);
evas_object_focus_set(bg, 1);
evas_object_show(bg);
int w, h;
ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
evas_object_resize(bg, w, h);

vg = evas_object_vg_add(evas);
evas_object_focus_set(vg, 1);
evas_object_show(vg);
evas_object_resize(vg, w, h);

Efl_VG *shape, *container;
container = evas_vg_container_add(vg);
shape = evas_vg_shape_add(container);

evas_vg_shape_append_rect(shape, 0, 0, 200 , 200, 10, 10);
evas_vg_shape_stroke_color_set(shape, 255, 255, 255, 10);
evas_vg_shape_stroke_width_set(shape, 20);
evas_vg_node_origin_set(shape, 200, 200);

evas_object_vg_root_node_set(vg, container);
ecore_main_loop_begin();
ecore_evas_shutdown();

Change-Id: I7b0b658566b576ca3e5a8e91f20f692381fb3e92

5 years agocsharp: fix some compilation warnings accepted/tizen/unified/20190705.110817 submit/tizen/20190703.012845
Vitor Sousa [Fri, 28 Jun 2019 13:58:24 +0000 (10:58 -0300)]
csharp: fix some compilation warnings

Fix unused variable warnings in eina_mono and unit test files.

5 years agocsharp: fix Eina_Stringshare support in containers for manual and generated API
Vitor Sousa [Fri, 28 Jun 2019 13:40:52 +0000 (10:40 -0300)]
csharp: fix Eina_Stringshare support in containers for manual and generated API

Summary:
Both C strings and eina stringshares are bound as regular strings in EFL#, as
working directly with these types would demand unnecessary hassle from the user
viewpoint.
But for eina containers this distinction is important, and since C# generics
do not provide a convenient way of dealing with the same type requiring a
different management based on some other condition (at least not without
compromising the usability for other types), we added a simple `System.String`
wrapper named `Eina.Stringshare` that works as a placeholder for signaling
this distinction.

Working with this class should be transparent in most use cases because it
converts to and from `System.String` implicitly.
It also implements equality/inequality methods for easier comparison with
strings and other stringshare objects.

Add new methods and a new container element trait for dealing specifically
with `Eina_Stringshare` elements.

Adapt eolian_mono to identify and generate the proper placeholder in methods
that require stringshare containers.

Remove some direct uses of DllImport-ed functions in favor of more flexible
manual binding methods.

Move `Eina.Stringshare` DllImport directives to a static class named
`NativeMethods`, in accordance with the code design warning CA1060.
Also add a TODO comment to move all other DllImport directives to this class.

Change parameter of the method `Efl.Csharp.Application.OnInitialize` from
`Eina.Array<System.String>` to `string[]`.
This will make this API more similar with the default C# way of receiving
command line arguments.

Add tests for containers storing stringshare elements.

Reviewers: felipealmeida, lauromoura, segfaultxavi, bu5hm4n

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agocsharp: make inherited C# classes constructible from native C
Vitor Sousa [Fri, 28 Jun 2019 13:29:01 +0000 (10:29 -0300)]
csharp: make inherited C# classes constructible from native C

Summary:
With this commit it is now possible for a class that inherits from a C# binding
class to be instantiated from native C code. It only has to provide a
constructor that receives an `Efl.Eo.EoWrapper.ConstructingHandle` struct,
and which calls the base binding constructor passing it.
For example:

`private Type(ConstructingHandle ch) : base(ch) {}`.

Add some test files to validate the proper behavior of this feature.

Add some small fixes in generation contexts in order to properly
generate base constructors.

Depends on D9070

Test Plan: `meson test` and `make check`

Reviewers: lauromoura, felipealmeida, segfaultxavi, woohyun, YOhoho

Reviewed By: YOhoho

Subscribers: YOhoho, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui: include here efl_ui_item
Marcel Hollerbach [Fri, 28 Jun 2019 12:47:41 +0000 (08:47 -0400)]
efl_ui: include here efl_ui_item

Summary: this is actually a new class, it should be included here.

Reviewers: zmike, stefan_schmidt

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoview_manager_scroll: fix not to move view position by click
Jaehyun Cho [Fri, 28 Jun 2019 09:15:42 +0000 (18:15 +0900)]
view_manager_scroll: fix not to move view position by click

Summary:
Previously, view position was moved by click because transition
information was initialized in mouse move instead of mouse down.

Now, transition information is initialized in mouse down so view
position is not moved by click.

Test Plan:
1. Run Efl.Ui.Active_View Scroll
2. Click Next button 2 times
3. Click Button Page
Or
3. Drag Button Page a bit to the left and click multiple times

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas_events: fix wrong event listening
Marcel Hollerbach [Thu, 27 Jun 2019 06:13:04 +0000 (08:13 +0200)]
evas_events: fix wrong event listening

EFL_EVENT_FOCUS_IN is wrong here, EFL_EVENT_FOCUS_IN is called on object
that received object focus. Not canvas focus, however, the code in the
callback there seems to be mainly for canvas focus handling.

Additionally, in evas_events, the event handler that was listening for
the canvas focus in / out events expected a event type, which is also
not correct, because the canvas focus in / out does not have one. In
order to catch such errors later more easily, there is now a safety
check, so we really fetched the correct seat.

Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9191

5 years agomeson: remove autotools checking stuffs
Wonki Kim [Fri, 28 Jun 2019 01:45:56 +0000 (01:45 +0000)]
meson: remove autotools checking stuffs

autotools has been removed. so that the autotools checking logic is not needed.
this patch removes them.

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

5 years agoefl-mono: Fix value forwarding in promises/async
Lauro Moura [Thu, 27 Jun 2019 22:04:59 +0000 (19:04 -0300)]
efl-mono: Fix value forwarding in promises/async

Summary:
Values returned from C# Then callbacks must release ownership of the
underlying native value, so Eina code can clean it up nicely and avoid
the Wrapper flushing it early.

The same issue applied to the Async wrappers. In this case the value
passed as the Task parameter could be released by an `using` block
awaiting the value.

Also Future creation was then-ing the wrong handle.

Also add better exception messages.

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agocsharp: Rename test util parameters
Lauro Moura [Thu, 27 Jun 2019 22:26:44 +0000 (19:26 -0300)]
csharp: Rename test util parameters

Summary:
Instead of 'expected' and 'actual', use 'lhs' and 'rhs', as it allows
the actually expected value to be in any position.

Reviewers: vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl, #expertise_solutions

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

5 years agocsharp: Add missing prefix to enable interpolation
Lauro Moura [Thu, 27 Jun 2019 22:21:28 +0000 (19:21 -0300)]
csharp: Add missing prefix to enable interpolation

Reviewers: vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl, #expertise_solutions

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

5 years agoeolian_mono: fix to support event info which is a type defined in eo
Jaehyun Cho [Thu, 27 Jun 2019 17:29:13 +0000 (14:29 -0300)]
eolian_mono: fix to support event info which is a type defined in eo

Summary:
Previously, if event info was not structure and it was a type defined in
eo, then the type value was not passed to the event info correctly.

e.g. if event info was Efl.Ui.AlertPopupButton enum type, then
     default(Efl.Ui.AlertPopupButton) was always passed to event info.

Now, the given type value is passed to the event info correctly.

Reviewers: felipealmeida, lauromoura, vitor.sousa, bu5hm4n

Reviewed By: vitor.sousa

Subscribers: cedric, #reviewers, herb, #committers

Tags: #efl

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

5 years agoeolian_mono: small correction when checking for iterator and accessor parameters
Vitor Sousa [Thu, 27 Jun 2019 17:27:34 +0000 (14:27 -0300)]
eolian_mono: small correction when checking for iterator and accessor parameters

5 years agocsharp: Update after iterator changes
Lauro Moura [Thu, 27 Jun 2019 16:49:42 +0000 (13:49 -0300)]
csharp: Update after iterator changes

Summary:
Iterator and Accessors are views only, not owning the data they point
to.

Also updated the tests by handling some test data that were leaking.

Fixes T8036

Reviewers: vitor.sousa, felipealmeida

Reviewed By: vitor.sousa

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

Tags: #efl

Maniphest Tasks: T8036

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

5 years agomeson: disable xattr on macos
Marcel Hollerbach [Thu, 27 Jun 2019 14:48:37 +0000 (16:48 +0200)]
meson: disable xattr on macos

macos has a different implementation than linux for xattr. This commit
disables XATTR again for macos.

5 years agoefl_input_interface: verify check cancel event
Marcel Hollerbach [Mon, 24 Jun 2019 16:18:09 +0000 (18:18 +0200)]
efl_input_interface: verify check cancel event

this verifies that EFL_EVENT_POINTER_CANCEL is emitted correctly.

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

5 years agoci: travis: update last jobs from Fedora 29 to 30 docker image
Stefan Schmidt [Thu, 20 Jun 2019 06:48:30 +0000 (08:48 +0200)]
ci: travis: update last jobs from Fedora 29 to 30 docker image

With the specsuite tests fixed now we can see that the build also works
with Fedora 30, so we can update the last missing jobs not having it.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9193

5 years agotests/elm: replace bespoke win/loop fast-forwarding with helper function
Mike Blumenkrantz [Wed, 26 Jun 2019 17:01:56 +0000 (13:01 -0400)]
tests/elm: replace bespoke win/loop fast-forwarding with helper function

now we can consistently do event emissions inline in tests using much
simpler code

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9188

5 years agotests/efl_ui: add suite_helpers.h to efl_ui_suite.h
Mike Blumenkrantz [Wed, 26 Jun 2019 17:00:58 +0000 (13:00 -0400)]
tests/efl_ui: add suite_helpers.h to efl_ui_suite.h

no need to manually include this for every file

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9187

5 years agotests/elm: add helper function for simplifying getting to event triggering
Mike Blumenkrantz [Wed, 26 Jun 2019 16:23:32 +0000 (12:23 -0400)]
tests/elm: add helper function for simplifying getting to event triggering

the usual method is calc -> post render -> job to ensure everything is
set up. this simplifies getting to that job.

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9186

5 years agotests: remove correct callback in slider event test
Mike Blumenkrantz [Wed, 26 Jun 2019 16:22:26 +0000 (12:22 -0400)]
tests: remove correct callback in slider event test

typo

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9185

5 years agoevas svg: fix missing node opacity attribute.
Hermet Park [Thu, 27 Jun 2019 04:16:36 +0000 (13:16 +0900)]
evas svg: fix missing node opacity attribute.

Any svg node could have its opacity value, we missed implementing it.

If a node have a opacity, it's opacity could be multiply with fill and stroke colors.

@fix

5 years agoevas svg: remove unnecessary initialization.
Hermet Park [Wed, 26 Jun 2019 12:43:19 +0000 (21:43 +0900)]
evas svg: remove unnecessary initialization.

5 years agodummy_test_object: remove @owned on iterator
Jaehyun Cho [Thu, 27 Jun 2019 01:09:05 +0000 (10:09 +0900)]
dummy_test_object: remove @owned on iterator

@owned on iterator (view-only container) is removed based on
5b00dc344febd4004f268d8d76a05f7579d08288

5 years agoecore-wl2: Add missing doxygen for ecore_wl2_window_resizing_get
Christopher Michael [Wed, 26 Jun 2019 14:00:00 +0000 (10:00 -0400)]
ecore-wl2: Add missing doxygen for ecore_wl2_window_resizing_get
function

ref T8014

5 years agoecore-wl2: Add missing @since for ecore_wl2_offer_mimes_get function
Christopher Michael [Wed, 26 Jun 2019 13:53:13 +0000 (09:53 -0400)]
ecore-wl2: Add missing @since for ecore_wl2_offer_mimes_get function

ref T8014

5 years agoefl_ui_suite: remove duplicated code
Marcel Hollerbach [Wed, 26 Jun 2019 13:54:45 +0000 (09:54 -0400)]
efl_ui_suite: remove duplicated code

Summary:
there is a helper for this function, lets use it.
Depends on D9181

Reviewers: stefan_schmidt, segfaultxavi, zmike, Jaehyun_Cho

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_input_interface: add tests for mouse wheel emitting
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:16 +0000 (08:51 -0400)]
efl_input_interface: add tests for mouse wheel emitting

Summary:
this tests if z and direction is correctly emitted
Depends on D9169

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_input_interface: test pointer in and out events on a object
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:11 +0000 (08:51 -0400)]
efl_input_interface: test pointer in and out events on a object

Summary:
this verifies that EFL_EVENT_POINTER_IN EFL_EVENT_POINTER_OUT are
emitted correctly with the correct event content.
Depends on D9168

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_input_interface: test pointer move down up
Marcel Hollerbach [Wed, 26 Jun 2019 12:51:06 +0000 (08:51 -0400)]
efl_input_interface: test pointer move down up

Summary:
this verifies that EFL_EVENT_POINTER_MOVE / EFL_EVENT_POINTER_DOWN /
EFL_EVENT_POINTER_UP are emitted and passed with the correct event types,
and fields on the event object.
Depends on D9167

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas_events: fix setting of 'pressed' member in Efl_Input_Key_Data
Marcel Hollerbach [Wed, 26 Jun 2019 12:50:59 +0000 (08:50 -0400)]
evas_events: fix setting of 'pressed' member in Efl_Input_Key_Data

Summary:
this also adds tests verifying that EFL_EVENT_KEY_DOWN / EFL_EVENT_KEY_UP are emitted
and passed with the correct event types, and fields on the event object.

Depends on D9166

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_input_interface: add test to verify focus in/out
Marcel Hollerbach [Wed, 26 Jun 2019 12:50:53 +0000 (08:50 -0400)]
efl_input_interface: add test to verify focus in/out

Summary:
this verifies that EFL_EVENT_FOCUS_IN / EFL_EVENT_FOCUS_OUT are emitted
and passed with the correct event types, and fields on the event object.

Reviewers: zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoeolian: allow value types in view containers (iterators etc.)
Daniel Kolesa [Wed, 26 Jun 2019 11:54:12 +0000 (13:54 +0200)]
eolian: allow value types in view containers (iterators etc.)

This restricts disallowing value types to containers that can own
them.

It also disallows usage of @owned on those view-only containers,
as that makes no sense.

5 years agoefl_canvas_vg_container: remove unnecessary parent set.
Hermet Park [Wed, 26 Jun 2019 11:48:19 +0000 (20:48 +0900)]
efl_canvas_vg_container: remove unnecessary parent set.

the duplicated object must be set its parent by caller,
it shouldn't set it by itself internally.

5 years agoevas vector: set proper parents of clone objects.
Hermet Park [Wed, 26 Jun 2019 08:14:27 +0000 (17:14 +0900)]
evas vector: set proper parents of clone objects.

fill, marker, stroke need proper parent when they were cloned.

Here, they would get the container of the shape which is going to be copied.

@fix

5 years agoeina: support tizen dlog logging system 09/209109/2
Hosang Kim [Tue, 2 Jul 2019 08:10:46 +0000 (17:10 +0900)]
eina: support tizen dlog logging system

@tizen

Change-Id: Ibc844f7746e70d81a111ef9aa1caf15242623eaf

5 years agospec: remove automake related stuffs from spec 11/209111/2
Wonki Kim [Tue, 2 Jul 2019 07:38:18 +0000 (16:38 +0900)]
spec: remove automake related stuffs from spec

there are remaining stuffs related with autotools in .spec file.
this patch removes them.

Change-Id: I59cfce7a8a532349d7e742162cb23cb24cd35cb6

5 years agoevas vg: prevent dangling pointer. 15/209115/1
Hermet Park [Tue, 2 Jul 2019 08:58:19 +0000 (17:58 +0900)]
evas vg: prevent dangling pointer.

@fix

Change-Id: I722d6827d5a0910437eaaa2de8692da994c52718

5 years agoevas vg: prevent dangling pointer. 13/209113/1
Hermet Park [Tue, 2 Jul 2019 08:48:25 +0000 (17:48 +0900)]
evas vg: prevent dangling pointer.

@fix

Change-Id: Ic58076dcca67b03d5cdad6714e1c7cbbc407f421

5 years agomeson: add libdir for supporting QuickBuild 96/208996/3
Jongmin Lee [Tue, 2 Jul 2019 01:16:18 +0000 (10:16 +0900)]
meson: add libdir for supporting QuickBuild

Change-Id: Iaa087e5d436bd849becadd64dbe46db686b43f7f

5 years agoevas_render: add restacked mapped obj to redraws rect 46/209046/2
Shinwoo Kim [Tue, 2 Jul 2019 02:44:08 +0000 (11:44 +0900)]
evas_render: add restacked mapped obj to redraws rect

Summary:
We are adding A object area to the redraws rect when object stack is changed
from (1) to (2) if A object is not mapped.

(1)
 ┌────────┐
 │Object A│┐
 └────────┘│
  └────────┘

(2)
 ┌────────┐
 │┌────────┐
 └│Object B│
  └────────┘

But if A object is mapped, then we are adding only part of A object area.

(part of A)
 ┌────────┐
 │┌───────┘
 └┘

So the result of stack change is (1) not (2).
This patch set is adding restacked mapped object to the restack_objects array,
after changing the stack of mapped object to add correct redraws rect.

Test Plan: Attached example code

Reviewers: Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I571461a9dbf4dd67dd95d68ce47bf7ebef435a7a

5 years agovg_common_json: Always set the alpha color of the container. 51/209051/1
JunsuChoi [Tue, 2 Jul 2019 04:22:10 +0000 (13:22 +0900)]
vg_common_json: Always set the alpha color of the container.

Summary: Fixes the problem that alpha color is not set when alpha will be 255.

Test Plan: N/A

Reviewers: hermet, smohanty, kimcinoo

Change-Id: I46990e4d45a315d58946938b45f710d88da30ccb
Subscribers:

5 years agoevas_events: fix wrong event listening accepted/tizen/unified/20190701.111803 submit/tizen/20190628.043345
Marcel Hollerbach [Fri, 28 Jun 2019 02:24:47 +0000 (11:24 +0900)]
evas_events: fix wrong event listening

Summary:
EFL_EVENT_FOCUS_IN is wrong here, EFL_EVENT_FOCUS_IN is called on object
that received object focus. Not canvas focus, however, the code in the
callback there seems to be mainly for canvas focus handling.

Additionally, in evas_events, the event handler that was listening for
the canvas focus in / out events expected a event type, which is also
not correct, because the canvas focus in / out does not have one. In
order to catch such errors later more easily, there is now a safety
check, so we really fetched the correct seat.

Reviewers: YOhoho, zmike, segfaultxavi

Reviewed By: YOhoho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agomeson: disable xattr on macos 35/208735/1
Marcel Hollerbach [Thu, 27 Jun 2019 14:48:37 +0000 (16:48 +0200)]
meson: disable xattr on macos

macos has a different implementation than linux for xattr. This commit
disables XATTR again for macos.

Change-Id: I9fcd984a131ee1af583ee641d61e50d810c96929

5 years agomeson: add some config definitions 34/208734/1
Jongmin Lee [Thu, 27 Jun 2019 08:26:55 +0000 (08:26 +0000)]
meson: add some config definitions

Some config definitions used in source code could not be defined during build config process.
  - HAVE_XATTR
  - HAVE_CIPHER
  - HAVE_SIGNATURE
  - BUILD_ECORE_EVAS_EWS

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9192

Change-Id: Ic604bd48c3a9b245177c04b23d30934e87b62eaf

5 years agoevas svg: fix missing node opacity attribute. 48/208648/1
Hermet Park [Thu, 27 Jun 2019 04:16:36 +0000 (13:16 +0900)]
evas svg: fix missing node opacity attribute.

Any svg node could have its opacity value, we missed implementing it.

If a node have a opacity, it's opacity could be multiply with fill and stroke colors.

@fix

Change-Id: Iac1caed073c5bf012fc7789e6d3e77e56c59550a

5 years agoefl_canvas_vg_container: remove unnecessary parent set. 16/208616/2
Hermet Park [Wed, 26 Jun 2019 11:48:19 +0000 (20:48 +0900)]
efl_canvas_vg_container: remove unnecessary parent set.

the duplicated object must be set its parent by caller,
it shouldn't set it by itself internally.

Change-Id: I62feff07e16c7db0d35463b42d36d0f5f7af6604

5 years agoevas vector: set proper parents of clone objects. 92/208592/2
Hermet Park [Wed, 26 Jun 2019 08:14:27 +0000 (17:14 +0900)]
evas vector: set proper parents of clone objects.

fill, marker, stroke need proper parent when they were cloned.

Here, they would get the container of the shape which is going to be copied.

@fix

Change-Id: I0fe4eb7b227d7f72826378e8c7ea1a96f3b4f14f

5 years agomeson: enable json(lottie) loader in default. 12/208612/2
Hermet Park [Wed, 26 Jun 2019 10:59:11 +0000 (19:59 +0900)]
meson: enable json(lottie) loader in default.

Upstream efl diasbles lottie feature in default,
however Tizen requires it as a main.

Change-Id: I82d1195474df9057031277389b8a15b7ba791b35

5 years agoeo: add an API entry for custom instantiation of Eo objects for binding usage accepted/tizen/unified/20190626.114532 accepted/tizen/unified/20190627.040531 submit/tizen/20190626.023112 submit/tizen/20190627.040219
Vitor Sousa [Tue, 4 Jun 2019 22:39:51 +0000 (22:39 +0000)]
eo: add an API entry for custom instantiation of Eo objects for binding usage

Add a new function in the Eo API in order to provide more options on object
instantiation for binding creators.

For the Eo lib to be able to construct objects that inherit from bindings in
many languages we should provide a way for bindings to call different kinds of
constructors, in a way that simply overriding the `efl_constructor` method is
not enough.
We need a way to differentiate at construction time if the Eo is being
constructed from C or from the binding, because if it is the
former we need too call the inherited object constructor from C and instantiate
a new object, and if it is the later we need to avoid instantiating a
new object because we are already in the middle of the process of creating
a new one.
`efl_constructor` alone does not provide any way of distinguishing between
those situations, so, being able to pass additional information for
efl_add_start (like a custom constructor pointer) is necessary to make the
right distinction.

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

5 years agoevas_common_format_color_parse: support color names
ali [Tue, 25 Jun 2019 17:20:02 +0000 (19:20 +0200)]
evas_common_format_color_parse: support color names

Summary:
efl user can now specify colors by there names ( not only Hex RGB/RGBA values), which is very convenient specially for first time users (where user may think it is supported by default)

<color=#FF0000> == <color=red> == <color==RED>

there are two main types of color names and values ( X11, web colors), here we are using X11 color.

============
Update for documentation pages should be added like:
https://www.enlightenment.org/_legacy_embed/evas_textblock_style_page.html#evas_textblock_style_color

I do not know how to update it :(

Test Plan:
```
#define EFL_EO_API_SUPPORT 1
#define EFL_BETA_API_SUPPORT 1

#include <Eina.h>
#include <Elementary.h>
#include <Efl_Ui.h>

static void
_gui_quit_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
{
   efl_exit(0);
}

static void
_gui_setup()
{
   Eo *win, *box;

   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
                 efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
                 efl_text_set(efl_added, "Hello World"),
                 efl_ui_win_autodel_set(efl_added, EINA_TRUE));

   // when the user clicks "close" on a window there is a request to delete
   efl_event_callback_add(win, EFL_UI_WIN_EVENT_DELETE_REQUEST, _gui_quit_cb, NULL);

   box = efl_add(EFL_UI_BOX_CLASS, win,
                efl_content_set(win, efl_added),
                efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(360, 240)));

   efl_add(EFL_UI_TEXT_CLASS, box,
           efl_text_markup_set(efl_added,
           "<color=red>this is red color line(color = red)<color><br>"
           "<color=#0000FF>this is blue color line (color = #0000FF)<color><br>"
           "<color=gray>this is gray color line (color = gray)<color><br>"),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.9),
           efl_gfx_hint_align_set(efl_added, 0.5, 0.5),
           efl_text_multiline_set(efl_added,EINA_TRUE),
           efl_pack(box, efl_added));

   efl_add(EFL_UI_BUTTON_CLASS, box,
           efl_text_set(efl_added, "Quit"),
           efl_gfx_hint_weight_set(efl_added, 1.0, 0.1),
           efl_pack(box, efl_added),
           efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
                                  _gui_quit_cb, efl_added));
}

EAPI_MAIN void
efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
{
   _gui_setup();
}
EFL_MAIN()

```

Reviewers: woohyun, bowonryu, segfaultxavi, vtorri

Reviewed By: segfaultxavi, vtorri

Subscribers: vtorri, cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests: fix unforked efl_ui_radio_group completion
Mike Blumenkrantz [Tue, 25 Jun 2019 17:00:53 +0000 (13:00 -0400)]
tests: fix unforked efl_ui_radio_group completion

Summary: change fixture to zero all global variables and reset state

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: travis: add coverity build job to be run from cron
Stefan Schmidt [Tue, 25 Jun 2019 16:11:33 +0000 (12:11 -0400)]
ci: travis: add coverity build job to be run from cron

Summary:
We finally have regular Coverity Scan runs back to our CI.
It gets triggered from the cron jobs on Travis. As we are not able to
identify if it comes from a daily or weekly cron build I added a check
to only run the scan build on a Saturday so we should have a nice and
fresh report on Monday morning in our mailboxes.

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agomeson: fix building of svg / eet / json loader if its disabled
Marcel Hollerbach [Tue, 25 Jun 2019 14:51:31 +0000 (16:51 +0200)]
meson: fix building of svg / eet / json loader if its disabled

the problem was that the savers are defining the same defines as the
loaders. Because of me beeing paranoid, i would like to keep the double
define, as later on, someone will likely forget it, and it does not do
any harm here.

this fixes ci.

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

5 years agoci: travis: remove left over from autotools build
Stefan Schmidt [Tue, 25 Jun 2019 13:08:16 +0000 (09:08 -0400)]
ci: travis: remove left over from autotools build

Summary:
This caching is no longer needed. No m4 cache around with meson.
Our config.cache setup by our autotools build is no longer there either.

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas_common: use memcpy to copy pixel buffer
ali [Tue, 25 Jun 2019 12:48:40 +0000 (21:48 +0900)]
evas_common: use memcpy to copy pixel buffer

Summary: This function has no special processing when copy data, so using memcpy can enhance performance

Test Plan:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

typedef unsigned int       DATA32;

static void
oldFunc(DATA32 *src, DATA32 *dst, size_t len)
{
   DATA32 *dst_end = dst + len;
   while (dst < dst_end)
      *dst++ = *src++;
}

static void
newFunc(DATA32 *src, DATA32 *dst, size_t len)
{
   memcpy(dst, src, len * sizeof(DATA32));
}

int main()
{

   int counter = 1000;
   srand(time(NULL));
   DATA32 src[50000] = {0};
   DATA32 dst[50000] = {0};

   for (int i = 0; i < 50000; i++)
      src[i] = rand();

   clock_t start, end;
   double total_Time1 = 0;
   int i;

   start = clock();
   for (i = 0; i < counter; i++)
      oldFunc(src, dst, 50000);
   end = clock();
   total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("original = %f \n", total_Time1);

   start = clock();
   for (i = 0; i < counter; i++)
      newFunc(src, dst, 50000);
   end = clock();
   total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
   printf("modified = %f \n", total_Time1);
}
```

Reviewers: raster, ManMower, woohyun, Hermet

Reviewed By: Hermet

Subscribers: Hermet, vtorri, cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl-mono: Add object type support for Eina.Value
Felipe Magno de Almeida [Tue, 25 Jun 2019 10:11:23 +0000 (19:11 +0900)]
efl-mono: Add object type support for Eina.Value

Summary:
C# `Eina.Value` now has builtin support for `EINA_VALUE_TYPE_OBJECT`.

To avoid ambiguity with the `Set` method overloads, explicit casting
operators were used for wrapping/unwrapping `Efl.Object` instead of
implicit ones like for other value types.

Thus, to initialize an `Eina.Value` from an object, you can use the
following:

`var v = (Eina.Value)myObj;`

Reviewers: felipealmeida, vitor.sousa, segfaultxavi, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agotests/slider: verify emission of changed and delay,changed events
Mike Blumenkrantz [Fri, 21 Jun 2019 18:07:44 +0000 (14:07 -0400)]
tests/slider: verify emission of changed and delay,changed events

this simulates clicking and dragging a slider to avoid regressions with
these events

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

5 years agoefl_ui_slider: remove setting pass_events on internal spacer in constructor
Mike Blumenkrantz [Fri, 21 Jun 2019 18:04:09 +0000 (14:04 -0400)]
efl_ui_slider: remove setting pass_events on internal spacer in constructor

this object is swallowed into a layout, which means the layout will be managing
this property

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

5 years agoeolian: add library support for declaring and using errors
Daniel Kolesa [Fri, 21 Jun 2019 13:05:50 +0000 (15:05 +0200)]
eolian: add library support for declaring and using errors

You can now declare errors like this:

error Foo = "message"; [[documentation]]

Then you can use them as types like this:

foo {
    return: error(Error1, Error2, ...);
}

They have a separate type category and storage. They are checked
for redefinitions the same as anything else though. This does
not add any generator support nor it adds any advanced checking.

Ref T6890

5 years agoci: travis: osx: switch to newer macos image and brew addon for packages
Stefan Schmidt [Mon, 24 Jun 2019 13:10:56 +0000 (09:10 -0400)]
ci: travis: osx: switch to newer macos image and brew addon for packages

Summary:
One of the time consuming parts of the macos build we have is the
installing of the efl dependencies as packages from brew.
The brew update command alone is often taking 5m to run.

To avoid running brew update at all we are switching to a newer osx
image from Travis, which comes with a newer set of brew metadata and
gets us around a brew update for now. Together with this we are also
switching from our own dependency install script to the brew package
addon provided by travis already.

In my testing this shows we are only spending 270s in the brew package
updates comapred to 635s before. So we have a 6 minutes speedup for
every osx build!
Depends on D9161

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: enforce ccache for macos meson run
Stefan Schmidt [Mon, 24 Jun 2019 13:09:34 +0000 (09:09 -0400)]
ci: enforce ccache for macos meson run

Summary:
While we set CC="ccache gcc" as an env var in Travis it gets overridden
at some point before meson is run. This results in a situation where we
have ccache enabled for g++, but not for gcc. Enforcing the setting
directly before meson again to make sure it gets picked up correctly.

I have seen build time improvements on Travis with up to 7 minutes
with this in an optimal case (rebuild existing job). It should shave off
at least a few minutes from every build even with bigger changes.
Depends on D9160

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoremove last bits of Evil.h in tests and use evil_private.h instead
Vincent Torri [Mon, 24 Jun 2019 13:01:25 +0000 (09:01 -0400)]
remove last bits of Evil.h in tests and use evil_private.h instead

Test Plan: compilation

Reviewers: zmike, raster, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_textpath: fix a center align but that doesn't happen at text_set().
Hermet Park [Mon, 24 Jun 2019 12:29:14 +0000 (21:29 +0900)]
efl_ui_textpath: fix a center align but that doesn't happen at text_set().

When textpath obj has a new text data, it must update center align position
based on the new text length. Previously, it missed that logic.

@fix

Change-Id: Ie30754bc11847f2c3c4a97d10a9209486fb9f6b1

5 years agoeolian_mono: support eo access modifiers
Yeongjong Lee [Mon, 24 Jun 2019 10:19:00 +0000 (19:19 +0900)]
eolian_mono: support eo access modifiers

Summary:
Because in C# interface members can't include access modifiers, eolian_mono
ignore function scope tags in eo interfaces.

ref T7494

Reviewers: q66, felipealmeida, lauromoura, segfaultxavi, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7494

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

5 years agoeolian_mono: fix to call mixin's method in inherited class
Jaehyun Cho [Mon, 24 Jun 2019 09:43:07 +0000 (18:43 +0900)]
eolian_mono: fix to call mixin's method in inherited class

Summary:
Eo mixin is converted to C# interface and C# concrete class.
When the mixin's method is called, the delegate function of Eo mixin's
C# concrete class is called.

Now, the delegate function of Eo mixin's C# concrete class calls C#
method with casting to Eo mixin's C# concrete class type.
e.g. ((IClickableConcrete)ws.Target).Press(button);

If a user defined C# class implements Eo mixin's C# interface, the
implemented method cannot be called because the user defined C# class
type is not the same as Eo mixin's C# concrete class.

To resolve the above issue, the type casting code is fixed.

Reviewers: felipealmeida, lauromoura, vitor.sousa, YOhoho

Reviewed By: YOhoho

Subscribers: bu5hm4n, YOhoho, cedric, #reviewers, #committers

Tags: #efl

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

5 years agomeson: do not error when no optimization architecture is there
Marcel Hollerbach [Fri, 21 Jun 2019 14:45:40 +0000 (16:45 +0200)]
meson: do not error when no optimization architecture is there

this should fix building on architectures that do not have native
optimization support in efl.

fix T8028

Reviewed-by: Dan Horák <@sharkcz>
Differential Revision: https://phab.enlightenment.org/D9150

5 years agoefl_ui_win: fix emitting of object focus events
Marcel Hollerbach [Fri, 21 Jun 2019 13:40:17 +0000 (09:40 -0400)]
efl_ui_win: fix emitting of object focus events

Summary: the event type was wrong. This is now fixed and works correctly.

Reviewers: stefan_schmidt, zmike, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: make sure we disable the new json evas loader in our jobs
Stefan Schmidt [Fri, 21 Jun 2019 09:51:52 +0000 (11:51 +0200)]
ci: make sure we disable the new json evas loader in our jobs

This have been just added and we need to update our disabled list for
some specific jobs where we mess with the disabled loaders manually.

5 years agovg_common_json: Set container's alpha color
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: I3553e09ad493a466b61f5df16a256af439add361

5 years agocanvas vg: optmize lottie vector tree.
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: I41506a716a152886e28a97773face5b52be63e45

5 years agoevas vector: add a lottie animation example.
Hermet Park [Fri, 21 Jun 2019 08:36:16 +0000 (17:36 +0900)]
evas vector: add a lottie animation example.

Summary: Depends on {D8941}

Reviewers: #committers, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

Change-Id: I1babccfdf2d3e45e5f5fbc1fbe479afe71c19b64

5 years agoevas vector: support lottie animation as using json loader.
Hermet Park [Fri, 21 Jun 2019 08:32:37 +0000 (17:32 +0900)]
evas vector: support lottie animation as using json loader.

Summary:
This patch extends efl_canvas_vg_object class to implement efl_gfx_frame_controller
to suppor any playable animation on it.

Plus, vector object takes care of lottie animation by using json loader.
it's caching mechanism is changed to cache only static frame, not all frames.

vg_cache supports json loader and make it animation request properly.

This feature has been stabilized enough, it's using in Samsung Galaxy Watch active product,
proved its stability enough.

Depends on {D8940}

Co-authored-by: JunsuChoi <jsuya.choi@samsung.com>
Reviewers: #committers, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoevas vector: support json loader for rlottie integration.
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

5 years agofix segv when adding optimizations to edje message handling
Carsten Haitzler (Rasterman) [Fri, 21 Jun 2019 08:29:52 +0000 (09:29 +0100)]
fix segv when adding optimizations to edje message handling

613e1715be1114c2221f1a12f067e3d1e215265f (and friends) added a bit a
biug where messages in the queue were not skipped as they were before
causing a segv witha null lookup. this fixes that. eclipse about
dialog showed this bug up. no longer happens now.

5 years agoremove more files
Marcel Hollerbach [Thu, 20 Jun 2019 17:05:31 +0000 (13:05 -0400)]
remove more files

Summary: those files are leftover from autotools. They have been missed before

Reviewers: stefan_schmidt, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoefl_ui_radio: fixup wrong reference
Marcel Hollerbach [Thu, 20 Jun 2019 15:37:04 +0000 (17:37 +0200)]
efl_ui_radio: fixup wrong reference

group_create is not anymore. This is now repaired.

5 years agobuild: remove no longer needed eolian-bootstrap target
Stefan Schmidt [Tue, 4 Jun 2019 19:11:20 +0000 (21:11 +0200)]
build: remove no longer needed eolian-bootstrap target

This basically reverts ac606105. It was added to help the windows cross
builds on our CI. It served a purpose but with the requirements on
native eet, edje_cc and up to elm_prefs_cc we end up with a full native
build of EFL in most cases anyway.

A full meson build of EFL with examples, bindings and tests disabled is
actually quite fast and makes sure we have the latest needed on the CI
for the cross build. I switched over to this a week ago, so we can get
rid of this extra target to maintain.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
5 years agoefl_input_device: split up has_pointer_cap
Marcel Hollerbach [Thu, 20 Jun 2019 13:17:32 +0000 (15:17 +0200)]
efl_input_device: split up has_pointer_cap

it was somehow confusing that this function was used for two different
things. Now we have 2 functions for checking is it is of pointer_type or
how many pointer devices are in a seat.

ref T7963

Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9142

5 years agoefl_input_key: compose -> compose_string
Marcel Hollerbach [Thu, 20 Jun 2019 12:51:55 +0000 (14:51 +0200)]
efl_input_key: compose -> compose_string

rename this property, as this name was considered better.

ref T7964

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

5 years agoefl_ui_win: repair scene event emission
Marcel Hollerbach [Thu, 20 Jun 2019 11:33:03 +0000 (13:33 +0200)]
efl_ui_win: repair scene event emission

It appears that EVAS_CALLBACK_FOCUS_IN / OUT is wrong here, as this is
for when a object gets focus but not the scene.

However, the inital event emission still does not work correctly, this
needs some further investigation.

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

5 years agoevas: emit the corrent event here,
Marcel Hollerbach [Thu, 20 Jun 2019 10:54:02 +0000 (12:54 +0200)]
evas: emit the corrent event here,

it seems we have done here something wrong, EFL_EVENT_FOCUS_IN is meant
to be emitted on objects that RECEIVE focus. This function here however
is called each time the window gets focus, which then might lead to a
object getting focus. However, those are two different things.

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

5 years agoefl_canvas_scene: we never provided a object as event type here
Marcel Hollerbach [Thu, 20 Jun 2019 10:38:34 +0000 (12:38 +0200)]
efl_canvas_scene: we never provided a object as event type here

And further more, this object here would have been wrong(as it is
transporting the focused object), so we should not write here any type.

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

5 years agoefl_input_pointer: rename tool to touch_id
Marcel Hollerbach [Thu, 20 Jun 2019 10:13:37 +0000 (12:13 +0200)]
efl_input_pointer: rename tool to touch_id

tool was not very helpfull, and additionally, the docuemtnation of it
was completly wrong. After searching through the code where tool was
actaully set (efl_ui_win.c) it turned out that it is actaully the "id"
of the pointer when there are multiple touch events.

ref T7963

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

5 years agoEfl.Ui.Radio: Update docs
Xavi Artigas [Fri, 31 May 2019 11:18:24 +0000 (11:18 +0000)]
Efl.Ui.Radio: Update docs

Ref T7867

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

5 years agoefl_ui_radio: cleanup API
Marcel Hollerbach [Wed, 29 May 2019 18:06:25 +0000 (20:06 +0200)]
efl_ui_radio: cleanup API

This is a bit of a giant commit. However, the problem here is that
cleaning up the API went hand in hand with rewriting most of the usages.
In the process of renewing and removing old API the following was done:
- Legacy API testcases have been ported back to smart callbacks
- EO-API testcases have been ported to efl_add syntax
- weird event #defines have been removed
- Wrong constructor usage has been removed
- Ported to the new box object introduced before
- removed legacy API from efl_ui_radio
  -> no more ptr(int) q66 will do jumps of happiness
  -> no more ununderstandable group_add methods
  -> Seperated code in blocks only for legacy, and blocks only for
non-legacy

To verify this commit, you can check all the tests that have been
touched here. Additionally, the cxx example has been adjusted

ref T7867

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

5 years agoefl_ui_radio: refactor for usage of efl_ui_check_selected
Marcel Hollerbach [Thu, 30 May 2019 20:15:19 +0000 (22:15 +0200)]
efl_ui_radio: refactor for usage of efl_ui_check_selected

in previous versions of this widget, the calls that are available due to
inheritance did not work. efl_ui_check_selected_set did not work on a
radio button. However, the internal function _state_set did just exactly
that. So this commit refactors the activity emitting out of the
function, so the _state_set function can just be used as the
efl_ui_check_selected set function.

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

5 years agoIntroduce Efl.Ui.Radio_Group & Efl.Ui.Radio_Box
Marcel Hollerbach [Wed, 29 May 2019 11:03:37 +0000 (13:03 +0200)]
Introduce Efl.Ui.Radio_Group & Efl.Ui.Radio_Box

Radio_Group is a interface that manages that radio groups can be grouped inside a
external object, the current API of radio was considered confusing in
that regard. It is implemented in the Radio_Group_Internal class which
is private to EFL, a instance of it can be found with get due to the
class function in efl_ui_radio.eo. This architecture was taken like
this, in order to have implementation and interface seperated. With
those two seperated we can inherit from regular widgets, implement the
interface, and composite attach the internal object to the regular
widget. This makes a lot of things easier.

Radio_Box is a class which is extending Efl.Ui.Box, which has an
internal Radio_Group. This is extremly usefull for cases where you just
want to have a list of radio buttons in your UI. The radio group is also
exposed using composition to the internal object. Simular things can be
done for the table.

For now i did not add API to find the group of a radio button. However,
this can be quickly added if requested.

ref T7867

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

5 years agoecore: do not rely on implicit rules for memory lifecycle during test.
Cedric BAIL [Thu, 20 Jun 2019 13:38:11 +0000 (09:38 -0400)]
ecore: do not rely on implicit rules for memory lifecycle during test.

Summary:
alloca force the memory to be accessible for the entire duration of the
scope of the function it is called from. This will garantee that the
memory pointer are not recycled under our feet before we check them.

T8020

Reviewers: zmike

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8020

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

5 years agofix build.
Marcel Hollerbach [Thu, 20 Jun 2019 12:20:15 +0000 (14:20 +0200)]
fix build.

5 years agoevas_textblock: more descriptive parameter names
Ali Alzyod [Thu, 20 Jun 2019 12:05:01 +0000 (14:05 +0200)]
evas_textblock: more descriptive parameter names

Summary:
Use more descriptive parameter names.

l, r, t, b    it my confused with rgb  value or something similar.

Reviewers: segfaultxavi, woohyun, bowonryu

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

5 years agoci: use ccache also in the mingw cross build
Stefan Schmidt [Thu, 20 Jun 2019 08:11:10 +0000 (10:11 +0200)]
ci: use ccache also in the mingw cross build

This is one of these two line changing commits one just have to love.
Using ccache also for the mingw builds got a amazing speedof for the
cross build as well.

In my, simple, testing I could reduce the build time on Travis from 18m
to 6m when rebuilding the same rev, thus a 100% cache hit rate. In real
life this would be less of an improvement but reducing the build time in
half is kind of realistic I think. Thanks to Marcel to bringing the idea
up.

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

5 years agotests: fix warnings and undef ref on Windows (using meson :-) )
Vincent Torri [Thu, 20 Jun 2019 11:50:35 +0000 (12:50 +0100)]
tests: fix warnings and undef ref on Windows (using meson :-) )

Summary: we need to include evil_private.h so that some symbols are declared

Test Plan: compilation

Reviewers: raster, zmike, cedric

Subscribers: #reviewers, #committers

Tags: #efl

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

5 years agoevas - events - protect on object deletion while calling callbacks
Carsten Haitzler (Rasterman) [Thu, 20 Jun 2019 11:08:14 +0000 (12:08 +0100)]
evas - events - protect on object deletion while calling callbacks

mouse in/out feeds can call callabcks that can then go delete objects
- ref them all to ensure they stay alive while we use them. this will
fix a segv apbbb saw.

5 years agoefl_wfl: fix warning and err prints for wl keymap tmp file
Carsten Haitzler (Rasterman) [Thu, 20 Jun 2019 10:32:12 +0000 (11:32 +0100)]
efl_wfl: fix warning and err prints for wl keymap tmp file

5 years agoecore - efl thread - handle write call mishaps and complain
Carsten Haitzler (Rasterman) [Thu, 20 Jun 2019 10:24:57 +0000 (11:24 +0100)]
ecore - efl thread - handle write call mishaps and complain

fixes warnings too.

5 years agomeson - docs - convert - we aren't using it so don't require it
Carsten Haitzler (Rasterman) [Thu, 20 Jun 2019 10:06:37 +0000 (11:06 +0100)]
meson - docs - convert - we aren't using it so don't require it

comment it out and move it closer to the block that needs it to make
it obvious ... we don't need it.

i'm all-in-all not that into the eps conversion thing for docs there
too... :(