diff --git a/src/others/monkey/lv_monkey.c b/src/others/monkey/lv_monkey.c index 72ea539400..de216ef54b 100644 --- a/src/others/monkey/lv_monkey.c +++ b/src/others/monkey/lv_monkey.c @@ -21,7 +21,6 @@ **********************/ struct _lv_monkey { lv_monkey_config_t config; - lv_indev_t indev_drv; lv_indev_data_t indev_data; lv_indev_t * indev; lv_timer_t * timer; @@ -49,7 +48,7 @@ static const lv_key_t lv_key_map[] = { * STATIC PROTOTYPES **********************/ -static void lv_monkey_read_cb(lv_indev_t * indev_drv, lv_indev_data_t * data); +static void lv_monkey_read_cb(lv_indev_t * indev, lv_indev_data_t * data); static int32_t lv_monkey_random(int32_t howsmall, int32_t howbig); static void lv_monkey_timer_cb(lv_timer_t * timer); @@ -73,18 +72,13 @@ lv_monkey_t * lv_monkey_create(const lv_monkey_config_t * config) lv_memzero(monkey, sizeof(lv_monkey_t)); monkey->config = *config; - - lv_indev_t * drv = &monkey->indev_drv; - lv_indev_drv_init(drv); - drv->type = config->type; - drv->read_cb = lv_monkey_read_cb; - drv->user_data = monkey; - monkey->timer = lv_timer_create(lv_monkey_timer_cb, monkey->config.period_range.min, monkey); lv_timer_pause(monkey->timer); - monkey->indev = lv_indev_drv_register(drv); - + monkey->indev = lv_indev_create(); + lv_indev_set_type(monkey->indev, config->type); + lv_indev_set_read_cb(monkey->indev, lv_monkey_read_cb); + lv_indev_set_user_data(monkey->indev, monkey); return monkey; } @@ -135,9 +129,9 @@ void lv_monkey_del(lv_monkey_t * monkey) * STATIC FUNCTIONS **********************/ -static void lv_monkey_read_cb(lv_indev_t * indev_drv, lv_indev_data_t * data) +static void lv_monkey_read_cb(lv_indev_t * indev, lv_indev_data_t * data) { - lv_monkey_t * monkey = indev_drv->user_data; + lv_monkey_t * monkey = indev->user_data; data->btn_id = monkey->indev_data.btn_id; data->point = monkey->indev_data.point; @@ -159,7 +153,7 @@ static void lv_monkey_timer_cb(lv_timer_t * timer) lv_monkey_t * monkey = timer->user_data; lv_indev_data_t * data = &monkey->indev_data; - switch(monkey->indev_drv.type) { + switch(lv_indev_get_type(monkey->indev)) { case LV_INDEV_TYPE_POINTER: data->point.x = (lv_coord_t)lv_monkey_random(0, LV_HOR_RES - 1); data->point.y = (lv_coord_t)lv_monkey_random(0, LV_VER_RES - 1);