From cf128d12b1c15187e77825938e7f99fc5ea80a2d Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Mon, 20 May 2024 19:23:27 +0900 Subject: [PATCH 01/11] fix coverity issue - unused value Change-Id: I5a3b5cacaa993b86f5381a7e8ad340cf0967c2ab --- src/efl_util.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/efl_util.c b/src/efl_util.c index 4821b39..14a4b7e 100644 --- a/src/efl_util.c +++ b/src/efl_util.c @@ -1472,8 +1472,7 @@ efl_util_input_generate_touch(efl_util_inputgen_h inputgen_h, int idx, EINA_SAFETY_ON_FALSE_RETURN_VAL(inputgen_h->init_type & EFL_UTIL_INPUT_DEVTYPE_TOUCHSCREEN, EFL_UTIL_ERROR_NO_SUCH_DEVICE); if (_eflutil.wl.devmgr.request_touch_count != 0 && - _eflutil.wl.devmgr.max_touch_count != _eflutil.wl.devmgr.request_touch_count && - (ret_dispatch != -1)) + _eflutil.wl.devmgr.max_touch_count != _eflutil.wl.devmgr.request_touch_count) ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue); if (idx >= _eflutil.wl.devmgr.max_touch_count) @@ -1498,7 +1497,6 @@ efl_util_input_generate_touch(efl_util_inputgen_h inputgen_h, int idx, tizen_input_device_manager_generate_touch(_eflutil.wl.devmgr.devicemgr, type, x, y, idx); - ret_dispatch = 0; while ((_eflutil.wl.devmgr.request_notified == -1) && (ret_dispatch != -1)) ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.queue); -- 2.7.4 From 8b4ae5634f7b9187d87bd8faa20f02e2a7211980 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Tue, 28 May 2024 17:47:57 +0900 Subject: [PATCH 02/11] unittest: Set env for unittest Change-Id: I778cee25f06641ba0b8cbfb9628d47657c51feb9 Signed-off-by: Junkyeong Kim --- packaging/run-unittest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/run-unittest.sh b/packaging/run-unittest.sh index 84fac83..7075f0c 100644 --- a/packaging/run-unittest.sh +++ b/packaging/run-unittest.sh @@ -1,4 +1,4 @@ #!/bin/sh pkill Oobe pkill inputmethod -/usr/bin/capi-ui-efl-util-unittests +"export EVAS_FONT_DPI=72; export WAYLAND_DISPLAY=wayland-0; export ECORE_INPUT_CANCEL=1; export ELM_ENGINE=wayland_egl; export USER=root; export ECORE_IMF_MODULE=wayland; export ELM_SCALE=1.8; export ECORE_IMF_INPUT_PANEL_ENABLED=1; export EVAS_GL_NO_BLACKLIST=1; export EVAS_GL_PARTIAL_MERGE=b; export ELM_PROFILE=common; export XDG_RUNTIME_DIR=/run; export ELM_DISPLAY=wl; /usr/bin/capi-ui-efl-util-unittests" -- 2.7.4 From 7ac22f89f8dcfb80eb2e84302dddf034700ffd1b Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Tue, 28 May 2024 17:49:00 +0900 Subject: [PATCH 03/11] Package version up to 0.7.29 Change-Id: I53bfc9e1ad576332e5de9e7ee40b27375fe85583 Signed-off-by: Junkyeong Kim --- packaging/capi-ui-efl-util.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/capi-ui-efl-util.spec b/packaging/capi-ui-efl-util.spec index 88dd9d7..0ff8f77 100644 --- a/packaging/capi-ui-efl-util.spec +++ b/packaging/capi-ui-efl-util.spec @@ -1,7 +1,7 @@ Name: capi-ui-efl-util Summary: An EFL utility library in Tizen C API -Version: 0.7.28 +Version: 0.7.29 Release: 1 Group: Graphics & UI Framework/API License: Apache-2.0 -- 2.7.4 From 451697a59d3063028799354b24ed11bb4ba88a9c Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Mon, 3 Jun 2024 13:45:49 +0900 Subject: [PATCH 04/11] unittest: Erase unnecessary env export The test machine do not support long command.(test failed) So erase unnecessary env export. Change-Id: I7be3e7b0b66b6410df462db03305ca4adfb5f2be Signed-off-by: Junkyeong Kim --- packaging/run-unittest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/run-unittest.sh b/packaging/run-unittest.sh index 7075f0c..c1f76d8 100644 --- a/packaging/run-unittest.sh +++ b/packaging/run-unittest.sh @@ -1,4 +1,4 @@ #!/bin/sh pkill Oobe pkill inputmethod -"export EVAS_FONT_DPI=72; export WAYLAND_DISPLAY=wayland-0; export ECORE_INPUT_CANCEL=1; export ELM_ENGINE=wayland_egl; export USER=root; export ECORE_IMF_MODULE=wayland; export ELM_SCALE=1.8; export ECORE_IMF_INPUT_PANEL_ENABLED=1; export EVAS_GL_NO_BLACKLIST=1; export EVAS_GL_PARTIAL_MERGE=b; export ELM_PROFILE=common; export XDG_RUNTIME_DIR=/run; export ELM_DISPLAY=wl; /usr/bin/capi-ui-efl-util-unittests" +"export ELM_PROFILE=common; export XDG_RUNTIME_DIR=/run; /usr/bin/capi-ui-efl-util-unittests" -- 2.7.4 From b219b7eda0340403be3d755fcccae959a3491749 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Mon, 3 Jun 2024 13:49:03 +0900 Subject: [PATCH 05/11] Package version up to 0.7.30 Change-Id: I47a0481e9504ee85d5b5c23f77c9d29fa6174bab Signed-off-by: Junkyeong Kim --- packaging/capi-ui-efl-util.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/capi-ui-efl-util.spec b/packaging/capi-ui-efl-util.spec index 0ff8f77..212aec6 100644 --- a/packaging/capi-ui-efl-util.spec +++ b/packaging/capi-ui-efl-util.spec @@ -1,7 +1,7 @@ Name: capi-ui-efl-util Summary: An EFL utility library in Tizen C API -Version: 0.7.29 +Version: 0.7.30 Release: 1 Group: Graphics & UI Framework/API License: Apache-2.0 -- 2.7.4 From 1c9b5643b7b9f6172893fc6120c0a1001ba287b5 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Mon, 10 Jun 2024 16:48:45 +0900 Subject: [PATCH 06/11] unittest: Erase double quotation marks Change-Id: Id0b54c52c667e98bc40d8608ae44cea91e191758 Signed-off-by: Junkyeong Kim --- packaging/run-unittest.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packaging/run-unittest.sh b/packaging/run-unittest.sh index c1f76d8..a791511 100644 --- a/packaging/run-unittest.sh +++ b/packaging/run-unittest.sh @@ -1,4 +1,6 @@ #!/bin/sh pkill Oobe pkill inputmethod -"export ELM_PROFILE=common; export XDG_RUNTIME_DIR=/run; /usr/bin/capi-ui-efl-util-unittests" +export ELM_PROFILE=common +export XDG_RUNTIME_DIR=/run +/usr/bin/capi-ui-efl-util-unittests -- 2.7.4 From 7bd6ad8389496a295e4db7e383fd510546f5c009 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Mon, 10 Jun 2024 16:49:40 +0900 Subject: [PATCH 07/11] Package version up to 0.7.31 Change-Id: Iee4831c5ed4252e9186757a547ca9c8f657d684e Signed-off-by: Junkyeong Kim --- packaging/capi-ui-efl-util.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/capi-ui-efl-util.spec b/packaging/capi-ui-efl-util.spec index 212aec6..457a6a0 100644 --- a/packaging/capi-ui-efl-util.spec +++ b/packaging/capi-ui-efl-util.spec @@ -1,7 +1,7 @@ Name: capi-ui-efl-util Summary: An EFL utility library in Tizen C API -Version: 0.7.30 +Version: 0.7.31 Release: 1 Group: Graphics & UI Framework/API License: Apache-2.0 -- 2.7.4 From d21a1a7203f6ada97c31c3f1fccbf2125734796b Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 30 May 2024 22:10:48 +0900 Subject: [PATCH 08/11] gesture: add APIs to register callback functions whan gesture events are triggered introduce new APIs that allow application to set up a callback function which gets executed when gesture events are detected. Change-Id: Ic740dd1031120e379bda19386bb08bf6fdbaf646 --- include/efl_util.h | 9 ++++ src/efl_util.c | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) diff --git a/include/efl_util.h b/include/efl_util.h index 5e15849..87daeef 100644 --- a/include/efl_util.h +++ b/include/efl_util.h @@ -972,6 +972,15 @@ API int efl_util_gesture_activate_set(efl_util_gesture_h gesture_h, unsigned int */ API int efl_util_gesture_activate_set_on_window(efl_util_gesture_h gesture_h, Evas_Object *window, unsigned int type, Eina_Bool active); +typedef void (*efl_util_gesture_edge_swipe_cb)(void *data, int mode, int fingers, int sx, int sy, int edge); +typedef void (*efl_util_gesture_edge_drag_cb)(void *data, int mode, int fingers, int cx, int cy, int edge); +typedef void (*efl_util_gesture_tap_cb)(void *data, int mode, int fingers, int repeats); +typedef void (*efl_util_gesture_palm_cover_cb)(void *data, int mode, int duration, int cx, int cy, int size, double pressure); + +API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_swipe_cb cb_func, void *cb_data); +API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_drag_cb cb_func, void *cb_data); +API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_tap_cb cb_func, void *cb_data); +API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_palm_cover_cb cb_func, void *cb_data); /** * @} */ diff --git a/src/efl_util.c b/src/efl_util.c index 14a4b7e..307ac3b 100644 --- a/src/efl_util.c +++ b/src/efl_util.c @@ -189,6 +189,11 @@ typedef struct _Efl_Util_Data_Default_Queue struct tizen_gesture *proto; int request_notified; int event_init; + efl_util_gesture_edge_swipe_cb edge_swipe_cb; + efl_util_gesture_edge_drag_cb edge_drag_cb; + efl_util_gesture_tap_cb tap_cb; + efl_util_gesture_palm_cover_cb palm_cover_cb; + void *data; } gesture; } wl; } Efl_Util_Data_Default_Queue; @@ -2496,12 +2501,14 @@ API int EFL_UTIL_EVENT_GESTURE_PALM_COVER = 0; static void _cb_gesture_edge_swipe_notify(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t fingers EINA_UNUSED, uint32_t edge EINA_UNUSED, uint32_t edge_size EINA_UNUSED, uint32_t start_point EINA_UNUSED, uint32_t end_point EINA_UNUSED, uint32_t error) { + LOGD(""); _eflutil_defaultqueue.wl.gesture.request_notified = error; } static void _cb_gesture_edge_swipe(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t mode, uint32_t fingers, int sx, int sy, uint32_t edge) { + LOGD(""); efl_util_event_gesture_edge_swipe_s *ev = NULL; ev = (efl_util_event_gesture_edge_swipe_s *)calloc(1, sizeof(*ev)); @@ -2515,17 +2522,25 @@ _cb_gesture_edge_swipe(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestu ev->edge = edge; ecore_event_add(EFL_UTIL_EVENT_GESTURE_EDGE_SWIPE, ev, NULL, NULL); + + if (_eflutil_defaultqueue.wl.gesture.edge_swipe_cb) + { + LOGD("edge_swipe_cb"); + _eflutil_defaultqueue.wl.gesture.edge_swipe_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, sx, sy, edge); + } } static void _cb_gesture_edge_drag_notify(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t fingers EINA_UNUSED, uint32_t edge EINA_UNUSED, uint32_t edge_size EINA_UNUSED, uint32_t start_point EINA_UNUSED, uint32_t end_point EINA_UNUSED, uint32_t error) { + LOGD(""); _eflutil_defaultqueue.wl.gesture.request_notified = error; } static void _cb_gesture_edge_drag(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t mode, uint32_t fingers, int cx, int cy, uint32_t edge) { + LOGD(""); efl_util_event_gesture_edge_drag_s *ev = NULL; ev = (efl_util_event_gesture_edge_drag_s *)calloc(1, sizeof(*ev)); @@ -2539,17 +2554,25 @@ _cb_gesture_edge_drag(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestur ev->edge = edge; ecore_event_add(EFL_UTIL_EVENT_GESTURE_EDGE_DRAG, ev, NULL, NULL); + + if (_eflutil_defaultqueue.wl.gesture.edge_drag_cb) + { + LOGD("edge_drag_cb"); + _eflutil_defaultqueue.wl.gesture.edge_drag_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, cx, cy, edge); + } } static void _cb_gesture_tap_notify(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t fingers EINA_UNUSED, uint32_t repeat EINA_UNUSED, uint32_t error) { + LOGD(""); _eflutil_defaultqueue.wl.gesture.request_notified = error; } static void _cb_gesture_tap(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, uint32_t mode, uint32_t fingers, uint32_t repeats) { + LOGD(""); efl_util_event_gesture_tap_s *ev = NULL; ev = (efl_util_event_gesture_tap_s *)calloc(1, sizeof(*ev)); @@ -2561,12 +2584,19 @@ _cb_gesture_tap(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA ev->repeats = repeats; ecore_event_add(EFL_UTIL_EVENT_GESTURE_TAP, ev, NULL, NULL); + + if (_eflutil_defaultqueue.wl.gesture.tap_cb) + { + LOGD("tap_cb"); + _eflutil_defaultqueue.wl.gesture.tap_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, repeats); + } } /* LCOV_EXCL_STOP */ static void _cb_gesture_palm_cover_notify(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, struct wl_surface *surface EINA_UNUSED, uint32_t error) { + LOGD(""); _eflutil_defaultqueue.wl.gesture.request_notified = error; } @@ -2574,6 +2604,7 @@ _cb_gesture_palm_cover_notify(void *data EINA_UNUSED, struct tizen_gesture *tize static void _cb_gesture_palm_cover(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, struct wl_surface *surface, uint32_t mode, uint32_t duration, int cx, int cy, uint32_t size, wl_fixed_t pressure) { + LOGD(""); efl_util_event_gesture_palm_cover_s *ev = NULL; ev = (efl_util_event_gesture_palm_cover_s *)calloc(1, sizeof(*ev)); @@ -2588,12 +2619,19 @@ _cb_gesture_palm_cover(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestu ev->pressure = wl_fixed_to_int(pressure); ecore_event_add(EFL_UTIL_EVENT_GESTURE_PALM_COVER, ev, NULL, NULL); + + if (_eflutil_defaultqueue.wl.gesture.palm_cover_cb) + { + LOGD("palm_cover_cb"); + _eflutil_defaultqueue.wl.gesture.palm_cover_cb(_eflutil_defaultqueue.wl.gesture.data, mode, duration, cx, cy, size, pressure); + } } /* LCOV_EXCL_STOP */ static void _cb_gesture_activate_notify(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA_UNUSED, struct wl_surface *surface EINA_UNUSED, uint32_t type EINA_UNUSED, uint32_t active EINA_UNUSED, uint32_t error) { + LOGD(""); _eflutil_defaultqueue.wl.gesture.request_notified = error; } @@ -2637,6 +2675,7 @@ _efl_util_gesture_verify_request_notified() static int _efl_util_gesture_grab_edge_swipe(efl_util_gesture_data data, Eina_Bool grabbed) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; Efl_Util_Gesture_Edge_Swipe_Grab_Data *edge_swipe_data = NULL; @@ -2674,6 +2713,7 @@ _efl_util_gesture_grab_edge_swipe(efl_util_gesture_data data, Eina_Bool grabbed) static int _efl_util_gesture_grab_edge_drag(efl_util_gesture_data data, Eina_Bool grabbed) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; Efl_Util_Gesture_Edge_Drag_Grab_Data *edge_drag_data = NULL; @@ -2711,6 +2751,7 @@ _efl_util_gesture_grab_edge_drag(efl_util_gesture_data data, Eina_Bool grabbed) static int _efl_util_gesture_grab_tap(efl_util_gesture_data data, Eina_Bool grabbed) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; Efl_Util_Gesture_Tap_Grab_Data *tap_data = NULL; @@ -2742,6 +2783,7 @@ _efl_util_gesture_grab_tap(efl_util_gesture_data data, Eina_Bool grabbed) static int _efl_util_gesture_grab_palm_cover(efl_util_gesture_data data, Eina_Bool grabbed) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; @@ -2766,6 +2808,7 @@ _efl_util_gesture_grab_palm_cover(efl_util_gesture_data data, Eina_Bool grabbed) API efl_util_gesture_h efl_util_gesture_initialize(void) { + LOGD(""); efl_util_gesture_h gesture_h = NULL; gesture_h = (efl_util_gesture_h)calloc(1, sizeof(struct _efl_util_gesture_h)); @@ -2816,6 +2859,7 @@ out: API int efl_util_gesture_deinitialize(efl_util_gesture_h gesture_h) { + LOGD(""); EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); @@ -2840,6 +2884,7 @@ efl_util_gesture_deinitialize(efl_util_gesture_h gesture_h) API efl_util_gesture_data efl_util_gesture_edge_swipe_new(efl_util_gesture_h gesture_h, unsigned int fingers, efl_util_gesture_edge_e edge) { + LOGD(""); Efl_Util_Gesture_Edge_Swipe_Grab_Data *data; if (!gesture_h || gesture_h->init == EINA_FALSE) @@ -2874,6 +2919,7 @@ efl_util_gesture_edge_swipe_new(efl_util_gesture_h gesture_h, unsigned int finge API int efl_util_gesture_edge_swipe_free(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); if (!gesture_h || gesture_h->init == EINA_FALSE) { return EFL_UTIL_ERROR_INVALID_PARAMETER; @@ -2893,6 +2939,7 @@ efl_util_gesture_edge_swipe_free(efl_util_gesture_h gesture_h, efl_util_gesture_ API int efl_util_gesture_edge_swipe_size_set(efl_util_gesture_data data, efl_util_gesture_edge_size_e edge_size, unsigned int start_point, unsigned int end_point) { + LOGD(""); Efl_Util_Gesture_Edge_Swipe_Grab_Data *edge_swipe_data = data; EINA_SAFETY_ON_NULL_RETURN_VAL(edge_swipe_data, EFL_UTIL_ERROR_INVALID_PARAMETER); @@ -2912,6 +2959,7 @@ efl_util_gesture_edge_swipe_size_set(efl_util_gesture_data data, efl_util_gestur API efl_util_gesture_data efl_util_gesture_edge_drag_new(efl_util_gesture_h gesture_h, unsigned int fingers, efl_util_gesture_edge_e edge) { + LOGD(""); Efl_Util_Gesture_Edge_Drag_Grab_Data *data; if (!gesture_h || gesture_h->init == EINA_FALSE) @@ -2946,6 +2994,7 @@ efl_util_gesture_edge_drag_new(efl_util_gesture_h gesture_h, unsigned int finger API int efl_util_gesture_edge_drag_free(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); if (!gesture_h || gesture_h->init == EINA_FALSE) { return EFL_UTIL_ERROR_INVALID_PARAMETER; @@ -2965,6 +3014,7 @@ efl_util_gesture_edge_drag_free(efl_util_gesture_h gesture_h, efl_util_gesture_d API int efl_util_gesture_edge_drag_size_set(efl_util_gesture_data data, efl_util_gesture_edge_size_e edge_size, unsigned int start_point, unsigned int end_point) { + LOGD(""); Efl_Util_Gesture_Edge_Drag_Grab_Data *edge_drag_data = data; EINA_SAFETY_ON_NULL_RETURN_VAL(edge_drag_data, EFL_UTIL_ERROR_INVALID_PARAMETER); @@ -2984,6 +3034,7 @@ efl_util_gesture_edge_drag_size_set(efl_util_gesture_data data, efl_util_gesture API efl_util_gesture_data efl_util_gesture_tap_new(efl_util_gesture_h gesture_h, unsigned int fingers, unsigned int repeats) { + LOGD(""); Efl_Util_Gesture_Tap_Grab_Data *data; if (!gesture_h || gesture_h->init == EINA_FALSE) @@ -3017,6 +3068,7 @@ efl_util_gesture_tap_new(efl_util_gesture_h gesture_h, unsigned int fingers, uns API int efl_util_gesture_tap_free(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); if (!gesture_h || gesture_h->init == EINA_FALSE) { return EFL_UTIL_ERROR_INVALID_PARAMETER; @@ -3036,6 +3088,7 @@ efl_util_gesture_tap_free(efl_util_gesture_h gesture_h, efl_util_gesture_data da API efl_util_gesture_data efl_util_gesture_palm_cover_new(efl_util_gesture_h gesture_h) { + LOGD(""); Efl_Util_Gesture_Palm_Cover_Grab_Data *data; if (!gesture_h || gesture_h->init == EINA_FALSE) @@ -3061,6 +3114,7 @@ efl_util_gesture_palm_cover_new(efl_util_gesture_h gesture_h) API int efl_util_gesture_palm_cover_free(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); if (!gesture_h || gesture_h->init == EINA_FALSE) { return EFL_UTIL_ERROR_INVALID_PARAMETER; @@ -3081,6 +3135,7 @@ efl_util_gesture_palm_cover_free(efl_util_gesture_h gesture_h, efl_util_gesture_ API int efl_util_gesture_grab(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; @@ -3114,6 +3169,7 @@ efl_util_gesture_grab(efl_util_gesture_h gesture_h, efl_util_gesture_data data) API int efl_util_gesture_ungrab(efl_util_gesture_h gesture_h, efl_util_gesture_data data) { + LOGD(""); int ret = EFL_UTIL_ERROR_NONE; Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; @@ -3148,6 +3204,7 @@ efl_util_gesture_ungrab(efl_util_gesture_h gesture_h, efl_util_gesture_data data API int efl_util_gesture_select(efl_util_gesture_h gesture_h, Evas_Object *window, efl_util_gesture_data data) { + LOGD(""); Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; Ecore_Wl2_Window *wlwin; struct wl_surface *surface; @@ -3180,6 +3237,7 @@ efl_util_gesture_select(efl_util_gesture_h gesture_h, Evas_Object *window, efl_u API int efl_util_gesture_deselect(efl_util_gesture_h gesture_h, Evas_Object *window, efl_util_gesture_data data) { + LOGD(""); Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; Ecore_Wl2_Window *wlwin; struct wl_surface *surface; @@ -3213,6 +3271,7 @@ efl_util_gesture_deselect(efl_util_gesture_h gesture_h, Evas_Object *window, efl API int efl_util_gesture_activate_set(efl_util_gesture_h gesture_h, unsigned int type, Eina_Bool active) { + LOGD(""); int ret; EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); @@ -3230,6 +3289,7 @@ efl_util_gesture_activate_set(efl_util_gesture_h gesture_h, unsigned int type, E API int efl_util_gesture_activate_set_on_window(efl_util_gesture_h gesture_h, Evas_Object *window, unsigned int type, Eina_Bool active) { + LOGD(""); Ecore_Wl2_Window *wlwin; struct wl_surface *surface; int ret; @@ -3252,3 +3312,82 @@ efl_util_gesture_activate_set_on_window(efl_util_gesture_h gesture_h, Evas_Objec return ret; } + +API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_swipe_cb cb_func, void *cb_data) +{ + LOGD(""); + int ret = EFL_UTIL_ERROR_NONE; + Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; + + base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; + + EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_EDGE_SWIPE, + EFL_UTIL_ERROR_INVALID_PARAMETER); + + _eflutil_defaultqueue.wl.gesture.edge_swipe_cb = cb_func; + _eflutil_defaultqueue.wl.gesture.data = cb_data; + + return ret; +} +API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_drag_cb cb_func, void *cb_data) +{ + LOGD(""); + int ret = EFL_UTIL_ERROR_NONE; + Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; + + base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; + + EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_EDGE_DRAG, + EFL_UTIL_ERROR_INVALID_PARAMETER); + + _eflutil_defaultqueue.wl.gesture.edge_drag_cb = cb_func; + _eflutil_defaultqueue.wl.gesture.data = cb_data; + + return ret; +} +API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_tap_cb cb_func, void *cb_data) +{ + LOGD(""); + int ret = EFL_UTIL_ERROR_NONE; + Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; + + base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; + + EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_TAP, + EFL_UTIL_ERROR_INVALID_PARAMETER); + + _eflutil_defaultqueue.wl.gesture.tap_cb = cb_func; + _eflutil_defaultqueue.wl.gesture.data = cb_data; + + return ret; +} + + +API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_palm_cover_cb cb_func, void *cb_data) +{ + LOGD(""); + int ret = EFL_UTIL_ERROR_NONE; + Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; + + base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; + + EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); + EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_PALM_COVER, + EFL_UTIL_ERROR_INVALID_PARAMETER); + + _eflutil_defaultqueue.wl.gesture.palm_cover_cb = cb_func; + _eflutil_defaultqueue.wl.gesture.data = cb_data; + + return ret; +} \ No newline at end of file -- 2.7.4 From e82fb39480a2bf50c49f0e92f8f27e4104638ccc Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 11 Jul 2024 16:43:26 +0900 Subject: [PATCH 09/11] gesture: Improve gesture handle callback function arguments clarity Since Callback function belongs to the gesture handle, not the gesture data, remove the gesture data from the argument list. Additionally, fix user data handling. Change-Id: If3cc33292b871423bab263f23c96906f9ce1a606 --- include/efl_util.h | 51 ++++++++++++++++++++++++-- src/efl_util.c | 106 ++++++++++++++++++++++------------------------------- 2 files changed, 90 insertions(+), 67 deletions(-) diff --git a/include/efl_util.h b/include/efl_util.h index 87daeef..2c1edc3 100644 --- a/include/efl_util.h +++ b/include/efl_util.h @@ -977,10 +977,53 @@ typedef void (*efl_util_gesture_edge_drag_cb)(void *data, int mode, int fingers, typedef void (*efl_util_gesture_tap_cb)(void *data, int mode, int fingers, int repeats); typedef void (*efl_util_gesture_palm_cover_cb)(void *data, int mode, int duration, int cx, int cy, int size, double pressure); -API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_swipe_cb cb_func, void *cb_data); -API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_drag_cb cb_func, void *cb_data); -API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_tap_cb cb_func, void *cb_data); -API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_palm_cover_cb cb_func, void *cb_data); +/** + * @brief Set edge swipe gesture callback function of given efl util gesture handle + * @since_tizen 7.0 + * @param[in] gesture_h The #efl_util_gesture_h handle + * @param[in] cb_func The callback function pointer + * @param[in] data The data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #EFL_UTIL_ERROR_NONE Successful + * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter + */ +API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_edge_swipe_cb cb_func, void *data); + +/** + * @brief Set edge drag gesture callback function of given efl util gesture handle + * @since_tizen 7.0 + * @param[in] gesture_h The #efl_util_gesture_h handle + * @param[in] cb_func The callback function pointer + * @param[in] data The data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #EFL_UTIL_ERROR_NONE Successful + * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter + */ +API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_edge_drag_cb cb_func, void *data); + +/** + * @brief Set tap gesture callback function of given efl util gesture handle + * @since_tizen 7.0 + * @param[in] gesture_h The #efl_util_gesture_h handle + * @param[in] cb_func The callback function pointer + * @param[in] data The data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #EFL_UTIL_ERROR_NONE Successful + * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter + */ +API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_tap_cb cb_func, void *data); + +/** + * @brief Set palm cover gesture callback function of given efl util gesture handle + * @since_tizen 7.0 + * @param[in] gesture_h The #efl_util_gesture_h handle + * @param[in] cb_func The callback function pointer + * @param[in] data The data to be passed to the callback function + * @return @c 0 on success, otherwise a negative error value + * @retval #EFL_UTIL_ERROR_NONE Successful + * @retval #EFL_UTIL_ERROR_INVALID_PARAMETER Invalid parameter + */ +API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_palm_cover_cb cb_func, void *data); /** * @} */ diff --git a/src/efl_util.c b/src/efl_util.c index 307ac3b..3b94f1f 100644 --- a/src/efl_util.c +++ b/src/efl_util.c @@ -189,11 +189,26 @@ typedef struct _Efl_Util_Data_Default_Queue struct tizen_gesture *proto; int request_notified; int event_init; - efl_util_gesture_edge_swipe_cb edge_swipe_cb; - efl_util_gesture_edge_drag_cb edge_drag_cb; - efl_util_gesture_tap_cb tap_cb; - efl_util_gesture_palm_cover_cb palm_cover_cb; - void *data; + struct + { + efl_util_gesture_edge_swipe_cb func; + void *data; + } edge_swipe_cb; + struct + { + efl_util_gesture_edge_drag_cb func; + void *data; + } edge_drag_cb; + struct + { + efl_util_gesture_tap_cb func; + void *data; + } tap_cb; + struct + { + efl_util_gesture_palm_cover_cb func; + void *data; + } palm_cover_cb; } gesture; } wl; } Efl_Util_Data_Default_Queue; @@ -2523,11 +2538,8 @@ _cb_gesture_edge_swipe(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestu ecore_event_add(EFL_UTIL_EVENT_GESTURE_EDGE_SWIPE, ev, NULL, NULL); - if (_eflutil_defaultqueue.wl.gesture.edge_swipe_cb) - { - LOGD("edge_swipe_cb"); - _eflutil_defaultqueue.wl.gesture.edge_swipe_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, sx, sy, edge); - } + if (_eflutil_defaultqueue.wl.gesture.edge_swipe_cb.func) + _eflutil_defaultqueue.wl.gesture.edge_swipe_cb.func(_eflutil_defaultqueue.wl.gesture.edge_swipe_cb.data, mode, fingers, sx, sy, edge); } static void @@ -2555,11 +2567,8 @@ _cb_gesture_edge_drag(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestur ecore_event_add(EFL_UTIL_EVENT_GESTURE_EDGE_DRAG, ev, NULL, NULL); - if (_eflutil_defaultqueue.wl.gesture.edge_drag_cb) - { - LOGD("edge_drag_cb"); - _eflutil_defaultqueue.wl.gesture.edge_drag_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, cx, cy, edge); - } + if (_eflutil_defaultqueue.wl.gesture.edge_drag_cb.func) + _eflutil_defaultqueue.wl.gesture.edge_drag_cb.func(_eflutil_defaultqueue.wl.gesture.edge_drag_cb.data, mode, fingers, cx, cy, edge); } static void @@ -2585,11 +2594,8 @@ _cb_gesture_tap(void *data EINA_UNUSED, struct tizen_gesture *tizen_gesture EINA ecore_event_add(EFL_UTIL_EVENT_GESTURE_TAP, ev, NULL, NULL); - if (_eflutil_defaultqueue.wl.gesture.tap_cb) - { - LOGD("tap_cb"); - _eflutil_defaultqueue.wl.gesture.tap_cb(_eflutil_defaultqueue.wl.gesture.data, mode, fingers, repeats); - } + if (_eflutil_defaultqueue.wl.gesture.tap_cb.func) + _eflutil_defaultqueue.wl.gesture.tap_cb.func(_eflutil_defaultqueue.wl.gesture.tap_cb.data, mode, fingers, repeats); } /* LCOV_EXCL_STOP */ @@ -2620,11 +2626,8 @@ _cb_gesture_palm_cover(void *data EINA_UNUSED, struct tizen_gesture *tizen_gestu ecore_event_add(EFL_UTIL_EVENT_GESTURE_PALM_COVER, ev, NULL, NULL); - if (_eflutil_defaultqueue.wl.gesture.palm_cover_cb) - { - LOGD("palm_cover_cb"); - _eflutil_defaultqueue.wl.gesture.palm_cover_cb(_eflutil_defaultqueue.wl.gesture.data, mode, duration, cx, cy, size, pressure); - } + if (_eflutil_defaultqueue.wl.gesture.palm_cover_cb.func) + _eflutil_defaultqueue.wl.gesture.palm_cover_cb.func(_eflutil_defaultqueue.wl.gesture.palm_cover_cb.data, mode, duration, cx, cy, size, pressure); } /* LCOV_EXCL_STOP */ @@ -3313,81 +3316,58 @@ efl_util_gesture_activate_set_on_window(efl_util_gesture_h gesture_h, Evas_Objec return ret; } -API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_swipe_cb cb_func, void *cb_data) +API int efl_util_gesture_edge_swipe_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_edge_swipe_cb cb_func, void *data) { LOGD(""); int ret = EFL_UTIL_ERROR_NONE; - Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; - - base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_EDGE_SWIPE, - EFL_UTIL_ERROR_INVALID_PARAMETER); - _eflutil_defaultqueue.wl.gesture.edge_swipe_cb = cb_func; - _eflutil_defaultqueue.wl.gesture.data = cb_data; + _eflutil_defaultqueue.wl.gesture.edge_swipe_cb.func = cb_func; + _eflutil_defaultqueue.wl.gesture.edge_swipe_cb.data = data; return ret; } -API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_edge_drag_cb cb_func, void *cb_data) + +API int efl_util_gesture_edge_drag_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_edge_drag_cb cb_func, void *data) { LOGD(""); int ret = EFL_UTIL_ERROR_NONE; - Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; - - base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_EDGE_DRAG, - EFL_UTIL_ERROR_INVALID_PARAMETER); - _eflutil_defaultqueue.wl.gesture.edge_drag_cb = cb_func; - _eflutil_defaultqueue.wl.gesture.data = cb_data; + _eflutil_defaultqueue.wl.gesture.edge_drag_cb.func = cb_func; + _eflutil_defaultqueue.wl.gesture.edge_drag_cb.data = data; return ret; } -API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_tap_cb cb_func, void *cb_data) + +API int efl_util_gesture_tap_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_tap_cb cb_func, void *data) { LOGD(""); int ret = EFL_UTIL_ERROR_NONE; - Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; - - base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_TAP, - EFL_UTIL_ERROR_INVALID_PARAMETER); - _eflutil_defaultqueue.wl.gesture.tap_cb = cb_func; - _eflutil_defaultqueue.wl.gesture.data = cb_data; + _eflutil_defaultqueue.wl.gesture.tap_cb.func = cb_func; + _eflutil_defaultqueue.wl.gesture.tap_cb.data = data; return ret; } - -API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_palm_cover_cb cb_func, void *cb_data) +API int efl_util_gesture_palm_cover_cb_set(efl_util_gesture_h gesture_h, efl_util_gesture_palm_cover_cb cb_func, void *data) { LOGD(""); int ret = EFL_UTIL_ERROR_NONE; - Efl_Util_Gesture_Common_Grab_Data *base_data = NULL; - - base_data = (Efl_Util_Gesture_Common_Grab_Data *)data; EINA_SAFETY_ON_NULL_RETURN_VAL(gesture_h, EFL_UTIL_ERROR_INVALID_PARAMETER); EINA_SAFETY_ON_FALSE_RETURN_VAL(gesture_h->init, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_NULL_RETURN_VAL(base_data, EFL_UTIL_ERROR_INVALID_PARAMETER); - EINA_SAFETY_ON_FALSE_RETURN_VAL(base_data->type == TIZEN_GESTURE_TYPE_PALM_COVER, - EFL_UTIL_ERROR_INVALID_PARAMETER); - _eflutil_defaultqueue.wl.gesture.palm_cover_cb = cb_func; - _eflutil_defaultqueue.wl.gesture.data = cb_data; + _eflutil_defaultqueue.wl.gesture.palm_cover_cb.func = cb_func; + _eflutil_defaultqueue.wl.gesture.palm_cover_cb.data = data; return ret; -} \ No newline at end of file +} -- 2.7.4 From 6046af61f67f10c18ddc2a82b6bcac6d51b0a215 Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 11 Jul 2024 17:56:17 +0900 Subject: [PATCH 10/11] test: add gesture_grab, edge_swipe_cb_set etc. Change-Id: I7e41e57e8a6eb64e73f13ee5859f5597571de760 --- test/tc-efl-util.cpp | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) diff --git a/test/tc-efl-util.cpp b/test/tc-efl-util.cpp index ff0d12b..82011b8 100644 --- a/test/tc-efl-util.cpp +++ b/test/tc-efl-util.cpp @@ -2022,3 +2022,192 @@ TEST_F(EFLUtil, gesture_activate_set_on_window_n3) ret = efl_util_gesture_deinitialize(h_gesture); EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); } + +TEST_F(EFLUtil, gesture_grab) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_gesture_h h_gesture = NULL; + efl_util_gesture_data d_edge_swipe = NULL; + + h_gesture = efl_util_gesture_initialize(); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(h_gesture, nullptr); + + d_edge_swipe = efl_util_gesture_edge_swipe_new(h_gesture, 1, EFL_UTIL_GESTURE_EDGE_TOP); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(d_edge_swipe, nullptr); + + ret = efl_util_gesture_grab(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_ungrab(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_edge_swipe_free(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_deinitialize(h_gesture); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} + +static void +cb_edge_swipe_gesture(void *data, int mode, int fingers, int sx, int sy, int edge) +{ +// +} + +TEST_F(EFLUtil, gesture_edge_swipe_cb_set) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_gesture_h h_gesture = NULL; + efl_util_gesture_data d_edge_swipe = NULL; + int flag = 0; + + h_gesture = efl_util_gesture_initialize(); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(h_gesture, nullptr); + + d_edge_swipe = efl_util_gesture_edge_swipe_new(h_gesture, 1, EFL_UTIL_GESTURE_EDGE_TOP); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(d_edge_swipe, nullptr); + + ret = efl_util_gesture_grab(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_edge_swipe_cb_set(h_gesture, cb_edge_swipe_gesture, &flag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + // EXPECT_EQ(flag, 1); + + ret = efl_util_gesture_ungrab(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_edge_swipe_free(h_gesture, d_edge_swipe); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_deinitialize(h_gesture); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} + +static void +cb_edge_drag_gesture(void *data, int mode, int fingers, int cx, int cy, int edge) +{ +// +} + +TEST_F(EFLUtil, gesture_edge_drag_cb_set) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_gesture_h h_gesture = NULL; + efl_util_gesture_data d_edge_drag = NULL; + int flag = 0; + + h_gesture = efl_util_gesture_initialize(); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(h_gesture, nullptr); + + d_edge_drag = efl_util_gesture_edge_drag_new(h_gesture, 1, EFL_UTIL_GESTURE_EDGE_TOP); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(d_edge_drag, nullptr); + + ret = efl_util_gesture_grab(h_gesture, d_edge_drag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_edge_drag_cb_set(h_gesture, cb_edge_drag_gesture, &flag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + // EXPECT_EQ(flag, 1); + + ret = efl_util_gesture_ungrab(h_gesture, d_edge_drag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_edge_drag_free(h_gesture, d_edge_drag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_deinitialize(h_gesture); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} + +static void +cb_tap_gesture(void *data, int mode, int fingers, int repeats) +{ +// +} + +TEST_F(EFLUtil, gesture_tap_cb_set) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_gesture_h h_gesture = NULL; + efl_util_gesture_data d_tap = NULL; + int flag = 0; + + h_gesture = efl_util_gesture_initialize(); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(h_gesture, nullptr); + + d_tap = efl_util_gesture_tap_new(h_gesture, 2, 2); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(d_tap, nullptr); + + ret = efl_util_gesture_grab(h_gesture, d_tap); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_tap_cb_set(h_gesture, cb_tap_gesture, &flag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + // EXPECT_EQ(flag, 1); + + ret = efl_util_gesture_ungrab(h_gesture, d_tap); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_tap_free(h_gesture, d_tap); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_deinitialize(h_gesture); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} + +static void +cb_palm_cover_gesture(void *data, int mode, int duration, int cx, int cy, int size, double pressure) +{ +// +} + +TEST_F(EFLUtil, gesture_palm_cover_cb_set) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_gesture_h h_gesture = NULL; + efl_util_gesture_data d_palm_cover = NULL; + int flag = 0; + + h_gesture = efl_util_gesture_initialize(); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(h_gesture, nullptr); + + d_palm_cover = efl_util_gesture_palm_cover_new(h_gesture); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(d_palm_cover, nullptr); + + ret = efl_util_gesture_grab(h_gesture, d_palm_cover); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_palm_cover_cb_set(h_gesture, cb_palm_cover_gesture, &flag); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + // EXPECT_EQ(flag, 1); + + ret = efl_util_gesture_ungrab(h_gesture, d_palm_cover); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_palm_cover_free(h_gesture, d_palm_cover); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_gesture_deinitialize(h_gesture); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} -- 2.7.4 From 1a3dad23177ad4669ad4569de501dbf536a5a61f Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Thu, 11 Jul 2024 18:00:03 +0900 Subject: [PATCH 11/11] Package version up to 0.7.32 Change-Id: I2bc6725d47d62a3505a8710616d10471a4eca969 --- packaging/capi-ui-efl-util.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/capi-ui-efl-util.spec b/packaging/capi-ui-efl-util.spec index 457a6a0..597e0bd 100644 --- a/packaging/capi-ui-efl-util.spec +++ b/packaging/capi-ui-efl-util.spec @@ -1,7 +1,7 @@ Name: capi-ui-efl-util Summary: An EFL utility library in Tizen C API -Version: 0.7.31 +Version: 0.7.32 Release: 1 Group: Graphics & UI Framework/API License: Apache-2.0 -- 2.7.4