From: duna.oh Date: Thu, 11 Jul 2024 07:43:26 +0000 (+0900) Subject: gesture: Improve gesture handle callback function arguments clarity X-Git-Tag: accepted/tizen/7.0/unified/20240712.013109~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1bf3331b5e8aa358e4690266c9beb79f3d8d7472;p=platform%2Fcore%2Fapi%2Fefl-util.git 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 --- diff --git a/include/efl_util.h b/include/efl_util.h index e3305c1..0f6d00c 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 3f92dec..07b5d50 100644 --- a/src/efl_util.c +++ b/src/efl_util.c @@ -185,11 +185,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; @@ -2490,11 +2505,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 @@ -2522,11 +2534,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 @@ -2552,11 +2561,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 */ @@ -2587,11 +2593,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 */ @@ -3280,81 +3283,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 +}