platform/upstream/efl.git
4 years agoeolian: fix all remaining since errors
Marcel Hollerbach [Wed, 5 Feb 2020 15:22:59 +0000 (16:22 +0100)]
eolian: fix all remaining since errors

eolian checked for since tags that are invalid by its own rules. This is
now fixed.

4 years agobindings: fix missing @since tags & docs
Marcel Hollerbach [Tue, 4 Feb 2020 15:15:59 +0000 (12:15 -0300)]
bindings: fix missing @since tags & docs

summary_: Depends on D11264

Reviewers: zmike, segfaultxavi, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl/gesture: remove unused manager function
Mike Blumenkrantz [Wed, 29 Jan 2020 19:08:32 +0000 (14:08 -0500)]
efl/gesture: remove unused manager function

no functional changes

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

4 years agoevas/object: remove weird gesture manager method
Mike Blumenkrantz [Wed, 29 Jan 2020 19:07:16 +0000 (14:07 -0500)]
evas/object: remove weird gesture manager method

these two objects have zero relation, and I don't know why this ever
existed

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

4 years agoefl/gesture: free object gesture list in destructor
Mike Blumenkrantz [Wed, 29 Jan 2020 18:32:53 +0000 (13:32 -0500)]
efl/gesture: free object gesture list in destructor

leak--

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

4 years agoefl/gesture: use array instead of list for garbage gesture objects
Mike Blumenkrantz [Wed, 29 Jan 2020 18:19:14 +0000 (13:19 -0500)]
efl/gesture: use array instead of list for garbage gesture objects

this is always a full iteration so we don't actually need a list

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

4 years agoefl/gesture: fix gesture object cleanup when unregistering a recognizer
Mike Blumenkrantz [Wed, 29 Jan 2020 18:09:36 +0000 (13:09 -0500)]
efl/gesture: fix gesture object cleanup when unregistering a recognizer

these objects need to be cleaned up immediately outside of event
processing to avoid having them automatically deleted later on and
triggering a double delete

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

4 years agotests/gesture: add second custom recognizer test
Mike Blumenkrantz [Wed, 29 Jan 2020 16:50:57 +0000 (11:50 -0500)]
tests/gesture: add second custom recognizer test

ensure that this functionality works

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

4 years agotests/elm: add explicit printf for event cb assert failure
Mike Blumenkrantz [Wed, 29 Jan 2020 16:07:23 +0000 (11:07 -0500)]
tests/elm: add explicit printf for event cb assert failure

efl explodes when this assert fails and presents bizarre errors which
obscure the actual test failure, so add a more explicit message as a
reminder to check this instead of trying to dive into insanity

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

4 years agotests/gesture: add custom recognizer test
Mike Blumenkrantz [Tue, 28 Jan 2020 19:23:27 +0000 (14:23 -0500)]
tests/gesture: add custom recognizer test

adds a very small implementation of a custom recognizer, registers it,
verifies events are processing as they should, then removes it

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

4 years agoefl/gesture: implement custom gesture recognizer framework
Mike Blumenkrantz [Tue, 28 Jan 2020 18:52:23 +0000 (13:52 -0500)]
efl/gesture: implement custom gesture recognizer framework

this adds support for creating custom (out of tree) gesture recognizers by
adding an abstract recognizer class that can be inherited and reused

docs TBA

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11223

4 years agoefl/gesture: break out gesture processing code into separate function
Mike Blumenkrantz [Tue, 28 Jan 2020 18:33:11 +0000 (13:33 -0500)]
efl/gesture: break out gesture processing code into separate function

this will get reused shortly

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11222

4 years agoefl/gesture: remove manager's recognizer_get method
Mike Blumenkrantz [Tue, 28 Jan 2020 17:56:41 +0000 (12:56 -0500)]
efl/gesture: remove manager's recognizer_get method

this exposes internal objects that we shouldn't be exposing

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11221

4 years agotests/gesture: change random momentum cb to be useful momentum cb
Mike Blumenkrantz [Tue, 28 Jan 2020 14:45:42 +0000 (09:45 -0500)]
tests/gesture: change random momentum cb to be useful momentum cb

verify that we get 1 event here and also that callback removal works

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

4 years agotests/gesture: add a 10-touch tap test
Mike Blumenkrantz [Mon, 27 Jan 2020 18:40:52 +0000 (13:40 -0500)]
tests/gesture: add a 10-touch tap test

this tests the robustness of existing gesture recognizers

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

4 years agoefl/gesture: conditionally ignore multi-touch unpress events in zoom recognizer
Mike Blumenkrantz [Mon, 27 Jan 2020 18:40:02 +0000 (13:40 -0500)]
efl/gesture: conditionally ignore multi-touch unpress events in zoom recognizer

if we have not begun to process a zoom gesture by this point, then we should
not be emitting a cancel result

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11208

4 years agoefl/gesture: ignore successive press events in zoom recognizer when canceled
Mike Blumenkrantz [Mon, 27 Jan 2020 18:38:45 +0000 (13:38 -0500)]
efl/gesture: ignore successive press events in zoom recognizer when canceled

cancel is used to indicate that a gesture which has begun to trigger has been
canceled, so if we have already canceled then we should not re-cancel here

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11207

4 years agoefl/gesture: ignore multi-touch end events in tap gesture recognizer
Mike Blumenkrantz [Mon, 27 Jan 2020 18:37:25 +0000 (13:37 -0500)]
efl/gesture: ignore multi-touch end events in tap gesture recognizer

we only care about the last touch unpress event, so we should be ignoring
every other event instead of canceling, as we are also ignoring the
multi-touch press events

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11206

4 years agoefl/gesture: avoid direct double access in structs
Mike Blumenkrantz [Mon, 27 Jan 2020 14:27:41 +0000 (09:27 -0500)]
efl/gesture: avoid direct double access in structs

this is functionally wrong (the comparison fails) and also causes SIGBUS on
arm

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11198

4 years agoefl/gesture: reorder gesture private structs
Mike Blumenkrantz [Mon, 27 Jan 2020 14:27:05 +0000 (09:27 -0500)]
efl/gesture: reorder gesture private structs

order based on descending member size

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11197

4 years agoefl/gesture: remove 'gesture' member from recognizer data struct
Mike Blumenkrantz [Fri, 24 Jan 2020 19:12:46 +0000 (14:12 -0500)]
efl/gesture: remove 'gesture' member from recognizer data struct

this was never used

ref T8503

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11178

4 years agoefl/gesture: remove 'manager' member from recognizer data struct
Mike Blumenkrantz [Fri, 24 Jan 2020 19:11:01 +0000 (14:11 -0500)]
efl/gesture: remove 'manager' member from recognizer data struct

this can be fetched using efl_provider_find from the recognizer

ref T8503

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11177

4 years agoefl/gesture: remove 'config' property from recognizers
Mike Blumenkrantz [Fri, 24 Jan 2020 19:06:42 +0000 (14:06 -0500)]
efl/gesture: remove 'config' property from recognizers

this is a manager functionality, and recognizers are always child objects of
managers

ref T8503

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11176

4 years agoefl/gesture: expose 'continues' as a public property for recognizers
Mike Blumenkrantz [Fri, 24 Jan 2020 18:58:40 +0000 (13:58 -0500)]
efl/gesture: expose 'continues' as a public property for recognizers

we still access this using private data in the in-tree recognizers, but
now it's also accessible normally to custom recognizers

ref T8503

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11175

4 years agoefl/gesture: add an event to notify when a config value has been changed
Mike Blumenkrantz [Fri, 24 Jan 2020 18:38:49 +0000 (13:38 -0500)]
efl/gesture: add an event to notify when a config value has been changed

recognizers should be storing config values internally to avoid overhead
of multiple eo/hash lookups on every event

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11174

4 years agoefl/gesture: move finger_size into private structs of recognizers
Mike Blumenkrantz [Fri, 24 Jan 2020 18:34:45 +0000 (13:34 -0500)]
efl/gesture: move finger_size into private structs of recognizers

we must write these recognizers using publicly available apis to ensure
that we don't accidentally start using private struct data

this requires a lot of changes to properly manage the config value for finger
size and update the recognizer data when changed (which external recognizers
will need to monitor an event to achieve) and then also to change some
recognizers so they don't use memset and unset the finger_size value

ref TT8503

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11173

4 years agotests/gesture: add zoom and pinch tests
Mike Blumenkrantz [Thu, 23 Jan 2020 20:21:22 +0000 (15:21 -0500)]
tests/gesture: add zoom and pinch tests

basic tests verifying completion of the gestures

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

4 years agoefl/gesture: discard non-press events for all touch points if unseen previously
Mike Blumenkrantz [Thu, 23 Jan 2020 20:20:12 +0000 (15:20 -0500)]
efl/gesture: discard non-press events for all touch points if unseen previously

not sure why this was restricted to first touch point previously, but the logic
applies to all points as we don't want to be tracking input for a touch we
haven't gotten a down for

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11169

4 years agoefl/gesture: add 'pressed' state info for touch data
Mike Blumenkrantz [Thu, 23 Jan 2020 20:18:58 +0000 (15:18 -0500)]
efl/gesture: add 'pressed' state info for touch data

since we retain touch info for the duration of a touch sequence, including
after a touch point has been unpressed, it's necessary to track the current
state of each point and then use that to accurately determine the number of
touches active

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11168

4 years agoefl/gesture: correctly reset zoom gesture recognizer data on >2 finger touch
Mike Blumenkrantz [Thu, 23 Jan 2020 20:18:09 +0000 (15:18 -0500)]
efl/gesture: correctly reset zoom gesture recognizer data on >2 finger touch

canceling without a proper reset breaks the recognizer for successive events

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11167

4 years agotests/elm: add util function for doing pinch motions
Mike Blumenkrantz [Wed, 22 Jan 2020 18:56:07 +0000 (13:56 -0500)]
tests/elm: add util function for doing pinch motions

simple function which takes start points and vectors for 2 touches

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

4 years agoefl/gesture: more accurately handle flick/momentum recognition with multi-touch
Mike Blumenkrantz [Wed, 22 Jan 2020 18:51:44 +0000 (13:51 -0500)]
efl/gesture: more accurately handle flick/momentum recognition with multi-touch

if we have one of these gestures where we are flicking/momentuming with multiple
touch points, we want to permit this so long as the touch points are moving vaguely
in the same direction, e.g., press -> swipe with 2 fingers

with this, we now cancel these gestures with multi-touch active if we detect motion
with subsequent touch events that doesn't match the vector of the "active" press
for which we are monitoring events

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11165

4 years agoefl/gesture: break out _direction_get() into helper function
Mike Blumenkrantz [Wed, 22 Jan 2020 18:51:02 +0000 (13:51 -0500)]
efl/gesture: break out _direction_get() into helper function

this is useful in multiple places, no functional changes

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11164

4 years agoevas/events: fix multi-touch object targeting on touch down events
Mike Blumenkrantz [Wed, 22 Jan 2020 18:48:39 +0000 (13:48 -0500)]
evas/events: fix multi-touch object targeting on touch down events

a touch press is both a touch and a move event, which means the canvas must
update its list of target objects on the first touch press to avoid using the
wrong objects when processing events

@fix

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

4 years agoefl/gesture: correct config value name for glayer_double_tap_timeout
Mike Blumenkrantz [Wed, 22 Jan 2020 14:57:15 +0000 (09:57 -0500)]
efl/gesture: correct config value name for glayer_double_tap_timeout

typo--

Reviewed-by: Hermet Park <<hermetpark@gmail.com>>
Differential Revision: https://phab.enlightenment.org/D11155

4 years agotests/gesture: add extra event callback to verify event multiplication is fixed
Mike Blumenkrantz [Tue, 21 Jan 2020 19:53:50 +0000 (14:53 -0500)]
tests/gesture: add extra event callback to verify event multiplication is fixed

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

4 years agoefl/gesture: redo (and make stupider) hash usage in gesture manager
Mike Blumenkrantz [Tue, 21 Jan 2020 19:51:16 +0000 (14:51 -0500)]
efl/gesture: redo (and make stupider) hash usage in gesture manager

this rewrites the gesture event dispatcher to use a hash of hashes for
tracking which events are being watched on a given object to avoid:
* dispatching n gesture events per object to each callback, where n is the
  number of gesture callbacks for any given type
* removing all gesture callbacks when only one callback is removed

this is not smart code. it should be improved at some time, but that time
is not now.

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

4 years agoefl/gesture: add touch_count property for gesture event info
Mike Blumenkrantz [Fri, 17 Jan 2020 15:18:23 +0000 (10:18 -0500)]
efl/gesture: add touch_count property for gesture event info

this allows us to provide the number of touch points active in any gesture
so we can detect e.g., double-tap with two fingers

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11126

4 years agotests/gesture: add gesture tests for basic multi-touch tap events
Mike Blumenkrantz [Mon, 13 Jan 2020 20:10:40 +0000 (15:10 -0500)]
tests/gesture: add gesture tests for basic multi-touch tap events

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

4 years agotests/elm: add util functions for doing multi-touch events
Mike Blumenkrantz [Mon, 13 Jan 2020 20:10:09 +0000 (15:10 -0500)]
tests/elm: add util functions for doing multi-touch events

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

4 years agoefl/gesture: fix zoom to ignore single press events and not crash
Mike Blumenkrantz [Mon, 13 Jan 2020 20:09:17 +0000 (15:09 -0500)]
efl/gesture: fix zoom to ignore single press events and not crash

zoom requires two fingers for a pinch, so skip the first press

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11088

4 years agoefl/gesture: restrict flick and momentum gestures to original touch point
Mike Blumenkrantz [Mon, 13 Jan 2020 20:08:16 +0000 (15:08 -0500)]
efl/gesture: restrict flick and momentum gestures to original touch point

if multiple fingers are pressed down, filter and use only the first finger
to make gesture recognizing more accurate

this may change later once tests develop

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11087

4 years agoefl/gesture: handle multi-touch press for tap gestures
Mike Blumenkrantz [Mon, 13 Jan 2020 20:07:17 +0000 (15:07 -0500)]
efl/gesture: handle multi-touch press for tap gestures

any time multiple fingers are pressed down at the same time, we should
treat this as a single gesture like if only one finger was pressed

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11086

4 years agomove stabelized items out of @beta
Marcel Hollerbach [Fri, 31 Jan 2020 15:11:57 +0000 (16:11 +0100)]
move stabelized items out of @beta

fixes T8570
fixes T8567
fixes T8566
fixes T8521
fixes T8501
fixes T8460
fixes T8455
fixes T8454
fixes T8254
fixes T7945
fixes T7944
fixes T7943
fixes T7942
fixes T7941
fixes T7940
fixes T7939
fixes T7938
fixes T7937
fixes T7936
fixes T7935
fixes T7934
fixes T7933
fixes T7858
fixes T7857
fixes T7856
fixes T7855
fixes T8599

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

4 years agoefl_canvas_textblock: incorrect value returned for underline dashed gap
abdulleh Ghujeh [Tue, 4 Feb 2020 08:56:17 +0000 (08:56 +0000)]
efl_canvas_textblock: incorrect value returned for underline dashed gap

the function text_underline_dashed_gap_get return underline_dash_width value instead of underline_dash_gap value.
this patch return the correct value.

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

4 years agosoftware_evas_engine: Remove unnecessary member for ector_surface_set
JunsuChoi [Wed, 5 Feb 2020 01:47:14 +0000 (10:47 +0900)]
software_evas_engine: Remove unnecessary member for ector_surface_set

Summary:
The clear of the Evas_Thread_Command_Ector_Surface structure is an unmanaged variable.
When ector calls _draw_thread_ector_surface_set and it checks the clear value.
the clear value is garbage value. This can cause the pixels to fail to initialize.
This is why afterimages remain after updating shapes while using ector surfaces.

Test Plan:
./build/src/examples/evas/efl-canvas-vg-simple
1 - Basic Shape test
Scale up 's' or do something

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl.canvas.textblock: update style strings
Ali Alzyod [Tue, 4 Feb 2020 16:45:32 +0000 (17:45 +0100)]
efl.canvas.textblock: update style strings

Summary:
Update

backing -> background_type
backing_color -> background_color
underline_dash_color -> underline_dashed_color
underline - > underline_type
strikethrough - > strikethrough_type
style -> (effect_type + shadow_direction)
underline_dash_width -> underline_dashed_width
underline_dashed_gap -> underline_dashed_gap

**+prevent unified APIs from supporting legacy style tags, and prevent legacy APIs from the ability to use new unified tags**

Reviewers: zmike, woohyun, segfaultxavi, bu5hm4n, cedric

Reviewed By: segfaultxavi, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8523

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

4 years agoefl.input.text: add underscore for enums names
ali [Tue, 4 Feb 2020 15:40:59 +0000 (16:40 +0100)]
efl.input.text: add underscore for enums names

Summary:
(Efl.Input_Text.Panel_Layout_Type) phonenumber -> phone_number
(Efl.Input_Text.Panel_Layout_Type) numberonly     ->number_only
(Efl.Input_Text.Capitalize_Type) allcharacter -> all
(Efl.Input_Text.Panel_Layout_Normal_Variation_Type) filename -> file_name
(Efl.Input_Text.Panel_Layout_Password_Variation_Type) numberonly-> number_only

Reviewers: segfaultxavi, woohyun, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8541

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

4 years agoefl_text_change_info: change text change type property( bool -> enum)
abdulleh Ghujeh [Mon, 3 Feb 2020 09:57:57 +0000 (09:57 +0000)]
efl_text_change_info: change text change type property( bool -> enum)

changed the insertion property to be an enum instead of a boolean property.
this will be clearer for usage and provide the ability to add more types in the future.

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

4 years agocsharp: implement GetChildrenIndex for GenericModel
Yeongjong Lee [Tue, 4 Feb 2020 08:17:27 +0000 (17:17 +0900)]
csharp: implement GetChildrenIndex for GenericModel

Summary: This patch will fix EFL# build error.

Reviewers: felipealmeida, woohyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoefl.ui.textbox: add and use keyboard bindings
Ali Alzyod [Sun, 2 Feb 2020 14:07:45 +0000 (14:07 +0000)]
efl.ui.textbox: add and use keyboard bindings

As other widgets, efl.ui.textbox will use keyboard bindings instead of listen to keyboard events

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

4 years agoelm_config: add helper method for copying widget key bindings
Marcel Hollerbach [Fri, 31 Jan 2020 13:55:56 +0000 (14:55 +0100)]
elm_config: add helper method for copying widget key bindings

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

4 years agoelm_config: fix wrong update code
Marcel Hollerbach [Fri, 31 Jan 2020 13:39:38 +0000 (14:39 +0100)]
elm_config: fix wrong update code

the version here was wrong, probebly a missmatch between hex. & dec and
a off by one error. This is fixing that problem and does not just copy
all keybindings.

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

4 years agoevas proxy: make it work for File_Save.save
Shinwoo Kim [Tue, 4 Feb 2020 03:06:37 +0000 (12:06 +0900)]
evas proxy: make it work for File_Save.save

Summary:
File_Save.save does not work for proxy object from following commit.

   c53f152 evas: Make save() work on snapshots

Test Plan:
1. Add an image object and set source object.
evas_object_image_source_set(obj, source);

2. Save the object as a file when you need.
evas_object_image_save(obj, "./file_name.png", NULL, NULL);

Reviewers: cedric, Hermet, jsuya

Reviewed By: Hermet

Subscribers: zmike, subodh6129, #reviewers, #committers

Tags: #efl

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

4 years agocanvas proxy: fix broken proxy source clip set behavior. 69/224569/1
Hermet Park [Tue, 11 Feb 2020 12:44:52 +0000 (21:44 +0900)]
canvas proxy: fix broken proxy source clip set behavior.

Some internal logic has been wrongly changed while it's on refactoring.

Fixed by reverting it.

Change-Id: Iefa0455633cb45dba8f3b9b6f36065c3a54f5da8

4 years agoRevert "ecore_wl2: API classification for make it public."
Woochanlee [Tue, 11 Feb 2020 07:23:16 +0000 (16:23 +0900)]
Revert "ecore_wl2: API classification for make it public."

This reverts commit 13e3f766296a65be36f13dbda40f9a5cbec90e0f.

4 years agoRevert "ecore_wl2: Move Wayland header into Ecore_Wl2 header for test."
Woochanlee [Tue, 11 Feb 2020 07:23:06 +0000 (16:23 +0900)]
Revert "ecore_wl2: Move Wayland header into Ecore_Wl2 header for test."

This reverts commit a44f333c1a909c0a74bb12e443e3595f5948f776.

4 years agoRevert "ecore_wl2: Creates internal header for legacy user."
Woochanlee [Tue, 11 Feb 2020 07:22:52 +0000 (16:22 +0900)]
Revert "ecore_wl2: Creates internal header for legacy user."

This reverts commit a2f96e0795e2c20bfcc2901cd070db15ce31f7c7.

4 years agoecore_wl2: Creates internal header for legacy user. 16/224516/1 submit/tizen/20200211.071840
Woochanlee [Tue, 11 Feb 2020 07:17:07 +0000 (16:17 +0900)]
ecore_wl2: Creates internal header for legacy user.

Change-Id: I005cc709d24cf877b24a8e919434e928624996c3

4 years agoecore_wl2: Move Wayland header into Ecore_Wl2 header for test. 14/224514/1 submit/tizen/20200211.070535
Woochanlee [Tue, 11 Feb 2020 07:02:27 +0000 (16:02 +0900)]
ecore_wl2: Move Wayland header into Ecore_Wl2 header for test.

Change-Id: I1271e0c787dd3b50f312d58cba767739f26a0976

4 years agoecore_wl2: API classification for make it public. 04/224504/1 submit/tizen/20200211.063445
Woochanlee [Tue, 11 Feb 2020 06:31:21 +0000 (15:31 +0900)]
ecore_wl2: API classification for make it public.

Change-Id: Id976bbd57ae1d743d3248c79e996866d2846c56b

4 years agoefl_ui_widget: set comment to unreacable code 93/224493/2
WooHyun Jung [Tue, 11 Feb 2020 04:01:25 +0000 (13:01 +0900)]
efl_ui_widget: set comment to unreacable code

@tizen_fix

Change-Id: I948cada6fdff489a795d90ce27c2a04d61070620

4 years agoelm_focus_legacy: set comment to unreachable code 85/224485/1
WooHyun Jung [Tue, 11 Feb 2020 02:11:42 +0000 (11:11 +0900)]
elm_focus_legacy: set comment to unreachable code

@tizen_fix

Change-Id: I3082d86fac12794c686ff9e0dd1c69056246c39d

4 years agoevas object: + null check for safety 41/224441/1
Hermet Park [Mon, 10 Feb 2020 12:23:20 +0000 (21:23 +0900)]
evas object: + null check for safety

Change-Id: I7633a4668ed84ee8b4d51544906163f4b8286e0c

4 years agoRevert "Revert "ecore_audio, ecore_buffer, ecore_wl2 : Fix build warnings."" 18/223418/2
Woochanlee [Wed, 29 Jan 2020 11:54:37 +0000 (20:54 +0900)]
Revert "Revert "ecore_audio, ecore_buffer, ecore_wl2 : Fix build warnings.""

This reverts commit fd3ef6ecdbb7ca63cf97d051e563799755b9a32d.

Change-Id: Idaf1951df706a3071a5069f56672ec4bcbf3d2d8

4 years agoelm_index: keep backward compatibility on size calculation 51/224251/1
Jaehyun Cho [Fri, 7 Feb 2020 06:54:01 +0000 (15:54 +0900)]
elm_index: keep backward compatibility on size calculation

To keep backward compatibility on size calculation, elm_index implements
group_calculate and the size calculation in the removed sizing_eval is
added to the implemented group_calculate in elm_index.

Change-Id: I4f848ec17f091976f8a221a9dac086db9ee5823d

4 years agoelm_win_legacy: add Elm_Win group for document of elm_win_aux_hint APIs 24/224224/2
Taehyub Kim [Fri, 7 Feb 2020 05:47:39 +0000 (14:47 +0900)]
elm_win_legacy: add Elm_Win group for document of elm_win_aux_hint APIs

Change-Id: If66fa45f1c2f7ff59d890556fc8f4f3c321f80c6

4 years agoevas: prevent calling api with NULL filter image
Yeongjong Lee [Wed, 5 Feb 2020 06:11:28 +0000 (06:11 +0000)]
evas: prevent calling api with NULL filter image

This fixes a bunch of warnings like that
```
../src/lib/eo/eo.c:644 _efl_object_call_resolve() NULL passed to function xxx().
```

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

4 years agoefl_ui_layout: prevent needless calls of elm_layout_sizing_eval 16/223916/2
Yeongjong Lee [Wed, 5 Feb 2020 04:26:05 +0000 (13:26 +0900)]
efl_ui_layout: prevent needless calls of elm_layout_sizing_eval

`elm_layout_sizing_eval` is implemented for only classees that inherit `Elm.Layout`

This patch will fix following error log
```
/EFL ( 3158): eo<3158> ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in ../src/lib/elementary/efl_ui_layout_legacy_eo.c:37: func 'elm_layout_sizing_eval' (1692) could not be resolved for class 'Elm.Rpanel'.
```

@tizen_fix

Change-Id: I1d4608947574173e4b9b93a15b4868ebc8b39a93

4 years agoelm_conform: prevent calling elm_layout_sizing_eval for elm_conform 13/223913/3
Yeongjong Lee [Wed, 5 Feb 2020 04:15:59 +0000 (13:15 +0900)]
elm_conform: prevent calling elm_layout_sizing_eval for elm_conform

since commit 8913869f3984b852f83750fb6fa43ae6bf4c688d, `elm_layout_sizing_eval`
haven't worked for elm_conformant.

This patch will fix following error log
```
/EFL ( 3158): eo<3158> ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in ../src/lib/elementary/efl_ui_layout_legacy_eo.c:37: func 'elm_layout_sizing_eval' (1692) could not be resolved for class 'Elm.Conformant'.
```

@tizen_fix

Change-Id: Iaeb23d790c05a309507bc39c104777a7efbfdd01

4 years agoelm_interface_scrollable: avoid calling focus_manager functions 58/223858/2
Yeongjong Lee [Tue, 4 Feb 2020 09:38:06 +0000 (18:38 +0900)]
elm_interface_scrollable: avoid calling focus_manager functions

This patch will fix following Error log
```
E/EFL ( 3158): eo<3158> ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in src/lib/elementary/efl_ui_focus_manager.eo.c:28: func 'efl_ui_focus_manager_dirty_logic_unfreeze' (819) could not be resolved for class 'Elm.Scroller'.
E/EFL ( 3158): eo<3158> ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in src/lib/elementary/efl_ui_focus_manager.eo.c:27: func 'efl_ui_focus_manager_dirty_logic_freeze' (818) could not be resolved for class 'Elm.Scroller'.
```

@tizen_fix

Change-Id: I3d9ebdbb4a2f0bac2f93fd25c194800b8baa4ffd

4 years agoelm_atspi_bridge: Add UTF-8 txt format check part. 20/223920/1
YoungGun Chun [Wed, 5 Feb 2020 04:48:48 +0000 (13:48 +0900)]
elm_atspi_bridge: Add UTF-8 txt format check part.
Dbus Message format support only utf8.
If App do not send UTF-8 format information,
it is problem happen.
Add ATSPI bridge part check if utf8 is formatted or not.

Change-Id: I2e78393e00e142a7dd71b0b9601de666bf7952ec
(cherry picked from commit 4c68259dfbdf865b93a68904683e7034a7de0517)

4 years agotheme: rework a bit the tab_pager theme submit/tizen/20200203.210507
Marcel Hollerbach [Tue, 8 Oct 2019 14:11:52 +0000 (16:11 +0200)]
theme: rework a bit the tab_pager theme

the theme now works in a way where the current tab is in one color with
the content, so its correctly assosiated. The not selected items are in
a bit more gray setting so its meant to be in the background.

https://pasteboard.co/IB1UV8o.png

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

4 years agoefl_ui_spotlight: correctly emit page size
Marcel Hollerbach [Mon, 23 Dec 2019 16:59:47 +0000 (17:59 +0100)]
efl_ui_spotlight: correctly emit page size

this fixes tab pagers "on the fly" changing of the position manager.

ref D10775

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

4 years agoefl_ui_tab_pager: do not directly inherit from spotlight anymore
Marcel Hollerbach [Mon, 2 Dec 2019 20:41:46 +0000 (21:41 +0100)]
efl_ui_tab_pager: do not directly inherit from spotlight anymore

spotlight moved away from layout, this could have also been solved with
setting a edje object as resize object. However, this commit now
contains the spotlight internally.

The resons why containing it internally is better:
- You now only have one way of selecting a page, marking it as selection
via the selectable API
- You cannot build race conditions between selecting a page and setting
the active_element anymore
- The tab_pager is now also just a simple single_selectable implementor,
which makes this whole usage more convinient.
- There is now a event you can listen to if you want to know if
something has changed the selected item
- push and pop would have never worked correctly in the tab_pager, as
the item would have appeared always before the item was "faded" in. This
possibility is not given anymore

Last but not least, this makes tab_pager usable again, the tab bar is
displayed again.

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

4 years agoefl: add test for efl_model_children_index_get. accepted/tizen/unified/20200203.125626 submit/tizen/20200203.015339
Cedric BAIL [Fri, 24 Jan 2020 19:03:23 +0000 (11:03 -0800)]
efl: add test for efl_model_children_index_get.

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

4 years agoefl: add Efl.Model.Children_Index_Get.
Cedric BAIL [Fri, 24 Jan 2020 19:01:03 +0000 (11:01 -0800)]
efl: add Efl.Model.Children_Index_Get.

This allow for fetching random children in a model. A simple fallback is
provided by Efl.Loop_Model that will allow all model to provide this
feature in a non optimized way. Later on this can be speeded up.

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

4 years agoecore: refactor unpacking/packing code used in conjonction with eina_future_all*.
Cedric BAIL [Fri, 24 Jan 2020 18:59:01 +0000 (10:59 -0800)]
ecore: refactor unpacking/packing code used in conjonction with eina_future_all*.

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

4 years agoeina: do not warn when calling eina_inarray_pop on empty inarray to match eina_array_pop.
Cedric BAIL [Thu, 30 Jan 2020 23:16:22 +0000 (15:16 -0800)]
eina: do not warn when calling eina_inarray_pop on empty inarray to match eina_array_pop.

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

4 years agoeina: add test for eina_future_all_iterator.
Cedric BAIL [Wed, 22 Jan 2020 18:23:53 +0000 (10:23 -0800)]
eina: add test for eina_future_all_iterator.

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

4 years agoeina: add eina_future_all_iterator and eina_promise_all_iterator.
Cedric BAIL [Wed, 22 Jan 2020 18:22:06 +0000 (10:22 -0800)]
eina: add eina_future_all_iterator and eina_promise_all_iterator.

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

4 years agoFix build with gcc 10 (which has -fno-common enabled by default).
Tom Callaway [Fri, 31 Jan 2020 12:40:45 +0000 (12:40 +0000)]
Fix build with gcc 10 (which has -fno-common enabled by default).

EFL failed to build from source in Fedora Rawhide as a result of the update to GCC 10. GCC 10 enables -fno-common by default, and this found three issues in EFL:

  # The eina benchmark code defined int key_size in a header that was included in multiple places.
  # The elementary test code defines the "dt1", "dt2", "dt3" vars in two code files which are compiled together (but these variables do not appear to be used globally)
  # The eio test code defines the "ee" var in two code files which are compiled together (but this variable does not appear to be used globally)

I've fixed these issues and confirmed locally that the code builds again in Fedora.

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

4 years agoedje: use EINA_UNUSED consistently after in function signatures -- part2
ProhtMeyhet [Fri, 31 Jan 2020 07:20:54 +0000 (07:20 +0000)]
edje: use EINA_UNUSED consistently after in function signatures -- part2

Sorry, I've overlooked these as they are on a new line,
or at the beginning of a function, but I think I've got them all now.

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

4 years agoevas_object_grid: fix leaking of pointer
Marcel Hollerbach [Fri, 31 Jan 2020 12:51:38 +0000 (13:51 +0100)]
evas_object_grid: fix leaking of pointer

priv->children was leaked to a freed pointer here.
This is now fixed.

4 years agoevas_object_grid: Fix memory leak.
Woochanlee [Thu, 30 Jan 2020 06:25:36 +0000 (06:25 +0000)]
evas_object_grid: Fix memory leak.

_evas_object_smart_clipped_init() (in evas_object_smart.c) is called when evas_object_grid is created.
And a rectangle is created in the function.

But, the rectangle is not deleted even  though evas_objecct_grid is deleted.
This patch fixes the problem by deleting it in smart_del fucntion.

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

4 years agoevas filter: fix crash issue
Shinwoo Kim [Fri, 31 Jan 2020 12:34:49 +0000 (21:34 +0900)]
evas filter: fix crash issue

Summary:
If image object geometry is same with image size, then a crash occurs on both
GL and SW engine.

[Test Code]
evas_object_image_size_get(img, &w, &h);
evas_object_resize(img, w, h);

[GL engine]
eng_ector_buffer_wrap should use output instead of engine for calling
evas_ector_buffer_engine_image, because it expects the output not the engine.

[SW engine]
eng_ector_buffer_wrap should check if im->image.data is NULL because
_evas_ector_software_buffer_evas_ector_buffer_engine_image_set returns before
calling evas_cache_iamge_ref if im->image.data is NULL, and it causes
a segmentation fault finally with following backtrace.

(#0) evas_cache_image_drop (im=0x0)
(#1) _evas_ector_software_buffer_efl_object_destructor
(#2) efl_destructor
(#3) _efl_del_internal
(#4) _efl_unref_internal
(#5) _efl_add_internal_end
(#6) _efl_add_end
(#7) eng_ector_buffer_wrap

Test Plan: {F3841366}

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agodocs: Remove leftover 'see also' from Efl.Ui.Image
Xavi Artigas [Fri, 31 Jan 2020 09:55:54 +0000 (10:55 +0100)]
docs: Remove leftover 'see also' from Efl.Ui.Image

4 years agoEfl.Canvas.Group: make mask filter work on GL engine
Shinwoo Kim [Fri, 31 Jan 2020 09:31:08 +0000 (18:31 +0900)]
Efl.Canvas.Group: make mask filter work on GL engine

Summary:
The _gl_filter_mask defines value of gc->dc->clip.mask, and make_color but
those are not used at all, because the evas_gl_common_Filter_blend_push calls
evas_gl_common_context_image_push which doesn't care of those values.

So this patch is using evas_gl_common_image_draw to use mask and mask_color.

Test Plan:
[Filter Program]
efl_gfx_filter_program_set(text,
     "buffer:a(alpha); buffer:fat(alpha); buffer:rgbfat(rgba);
      curve (0:255-255:0, dst = a); blend (a, color = #00ca00ff);
      grow (1, dst = fat); blur (3, src = fat, color=#0000b9ff, ox = -2, oy = -2, dst = rgbfat);
      mask (a, src = rgbfat);padding_set(t=5);",
     "name");

[Before]
{F3835430}

[After]
{F3835431}

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

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

4 years agoEfl.Ui.Vg_Animation: Remove @beta mark
JunsuChoi [Fri, 31 Jan 2020 07:35:57 +0000 (16:35 +0900)]
Efl.Ui.Vg_Animation: Remove @beta mark

Summary:
Remove beta mark for Efl.Ui.Vg_Animation.
.playing_sector and .value_provider_override leave a beta mark.
It will be removed after more review.

Depends on D10953

Ref T8476

Test Plan:
meson_option.txt -> remove json in evas-loaders-disabler option
elementary_test -to "Vector Graphics Animation"

Reviewers: Hermet, Jaehyun_Cho, bu5hm4n, cedric, zmike

Reviewed By: Hermet, cedric, zmike

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

Tags: #efl

Maniphest Tasks: T8476

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

4 years agoRevert "Revert "elementary: make focus manager update_children and update_order an... 35/223635/1
Yeongjong Lee [Fri, 31 Jan 2020 10:55:30 +0000 (19:55 +0900)]
Revert "Revert "elementary: make focus manager update_children and update_order an internal function to not expose list<>.""

This reverts commit d887f91efe81f63c567fb9563f6493e47cb54cb9.

Change-Id: I24911fe63c6de645c07f9fcc2a847c2febc3048d

4 years agoefl_ui_focus_manager_calc: remove update_children, update_order 34/223634/1
Yeongjong Lee [Fri, 31 Jan 2020 11:04:23 +0000 (20:04 +0900)]
efl_ui_focus_manager_calc: remove update_children, update_order

They were removed from upstream

@tizen_fix

Change-Id: Idde9fd37b690a2c09cce45f3adcdffc8fc0981da

4 years agotizen_vector: Fix callback calling after deleted callback. 26/223626/1
Woochanlee [Fri, 31 Jan 2020 08:29:19 +0000 (17:29 +0900)]
tizen_vector: Fix callback calling after deleted callback.

_progressbar_process_pulse_start() called after called progressbar_del_cb()
It makes crash.

_progressbar_process_pulse_start() ready to emit in queue when we deleted elm_object_signal_callback_del().
To prevent this weird action using deleting flag here.

Change-Id: I5df9c571b3e35afde9b6b23435b9ac36bd1bf55c

4 years agoefl_access_object: mark @beta efl_access_object.eo 71/223471/2
Yeongjong Lee [Thu, 30 Jan 2020 04:55:23 +0000 (13:55 +0900)]
efl_access_object: mark @beta efl_access_object.eo

Efl.Access.Object is beta in upstream.
This patch will prevent conflict with upstream eolian patches.

@tizen_fix

Change-Id: I9313ec7f59305ef4e4bfcc4d5fc6ac5e8823d28d

4 years agoRevert "elementary: make focus manager update_children and update_order an internal... submit/tizen/20200130.211720
Jongmin Lee [Thu, 30 Jan 2020 21:08:44 +0000 (06:08 +0900)]
Revert "elementary: make focus manager update_children and update_order an internal function to not expose list<>."

This reverts commit d12ddb3ecb816e836e286c3c9a95f45f3a88d0bb.

4 years agoedje: use EINA_UNUSED consistently after declaration in function signatures
Proht [Wed, 29 Jan 2020 17:18:32 +0000 (17:18 +0000)]
edje: use EINA_UNUSED consistently after declaration in function signatures

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

4 years agoci: add leak ignore as a temporary bandaid
Stefan Schmidt [Wed, 29 Jan 2020 10:38:27 +0000 (11:38 +0100)]
ci: add leak ignore as a temporary bandaid

This needs some more digging where this leak comes from. I see it
triggering on edje_cc during the build.
Until we have this sorted out add as ignore here to keep CI working.

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

4 years agoci: update Ubuntu bionic deps to cover openjp2 we now depend on
Stefan Schmidt [Wed, 29 Jan 2020 10:33:37 +0000 (11:33 +0100)]
ci: update Ubuntu bionic deps to cover openjp2 we now depend on

Since we switched on some loader to default we have this as a default
dependency. Reflect this in our CI setup to avoid breaks.

Also make sure we use sudo for the meson pip install to not break on the
ARM64 infrastructure on TravisCI.

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

4 years agoefl/gesture: move Point_Data to eo and add methods to fetch it for recognizers
Mike Blumenkrantz [Mon, 13 Jan 2020 20:04:38 +0000 (15:04 -0500)]
efl/gesture: move Point_Data to eo and add methods to fetch it for recognizers

this lets gesture framework track two touch points in order to distinguish between
successive presses and e.g., treat a simultaneous two finger tap as a single tap
gesture rather than two

it also simplifies some internal code and removes most hash lookups

Reviewed-by: woochan lee <wc0917.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11085

4 years agotests/gesture: add longpress tests
Mike Blumenkrantz [Thu, 9 Jan 2020 15:05:32 +0000 (10:05 -0500)]
tests/gesture: add longpress tests

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

4 years agotests/elm: add util functions for pressing mouse button without releasing
Mike Blumenkrantz [Thu, 9 Jan 2020 15:04:06 +0000 (10:04 -0500)]
tests/elm: add util functions for pressing mouse button without releasing

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