mirror of
https://github.com/lvgl/lvgl.git
synced 2026-08-18 02:38:01 +08:00
feat(obj/event): add arg checks to public api functions (#10202)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
6de73400f8
commit
83d7e457fa
+16
-4
@@ -49,8 +49,6 @@ static bool event_code_in_array(lv_event_code_t code, const lv_event_code_t * ar
|
||||
|
||||
lv_result_t lv_obj_send_event(lv_obj_t * obj, lv_event_code_t event_code, void * param)
|
||||
{
|
||||
LV_CHECK_ARG(obj != NULL, return LV_RESULT_OK);
|
||||
|
||||
LV_CHECK_OBJ(obj, MY_CLASS, return 0);
|
||||
|
||||
lv_event_t e;
|
||||
@@ -148,7 +146,6 @@ bool lv_obj_remove_event_dsc(lv_obj_t * obj, lv_event_dsc_t * dsc)
|
||||
uint32_t lv_obj_remove_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb)
|
||||
{
|
||||
LV_CHECK_ARG(obj != NULL, return 0);
|
||||
LV_CHECK_ARG(event_cb != NULL, return 0);
|
||||
|
||||
uint32_t event_cnt = lv_obj_get_event_count(obj);
|
||||
uint32_t removed_count = 0;
|
||||
@@ -158,7 +155,7 @@ uint32_t lv_obj_remove_event_cb(lv_obj_t * obj, lv_event_cb_t event_cb)
|
||||
|
||||
for(i = event_cnt - 1; i >= 0; i--) {
|
||||
lv_event_dsc_t * dsc = lv_obj_get_event_dsc(obj, i);
|
||||
if(dsc && dsc->cb == event_cb) {
|
||||
if(dsc && (event_cb == NULL || dsc->cb == event_cb)) {
|
||||
lv_obj_remove_event(obj, i);
|
||||
removed_count++;
|
||||
}
|
||||
@@ -190,16 +187,19 @@ uint32_t lv_obj_remove_event_cb_with_user_data(lv_obj_t * obj, lv_event_cb_t eve
|
||||
|
||||
lv_obj_t * lv_event_get_current_target_obj(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
return lv_event_get_current_target(e);
|
||||
}
|
||||
|
||||
lv_obj_t * lv_event_get_target_obj(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
return lv_event_get_target(e);
|
||||
}
|
||||
|
||||
lv_indev_t * lv_event_get_indev(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
static const lv_event_code_t indev_codes[] = {
|
||||
LV_EVENT_PRESSED, LV_EVENT_PRESSING, LV_EVENT_PRESS_LOST,
|
||||
LV_EVENT_SHORT_CLICKED, LV_EVENT_LONG_PRESSED, LV_EVENT_LONG_PRESSED_REPEAT,
|
||||
@@ -216,6 +216,7 @@ lv_indev_t * lv_event_get_indev(lv_event_t * e)
|
||||
|
||||
lv_layer_t * lv_event_get_layer(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
static const lv_event_code_t draw_codes[] = {
|
||||
LV_EVENT_DRAW_MAIN, LV_EVENT_DRAW_MAIN_BEGIN, LV_EVENT_DRAW_MAIN_END,
|
||||
LV_EVENT_DRAW_POST, LV_EVENT_DRAW_POST_BEGIN, LV_EVENT_DRAW_POST_END,
|
||||
@@ -227,6 +228,7 @@ lv_layer_t * lv_event_get_layer(lv_event_t * e)
|
||||
|
||||
const lv_area_t * lv_event_get_old_size(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_SIZE_CHANGED, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
return lv_event_get_param(e);
|
||||
@@ -234,6 +236,7 @@ const lv_area_t * lv_event_get_old_size(lv_event_t * e)
|
||||
|
||||
uint32_t lv_event_get_key(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return 0);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_KEY, return 0,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
uint32_t * k = lv_event_get_param(e);
|
||||
@@ -242,6 +245,7 @@ uint32_t lv_event_get_key(lv_event_t * e)
|
||||
|
||||
int32_t lv_event_get_rotary_diff(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return 0);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_ROTARY, return 0,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
int32_t * r = lv_event_get_param(e);
|
||||
@@ -250,6 +254,7 @@ int32_t lv_event_get_rotary_diff(lv_event_t * e)
|
||||
|
||||
lv_anim_t * lv_event_get_scroll_anim(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_SCROLL_BEGIN, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
return lv_event_get_param(e);
|
||||
@@ -257,6 +262,7 @@ lv_anim_t * lv_event_get_scroll_anim(lv_event_t * e)
|
||||
|
||||
void lv_event_set_ext_draw_size(lv_event_t * e, int32_t size)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_REFR_EXT_DRAW_SIZE, return,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
int32_t * cur_size = lv_event_get_param(e);
|
||||
@@ -265,6 +271,7 @@ void lv_event_set_ext_draw_size(lv_event_t * e, int32_t size)
|
||||
|
||||
lv_point_t * lv_event_get_self_size_info(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_GET_SELF_SIZE, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
return lv_event_get_param(e);
|
||||
@@ -272,6 +279,7 @@ lv_point_t * lv_event_get_self_size_info(lv_event_t * e)
|
||||
|
||||
lv_hit_test_info_t * lv_event_get_hit_test_info(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_HIT_TEST, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
return lv_event_get_param(e);
|
||||
@@ -279,6 +287,7 @@ lv_hit_test_info_t * lv_event_get_hit_test_info(lv_event_t * e)
|
||||
|
||||
const lv_area_t * lv_event_get_cover_area(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_COVER_CHECK, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
lv_cover_check_info_t * p = lv_event_get_param(e);
|
||||
@@ -287,6 +296,7 @@ const lv_area_t * lv_event_get_cover_area(lv_event_t * e)
|
||||
|
||||
void lv_event_set_cover_res(lv_event_t * e, lv_cover_res_t res)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_COVER_CHECK, return,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
lv_cover_check_info_t * p = lv_event_get_param(e);
|
||||
@@ -295,6 +305,7 @@ void lv_event_set_cover_res(lv_event_t * e, lv_cover_res_t res)
|
||||
|
||||
lv_draw_task_t * lv_event_get_draw_task(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return NULL);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_DRAW_TASK_ADDED, return NULL,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
return lv_event_get_param(e);
|
||||
@@ -302,6 +313,7 @@ lv_draw_task_t * lv_event_get_draw_task(lv_event_t * e)
|
||||
|
||||
lv_state_t lv_event_get_prev_state(lv_event_t * e)
|
||||
{
|
||||
LV_CHECK_ARG(e != NULL, return 0);
|
||||
LV_CHECK_ARG(e->code == LV_EVENT_STATE_CHANGED, return 0,
|
||||
"invalid event code %" LV_PRId32, (int32_t)e->code);
|
||||
lv_state_t * state = lv_event_get_param(e);
|
||||
|
||||
Reference in New Issue
Block a user