lvgl:add lv_display_remove_event_cb_with_user_data (#4998)

Signed-off-by: jianglianfang <jianglianfang@xiaomi.com>
This commit is contained in:
jianglianfang
2023-12-26 10:36:57 +08:00
committed by GitHub
parent 7c8e5d411d
commit 16b15b843d
6 changed files with 84 additions and 0 deletions

View File

@@ -568,6 +568,25 @@ bool lv_indev_remove_event(lv_indev_t * indev, uint32_t index)
return lv_event_remove(&indev->event_list, index);
}
uint32_t lv_indev_remove_event_cb_with_user_data(lv_indev_t * indev, lv_event_cb_t event_cb, void * user_data)
{
LV_ASSERT_NULL(indev);
uint32_t event_cnt = lv_indev_get_event_count(indev);
uint32_t removed_count = 0;
int32_t i;
for(i = event_cnt - 1; i >= 0; i--) {
lv_event_dsc_t * dsc = lv_indev_get_event_dsc(indev, i);
if(dsc && dsc->cb == event_cb && dsc->user_data == user_data) {
lv_indev_remove_event(indev, i);
removed_count ++;
}
}
return removed_count;
}
lv_result_t lv_indev_send_event(lv_indev_t * indev, lv_event_code_t code, void * param)
{