mirror of
https://github.com/lvgl/lvgl.git
synced 2026-06-02 17:47:28 +08:00
feat(sdl): optimize indev, remove read_timer for mouse/mousewheel/key… (#4876)
Signed-off-by: YanXiaowei <yanxiaowei@xiaomi.com> Co-authored-by: YanXiaowei <yanxiaowei@xiaomi.com>
This commit is contained in:
@@ -58,6 +58,7 @@ lv_indev_t * lv_sdl_keyboard_create(void)
|
|||||||
lv_indev_set_read_cb(indev, sdl_keyboard_read);
|
lv_indev_set_read_cb(indev, sdl_keyboard_read);
|
||||||
lv_indev_set_driver_data(indev, dsc);
|
lv_indev_set_driver_data(indev, dsc);
|
||||||
|
|
||||||
|
lv_timer_delete(lv_indev_get_read_timer(indev));
|
||||||
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
||||||
|
|
||||||
return indev;
|
return indev;
|
||||||
@@ -152,6 +153,7 @@ void _lv_sdl_keyboard_handler(SDL_Event * event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
lv_indev_read(indev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ lv_indev_t * lv_sdl_mouse_create(void)
|
|||||||
lv_indev_set_read_cb(indev, sdl_mouse_read);
|
lv_indev_set_read_cb(indev, sdl_mouse_read);
|
||||||
lv_indev_set_driver_data(indev, dsc);
|
lv_indev_set_driver_data(indev, dsc);
|
||||||
|
|
||||||
|
lv_timer_delete(lv_indev_get_read_timer(indev));
|
||||||
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
||||||
|
|
||||||
return indev;
|
return indev;
|
||||||
@@ -174,6 +175,7 @@ void _lv_sdl_mouse_handler(SDL_Event * event)
|
|||||||
indev_dev->last_y = (int16_t)((float)ver_res * event->tfinger.y / zoom);
|
indev_dev->last_y = (int16_t)((float)ver_res * event->tfinger.y / zoom);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
lv_indev_read(indev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*LV_USE_SDL*/
|
#endif /*LV_USE_SDL*/
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ lv_indev_t * lv_sdl_mousewheel_create(void)
|
|||||||
lv_indev_set_read_cb(indev, sdl_mousewheel_read);
|
lv_indev_set_read_cb(indev, sdl_mousewheel_read);
|
||||||
lv_indev_set_driver_data(indev, dsc);
|
lv_indev_set_driver_data(indev, dsc);
|
||||||
|
|
||||||
|
lv_timer_delete(lv_indev_get_read_timer(indev));
|
||||||
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
lv_indev_add_event(indev, release_indev_cb, LV_EVENT_DELETE, indev);
|
||||||
|
|
||||||
return indev;
|
return indev;
|
||||||
@@ -135,6 +136,7 @@ void _lv_sdl_mousewheel_handler(SDL_Event * event)
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
lv_indev_read(indev);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /*LV_USE_SDL*/
|
#endif /*LV_USE_SDL*/
|
||||||
|
|||||||
Reference in New Issue
Block a user