efl/src/lib/elput/elput_touch.c

180 lines
4.3 KiB
C

#include "elput_private.h"
static inline Eina_Bool
_check_status(int ret)
{
if (ret == LIBINPUT_CONFIG_STATUS_SUCCESS)
return EINA_TRUE;
return EINA_FALSE;
}
EAPI Eina_Bool
elput_touch_drag_enabled_set(Elput_Device *device, Eina_Bool enabled)
{
int ret = -1;
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (enabled)
{
ret =
libinput_device_config_tap_set_drag_enabled(device->device,
LIBINPUT_CONFIG_DRAG_ENABLED);
}
else
{
ret =
libinput_device_config_tap_set_drag_enabled(device->device,
LIBINPUT_CONFIG_DRAG_DISABLED);
}
return _check_status(ret);
}
EAPI Eina_Bool
elput_touch_drag_enabled_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
return libinput_device_config_tap_get_drag_enabled(device->device);
}
EAPI Eina_Bool
elput_touch_drag_lock_enabled_set(Elput_Device *device, Eina_Bool enabled)
{
int ret = -1;
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (enabled)
{
ret =
libinput_device_config_tap_set_drag_lock_enabled(device->device,
LIBINPUT_CONFIG_DRAG_LOCK_ENABLED);
}
else
{
ret =
libinput_device_config_tap_set_drag_lock_enabled(device->device,
LIBINPUT_CONFIG_DRAG_LOCK_DISABLED);
}
return _check_status(ret);
}
EAPI Eina_Bool
elput_touch_drag_lock_enabled_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
return libinput_device_config_tap_get_drag_lock_enabled(device->device);
}
EAPI Eina_Bool
elput_touch_dwt_enabled_set(Elput_Device *device, Eina_Bool enabled)
{
int ret = -1;
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (!libinput_device_config_dwt_is_available(device->device))
return EINA_FALSE;
if (enabled)
{
ret =
libinput_device_config_dwt_set_enabled(device->device,
LIBINPUT_CONFIG_DWT_ENABLED);
}
else
{
ret =
libinput_device_config_dwt_set_enabled(device->device,
LIBINPUT_CONFIG_DWT_DISABLED);
}
return _check_status(ret);
}
EAPI Eina_Bool
elput_touch_dwt_enabled_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (!libinput_device_config_dwt_is_available(device->device))
return EINA_FALSE;
return libinput_device_config_dwt_get_enabled(device->device);
}
EAPI Eina_Bool
elput_touch_scroll_method_set(Elput_Device *device, int method)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (libinput_device_config_scroll_set_method(device->device, method) ==
LIBINPUT_CONFIG_STATUS_SUCCESS)
return EINA_TRUE;
return EINA_FALSE;
}
EAPI int
elput_touch_scroll_method_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, -1);
return libinput_device_config_scroll_get_method(device->device);
}
EAPI Eina_Bool
elput_touch_click_method_set(Elput_Device *device, int method)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (libinput_device_config_click_set_method(device->device, method) ==
LIBINPUT_CONFIG_STATUS_SUCCESS)
return EINA_TRUE;
return EINA_FALSE;
}
EAPI int
elput_touch_click_method_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, -1);
return libinput_device_config_click_get_method(device->device);
}
EAPI Eina_Bool
elput_touch_tap_enabled_set(Elput_Device *device, Eina_Bool enabled)
{
int ret = -1;
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
if (enabled)
{
ret =
libinput_device_config_tap_set_enabled(device->device,
LIBINPUT_CONFIG_TAP_ENABLED);
}
else
{
ret =
libinput_device_config_tap_set_enabled(device->device,
LIBINPUT_CONFIG_TAP_DISABLED);
}
return _check_status(ret);
}
EAPI Eina_Bool
elput_touch_tap_enabled_get(Elput_Device *device)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE);
return libinput_device_config_tap_get_enabled(device->device);
}