Commit Graph

15 Commits

Author SHA1 Message Date
Mike Blumenkrantz 9d03062ce4 efl/gesture: remove 'gesture' member from recognizer data struct
Summary:
this was never used

ref T8503

Depends on D11177

Reviewers: CHAN, bu5hm4n, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8503

Differential Revision: https://phab.enlightenment.org/D11178
2020-01-27 11:22:33 +01:00
Mike Blumenkrantz bf36c03a7a efl/gesture: remove 'manager' member from recognizer data struct
this can be fetched using efl_provider_find from the recognizer

ref T8503

Differential Revision: https://phab.enlightenment.org/D11177
2020-01-24 14:22:29 -05:00
Mike Blumenkrantz 37d48f4870 efl/gesture: remove 'config' property from recognizers
this is a manager functionality, and recognizers are always child objects of
managers

ref T8503

Differential Revision: https://phab.enlightenment.org/D11176
2020-01-24 14:22:21 -05:00
Mike Blumenkrantz cf7c1b22f9 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

Differential Revision: https://phab.enlightenment.org/D11173
2020-01-24 14:17:53 -05:00
Mike Blumenkrantz 9915b34c46 efl/gesture: break out _direction_get() into helper function
this is useful in multiple places, no functional changes

Differential Revision: https://phab.enlightenment.org/D11164
2020-01-23 15:25:45 -05:00
Mike Blumenkrantz b884e76c7f 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

Differential Revision: https://phab.enlightenment.org/D11126
2020-01-23 15:25:08 -05:00
Mike Blumenkrantz 8870ca45e2 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

Differential Revision: https://phab.enlightenment.org/D11087
2020-01-23 15:24:42 -05:00
Mike Blumenkrantz 5741ed6d0a 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

Differential Revision: https://phab.enlightenment.org/D11086
2020-01-23 15:24:36 -05:00
Mike Blumenkrantz 07b1e4c201 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

Differential Revision: https://phab.enlightenment.org/D11085
2020-01-23 15:24:30 -05:00
Jaehyun Cho 914fa2fd7c efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events
Summary:
Since the current Efl.Gesture.Events has canvas gesture events only,
Efl.Gesture.Events should be renamed to Efl.Canvas.Gesture_Events.

If other types of gesture events are newlly required later, which are
not based on canvas, then class Efl.XXX.Gesture_Events is required to
be introduced.

Reviewers: CHAN, segfaultxavi, bu5hm4n, zmike

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11073
2020-01-13 14:31:15 +01:00
Cedric Bail 7dc98ab3d0 evas: move efl_input_device into evas/Efl_Canvas.h
Summary:
The internal and the API we would like is mostly a canvas API. A lot of the code
in evas is working around the fact that efl_input_device is not defined inside Evas.
This patch is the first step to try to clean this up.

Depends on D10487

Reviewers: zmike, raster, bu5hm4n, Hermet

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8321

Differential Revision: https://phab.enlightenment.org/D10488
2019-10-31 13:29:56 -04:00
Woochanlee 7ecc1815ba efl_gesture_manager: Delete type property.
Summary:
User already know the gesture type.
And the gesture type(Efl.Event.Description) can't using after binding.

T7959

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7959

Differential Revision: https://phab.enlightenment.org/D9033
2019-06-05 20:31:41 +09:00
Mike Blumenkrantz 029b20fa82 efl/gesture: include .h file in private header, not .c file
Summary:
a generated eolian c file cannot be included multiple times or else it will
create multiple definitions of symbols defined in that file and break the build

ref 54175998d5
fix T7960

Reviewers: devilhorns, vtorri

Reviewed By: vtorri

Subscribers: cedric, #reviewers, #committers

Tags: #efl_build

Maniphest Tasks: T7960

Differential Revision: https://phab.enlightenment.org/D8945
2019-05-23 13:55:50 -04:00
Woochanlee 54175998d5 Gesture Manager: Add gestures and fix gesture managing, recognizer logic.
Summary:
https://phab.enlightenment.org/T7544

Provides a way for a user to get a gesture manager, recognizer instance.

Supports different recognizer properties for each target(Eo).

Gesture, Touch Class Life-cycle re-implementation. for supporting multiple touches.

Add below gestures.
efl_canvas_gesture_tap
efl_canvas_gesture_double_tap
efl_canvas_gesture_triple_tap
efl_canvas_gesture_long_tap
efl_canvas_gesture_momentum
efl_canvas_gesture_zoom
efl_canvas_gesture_flick

Test Plan:
Simple test -> test_gesture_framework.c
More test cases will upload.

Reviewers: woohyun, smohanty, segfaultxavi, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: Jaehyun_Cho, segfaultxavi, cedric

Tags: #efl, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D7579
2019-05-14 16:37:20 +09:00
Mike Blumenkrantz bbbdfbecc4 Efl.Gesture: rename to Efl.Canvas.Gesture
most C api remains unchanged

ref T6714
ref T6716
2018-02-21 14:43:37 -05:00