typedef struct _Efl_Util_Gesture_Common_Grab_Data
{
int type;
+ efl_util_gesture_grab_mode_e mode;
} Efl_Util_Gesture_Common_Grab_Data;
typedef struct _Efl_Util_Gesture_Edge_Swipe_Grab_Data
}
static int
-_efl_util_gesture_grab_edge_swipe(efl_util_gesture_data data, Eina_Bool grabbed)
+_efl_util_gesture_grab_edge_swipe(efl_util_gesture_data data, Eina_Bool grabbed, efl_util_gesture_grab_mode_e mode)
{
LOGD("");
int ret = EFL_UTIL_ERROR_NONE;
end_point = edge_swipe_data->end_point;
if (grabbed)
- tizen_gesture_grab_edge_swipe(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ {
+ if (mode == EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+ tizen_gesture_shared_grab_edge_swipe(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ else
+ tizen_gesture_grab_edge_swipe(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ }
else
- tizen_gesture_ungrab_edge_swipe(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ tizen_gesture_ungrab_edge_swipe(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
ret = _efl_util_gesture_verify_request_notified();
}
static int
-_efl_util_gesture_grab_edge_drag(efl_util_gesture_data data, Eina_Bool grabbed)
+_efl_util_gesture_grab_edge_drag(efl_util_gesture_data data, Eina_Bool grabbed, efl_util_gesture_grab_mode_e mode)
{
LOGD("");
int ret = EFL_UTIL_ERROR_NONE;
end_point = edge_drag_data->end_point;
if (grabbed)
- tizen_gesture_grab_edge_drag(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ {
+ if (mode == EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+ tizen_gesture_shared_grab_edge_drag(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ else
+ tizen_gesture_grab_edge_drag(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ }
else
- tizen_gesture_ungrab_edge_drag(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
+ tizen_gesture_ungrab_edge_drag(_eflutil_defaultqueue.wl.gesture.proto, fingers, edge, edge_size, start_point, end_point);
ret = _efl_util_gesture_verify_request_notified();
}
static int
-_efl_util_gesture_grab_tap(efl_util_gesture_data data, Eina_Bool grabbed)
+_efl_util_gesture_grab_tap(efl_util_gesture_data data, Eina_Bool grabbed, efl_util_gesture_grab_mode_e mode)
{
LOGD("");
int ret = EFL_UTIL_ERROR_NONE;
repeats = tap_data->repeats;
if (grabbed)
- tizen_gesture_grab_tap(_eflutil_defaultqueue.wl.gesture.proto, fingers, repeats);
+ {
+ if (mode == EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+ tizen_gesture_shared_grab_tap(_eflutil_defaultqueue.wl.gesture.proto, fingers, repeats);
+ else
+ tizen_gesture_grab_tap(_eflutil_defaultqueue.wl.gesture.proto, fingers, repeats);
+ }
else
- tizen_gesture_ungrab_tap(_eflutil_defaultqueue.wl.gesture.proto, fingers, repeats);
+ tizen_gesture_ungrab_tap(_eflutil_defaultqueue.wl.gesture.proto, fingers, repeats);
ret = _efl_util_gesture_verify_request_notified();
}
static int
-_efl_util_gesture_grab_palm_cover(efl_util_gesture_data data, Eina_Bool grabbed)
+_efl_util_gesture_grab_palm_cover(efl_util_gesture_data data, Eina_Bool grabbed, efl_util_gesture_grab_mode_e mode)
{
LOGD("");
int ret = EFL_UTIL_ERROR_NONE;
EFL_UTIL_ERROR_INVALID_PARAMETER);
if (grabbed)
- tizen_gesture_grab_palm_cover(_eflutil_defaultqueue.wl.gesture.proto);
+ {
+ if (mode == EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+ tizen_gesture_shared_grab_palm_cover(_eflutil_defaultqueue.wl.gesture.proto);
+ else
+ tizen_gesture_grab_palm_cover(_eflutil_defaultqueue.wl.gesture.proto);
+ }
else
- tizen_gesture_ungrab_palm_cover(_eflutil_defaultqueue.wl.gesture.proto);
+ tizen_gesture_ungrab_palm_cover(_eflutil_defaultqueue.wl.gesture.proto);
ret = _efl_util_gesture_verify_request_notified();
switch (base_data->type)
{
- case TIZEN_GESTURE_TYPE_EDGE_SWIPE:
- ret = _efl_util_gesture_grab_edge_swipe(data, EINA_TRUE);
- break;
- case TIZEN_GESTURE_TYPE_EDGE_DRAG:
- ret = _efl_util_gesture_grab_edge_drag(data, EINA_TRUE);
- break;
- case TIZEN_GESTURE_TYPE_TAP:
- ret = _efl_util_gesture_grab_tap(data, EINA_TRUE);
- break;
- case TIZEN_GESTURE_TYPE_PALM_COVER:
- ret = _efl_util_gesture_grab_palm_cover(data, EINA_TRUE);
- break;
- default:
- return EFL_UTIL_ERROR_INVALID_PARAMETER;
+ case TIZEN_GESTURE_TYPE_EDGE_SWIPE:
+ ret = _efl_util_gesture_grab_edge_swipe(data, EINA_TRUE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_EDGE_DRAG:
+ ret = _efl_util_gesture_grab_edge_drag(data, EINA_TRUE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_TAP:
+ ret = _efl_util_gesture_grab_tap(data, EINA_TRUE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_PALM_COVER:
+ ret = _efl_util_gesture_grab_palm_cover(data, EINA_TRUE, base_data->mode);
+ break;
+ default:
+ ret = EFL_UTIL_ERROR_INVALID_PARAMETER;
}
return ret;
switch (base_data->type)
{
- case TIZEN_GESTURE_TYPE_EDGE_SWIPE:
- ret = _efl_util_gesture_grab_edge_swipe(data, EINA_FALSE);
- break;
- case TIZEN_GESTURE_TYPE_EDGE_DRAG:
- ret = _efl_util_gesture_grab_edge_drag(data, EINA_FALSE);
- break;
- case TIZEN_GESTURE_TYPE_TAP:
- ret = _efl_util_gesture_grab_tap(data, EINA_FALSE);
- break;
- case TIZEN_GESTURE_TYPE_PALM_COVER:
- ret = _efl_util_gesture_grab_palm_cover(data, EINA_FALSE);
- break;
- default:
- return EFL_UTIL_ERROR_INVALID_PARAMETER;
+ case TIZEN_GESTURE_TYPE_EDGE_SWIPE:
+ ret = _efl_util_gesture_grab_edge_swipe(data, EINA_FALSE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_EDGE_DRAG:
+ ret = _efl_util_gesture_grab_edge_drag(data, EINA_FALSE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_TAP:
+ ret = _efl_util_gesture_grab_tap(data, EINA_FALSE, base_data->mode);
+ break;
+ case TIZEN_GESTURE_TYPE_PALM_COVER:
+ ret = _efl_util_gesture_grab_palm_cover(data, EINA_FALSE, base_data->mode);
+ break;
+ default:
+ ret = EFL_UTIL_ERROR_INVALID_PARAMETER;
}
return ret;
return ret;
}
+
+/* LCOV_EXCL_START */
+API int
+efl_util_gesture_grab_mode_set(efl_util_gesture_h gesture_h, efl_util_gesture_data data, efl_util_gesture_grab_mode_e mode)
+{
+ LOGD("");
+ 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);
+ if (mode > EFL_UTIL_GESTURE_GRAB_MODE_SHARED) return EFL_UTIL_ERROR_INVALID_PARAMETER;
+ if (mode <= EFL_UTIL_GESTURE_GRAB_MODE_NONE || mode > EFL_UTIL_GESTURE_GRAB_MODE_SHARED)
+ return EFL_UTIL_ERROR_INVALID_PARAMETER;
+
+ base_data->mode = mode;
+
+ return EFL_UTIL_ERROR_NONE;
+}
+/* LCOV_EXCL_STOP */