chore(indev): support lv_indev_get_mode (#5186)
Signed-off-by: YanXiaowei <yanxiaowei@xiaomi.com> Co-authored-by: YanXiaowei <yanxiaowei@xiaomi.com>
This commit is contained in:
@@ -301,14 +301,15 @@ static int lv_nuttx_uv_input_init(lv_nuttx_uv_t * uv_info, lv_nuttx_uv_ctx_t * u
|
||||
LV_ASSERT_NULL(uv_ctx);
|
||||
LV_ASSERT_NULL(loop);
|
||||
|
||||
if(!indev->read_timer) {
|
||||
LV_LOG_ERROR("indev->read_timer is NULL");
|
||||
if(lv_indev_get_mode(indev) == LV_INDEV_MODE_EVENT) {
|
||||
LV_LOG_ERROR("input device has been running in event-driven mode");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
lv_nuttx_uv_input_ctx_t * input_ctx = &uv_ctx->input_ctx;
|
||||
input_ctx->fd = *(int *)lv_indev_get_driver_data(indev);
|
||||
if(input_ctx->fd <= 0) {
|
||||
LV_LOG_ERROR("can't get valid input fd");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -487,6 +487,12 @@ lv_timer_t * lv_indev_get_read_timer(lv_indev_t * indev)
|
||||
return indev->read_timer;
|
||||
}
|
||||
|
||||
lv_indev_mode_t lv_indev_get_mode(lv_indev_t * indev)
|
||||
{
|
||||
if(indev) return indev->mode;
|
||||
return LV_INDEV_MODE_NONE;
|
||||
}
|
||||
|
||||
void lv_indev_set_mode(lv_indev_t * indev, lv_indev_mode_t mode)
|
||||
{
|
||||
if(!indev || indev->mode == mode)
|
||||
|
||||
@@ -42,8 +42,9 @@ typedef enum {
|
||||
} lv_indev_state_t;
|
||||
|
||||
typedef enum {
|
||||
LV_INDEV_MODE_TIMER = 0,
|
||||
LV_INDEV_MODE_EVENT = 1
|
||||
LV_INDEV_MODE_NONE = 0,
|
||||
LV_INDEV_MODE_TIMER,
|
||||
LV_INDEV_MODE_EVENT,
|
||||
} lv_indev_mode_t;
|
||||
|
||||
/** Data structure passed to an input driver to fill*/
|
||||
@@ -247,6 +248,13 @@ lv_timer_t * lv_indev_get_read_timer(lv_indev_t * indev);
|
||||
*/
|
||||
void lv_indev_set_mode(lv_indev_t * indev, lv_indev_mode_t mode);
|
||||
|
||||
/**
|
||||
* Get the input device's running mode.
|
||||
* @param indev pointer to an input device
|
||||
* @return the running mode for the specified input device.
|
||||
*/
|
||||
lv_indev_mode_t lv_indev_get_mode(lv_indev_t * indev);
|
||||
|
||||
/**
|
||||
* Search the most top, clickable object by a point
|
||||
* @param obj pointer to a start object, typically the screen
|
||||
|
||||
Reference in New Issue
Block a user