Commit Graph

65087 Commits

Author SHA1 Message Date
Stefan Schmidt 49cc3a8a32 exactness: cleanup some coding style isues
Just a few that I spotted when looking over the code.

Differential Revision: https://phab.enlightenment.org/D11290
2020-02-07 10:53:21 +01:00
Stefan Schmidt 927155252b exactness: fix init/shutdown handling of efl components in various binaries
The init/shutdown handling for efl libraries was a bit sloppy and
unbalanced in the exactness binaries. Switching over to use
ecore_eas_init/shutdown here instead of doing all libs individually.

Differential Revision: https://phab.enlightenment.org/D11289
2020-02-07 10:53:21 +01:00
Stefan Schmidt 4d92d6e940 exactness: remove unused code
Either commented out, blank lines or no needed includes.

Differential Revision: https://phab.enlightenment.org/D11288
2020-02-07 10:53:21 +01:00
Stefan Schmidt 588032e09b exactness: remove no longer needed EO and BETA API defines
This has been in place during development and not updated for recent
changes and merge into efl master.

Differential Revision: https://phab.enlightenment.org/D11287
2020-02-07 10:53:21 +01:00
Stefan Schmidt fa7d18f645 exactness: print out statistics at the end of the run
Given a better overview after the wall of text we are seeing from
starting and stopping jobs in parallel.

Differential Revision: https://phab.enlightenment.org/D11286
2020-02-07 10:53:21 +01:00
Daniel Zaoui 899bbe9e01 exactness: import code from external repo into efl.git
Exactness has been developed in a separate git repo for many years. This
finally moves it over into efl. Having it in tree allows us for easier
testing with our current main target elementary_test and integration
into our CI system (patches for this are work in progress already).

We are only importing the lib and binary for test execution, not the
full set of test data. This is would be over 500MB and thus it will stay
in a different repo and only made available during the actual testing.

[The original patch was made by Daniel Zaoui. Over the course of review
and testing it got extended with build fixes for API changes and mingw
compilation support from Stefan Schmidt and Michael Blumenkrantz]

Differential Revision: https://phab.enlightenment.org/D11285
2020-02-07 10:53:21 +01:00
Stefan Schmidt d984b9f467 elementary: build elementary_test additionally as shared object
For our exactness testing we are dlopen() the elementary_test
executable. Until glibc 2.30 this was posible with -pie, but it changed
in the glibc version. They no longer allow these executables to be
dlopen()'ed.

As a workaround for now we are building elementary_test also as a shared
object file which we load and use in the exactness testing process.

The code came from Marcel Hollerbach and I only tested it and fixed up a
small detail.

Differential Revision: https://phab.enlightenment.org/D11284
2020-02-07 10:53:20 +01:00
Jaehyun Cho e938a34f05 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.
2020-02-07 16:16:26 +09:00
Daniel Kolesa d815c26f9c eolian: fix missing stringshare_ref
This was properly applied to all cases except this one where it
was overlooked/forgotten. That resulted in the @c_name() feature
with enums being broken because of bad memory.

Fixes T8596.
2020-02-06 14:43:38 +01:00
abdulleh Ghujeh f5e13284d7 Evas Textblock: update obstacle test
Summary:
Update the test to check that the first character is rendered after the obstacle.
To ensure that the obstacle feature keeps working correctly.

Reviewers: ali.alzyod, woohyun

Reviewed By: ali.alzyod

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11033
2020-02-06 15:36:30 +09:00
Marcel Hollerbach e710d42fc0 eolian_cxx: fix a last few since errors
sinace has to be > 1.22 and the tests need to reflect that.
2020-02-05 19:42:44 +01:00
Xavi Artigas debc17e4b4 docs: Remove incorrect doc tag
This was breaking build with cxx bindings enabled.
2020-02-05 18:53:43 +01:00
Ali Alzyod 3560b0f62f evas_object_textbox: deal with <br> <tab> without closing '/'
This causes many issues because textbox functions deals with <br> <tab> differently depending that user write them with or without '/' at the end (for example <br> vs <br/>)
while most functionaliity are the same (like viewing <br> and <br/> are the same).
cursor dealing with these tags can be differently.
now we will assume <br> <tab> are already have there own closing tag, even if it is missing

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11293
2020-02-05 17:41:24 +01:00
Lucas Cavalcante de Sousa 269ed1ca34 bindings-cxx: fix missing @since tags at stable c#/cpp tests
Story:
This revision got landed twice, I do not know what happend, but when i
wanted to land that initially with git phab, something reseted the state
of this revision to the initial version, and also changed the
authorship. This time, this commit contains all changes, and the correct
authorship, sorry for the noise.

Summary:
Add @since tags at stable (not tagged with @beta) `.eo` c#/c++ tests. Doing so,
eolian_enforce_since shouldn't accuse at stable tests.
Depends on D11264
Resolves T8600

Reviewers: zmike, segfaultxavi, woohyun, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8600

Differential Revision: https://phab.enlightenment.org/D11265
2020-02-05 17:15:33 +01:00
Marcel Hollerbach 534cd92c87 eolian: finally error on missing since tags
this is actaully usefull ... for people not forgetting things.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D11266
2020-02-05 16:31:01 +01:00
Marcel Hollerbach 4a81eb6468 eot files: fixup all since tags
these tags have been wrong. eolian does not allow anything < 1.22
2020-02-05 16:30:57 +01:00
Marcel Hollerbach 33681f8087 eolian: fix all remaining since errors
eolian checked for since tags that are invalid by its own rules. This is
now fixed.
2020-02-05 16:30:57 +01:00
Marcel Hollerbach e52d871859 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
2020-02-05 16:30:56 +01:00
Mike Blumenkrantz 27a7924ec6 efl/gesture: remove unused manager function
no functional changes

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11244
2020-02-05 10:11:05 +01:00
Mike Blumenkrantz 501063eb5c 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
2020-02-05 10:11:02 +01:00
Mike Blumenkrantz e002305e4b efl/gesture: free object gesture list in destructor
leak--

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11242
2020-02-05 10:10:59 +01:00
Mike Blumenkrantz 5ffa495a1b 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
2020-02-05 10:10:56 +01:00
Mike Blumenkrantz 02b721078a 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
2020-02-05 10:10:54 +01:00
Mike Blumenkrantz d8ed195916 tests/gesture: add second custom recognizer test
ensure that this functionality works

Differential Revision: https://phab.enlightenment.org/D11239
2020-02-05 10:10:53 +01:00
Mike Blumenkrantz cd5a15bf5c 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
2020-02-05 10:10:51 +01:00
Mike Blumenkrantz 6cc4fee1a4 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
2020-02-05 10:10:50 +01:00
Mike Blumenkrantz ca2cc5915d 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
2020-02-05 10:10:49 +01:00
Mike Blumenkrantz 2c8d7aa7c0 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
2020-02-05 10:10:46 +01:00
Mike Blumenkrantz f9dacb5811 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
2020-02-05 10:10:43 +01:00
Mike Blumenkrantz cd9b56b714 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
2020-02-05 10:10:40 +01:00
Mike Blumenkrantz 3011e5ed11 tests/gesture: add a 10-touch tap test
this tests the robustness of existing gesture recognizers

Differential Revision: https://phab.enlightenment.org/D11209
2020-02-05 10:10:38 +01:00
Mike Blumenkrantz 1320156e03 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
2020-02-05 10:10:37 +01:00
Mike Blumenkrantz d62e3f97ad 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
2020-02-05 10:10:34 +01:00
Mike Blumenkrantz c8ff8b1706 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
2020-02-05 10:10:31 +01:00
Mike Blumenkrantz 3612467c4f 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
2020-02-05 10:10:27 +01:00
Mike Blumenkrantz 17995ee710 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
2020-02-05 10:10:24 +01:00
Mike Blumenkrantz a29a59fa64 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
2020-02-05 10:10:21 +01:00
Mike Blumenkrantz 9691299c34 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
2020-02-05 10:10:18 +01:00
Mike Blumenkrantz 7444007fe7 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
2020-02-05 10:10:14 +01:00
Mike Blumenkrantz 159b73c0d8 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
2020-02-05 10:10:11 +01:00
Mike Blumenkrantz 54cb6e04d2 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
2020-02-05 10:10:08 +01:00
Mike Blumenkrantz 89e8cb912c 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
2020-02-05 10:10:05 +01:00
Mike Blumenkrantz f2347354f3 tests/gesture: add zoom and pinch tests
basic tests verifying completion of the gestures

Differential Revision: https://phab.enlightenment.org/D11170
2020-02-05 10:10:02 +01:00
Mike Blumenkrantz ff8e8fd5f8 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
2020-02-05 10:10:01 +01:00
Mike Blumenkrantz bf0fe4a800 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
2020-02-05 10:09:57 +01:00
Mike Blumenkrantz 0bb36d23e2 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
2020-02-05 10:09:55 +01:00
Mike Blumenkrantz f5e7625af8 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
2020-02-05 10:09:52 +01:00
Mike Blumenkrantz 5abe7f14d2 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
2020-02-05 10:09:51 +01:00
Mike Blumenkrantz 72bba1d837 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
2020-02-05 10:09:48 +01:00
Mike Blumenkrantz 12a064874e 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
2020-02-05 10:09:45 +01:00