From 9b38d455abc6b2a8cc0c7015471528a3cc927888 Mon Sep 17 00:00:00 2001 From: Brian Pugh Date: Mon, 20 May 2019 09:42:31 -0700 Subject: [PATCH] renamed indev_obj_focused to indev_obj_act. Improved related documentation/formatting --- src/lv_core/lv_indev.c | 81 ++++++++++++++++++++++-------------------- src/lv_core/lv_indev.h | 4 +-- src/lv_core/lv_obj.c | 4 +-- 3 files changed, 47 insertions(+), 42 deletions(-) diff --git a/src/lv_core/lv_indev.c b/src/lv_core/lv_indev.c index f00282a3a..99508cad1 100644 --- a/src/lv_core/lv_indev.c +++ b/src/lv_core/lv_indev.c @@ -48,7 +48,7 @@ static void indev_drag_throw(lv_indev_proc_t * proc); **********************/ static lv_indev_t * indev_act; #if LV_USE_GROUP -static lv_obj_t * indev_obj_focused = NULL; +static lv_obj_t * indev_obj_act = NULL; #endif /********************** @@ -58,7 +58,7 @@ static lv_obj_t * indev_obj_focused = NULL; #if LV_USE_GROUP #define CHECK_INDEV_RESET(proc) \ if((proc).reset_query) { \ - indev_obj_focused = NULL; \ + indev_obj_act = NULL; \ return; \ } while(0) #else @@ -323,9 +323,14 @@ lv_task_t * lv_indev_get_read_task(lv_disp_t * indev) return indev->refr_task; } -lv_obj_t * lv_indev_get_obj_focused() { +/** + * Gets a pointer to the currently active object in indev proc functions. + * NULL if no object is currently being handled or if groups aren't used. + * @return pointer to currently focused object + */ +lv_obj_t * lv_indev_get_obj_act( void ) { #if LV_USE_GROUP - return indev_obj_focused; + return indev_obj_act; #else return NULL; #endif @@ -381,8 +386,8 @@ static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data) lv_group_t * g = i->group; if(g == NULL) return; - indev_obj_focused = lv_group_get_focused(g); - if(indev_obj_focused == NULL) return; + indev_obj_act = lv_group_get_focused(g); + if(indev_obj_act == NULL) return; /*Save the last key to compare it with the current latter on RELEASE*/ uint32_t prev_key = i->proc.types.keypad.last_key; @@ -406,15 +411,15 @@ static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data) /*Send the ENTER as a normal KEY*/ lv_group_send_data(g, LV_KEY_ENTER); - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_PRESSED, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_PRESSED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); } else if(data->key == LV_KEY_ESC) { /*Send the ESC as a normal KEY*/ lv_group_send_data(g, LV_KEY_ESC); - lv_event_send(indev_obj_focused, LV_EVENT_CANCEL, NULL); + lv_event_send(indev_obj_act, LV_EVENT_CANCEL, NULL); CHECK_INDEV_RESET(i->proc); } /*Move the focus on NEXT*/ @@ -444,9 +449,9 @@ static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data) i->proc.long_pr_sent = 1; if(data->key == LV_KEY_ENTER) { i->proc.longpr_rep_timestamp = lv_tick_get(); - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_LONG_PRESS, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_LONG_PRESS, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_LONG_PRESSED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_LONG_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); } } @@ -458,9 +463,9 @@ static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data) /*Send LONG_PRESS_REP on ENTER*/ if(data->key == LV_KEY_ENTER) { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_LONG_PRESS_REP, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_LONG_PRESS_REP, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_LONG_PRESSED_REPEAT, NULL); + lv_event_send(indev_obj_act, LV_EVENT_LONG_PRESSED_REPEAT, NULL); CHECK_INDEV_RESET(i->proc); } /*Move the focus on NEXT again*/ @@ -490,24 +495,24 @@ static void indev_keypad_proc(lv_indev_t * i, lv_indev_data_t * data) data->key = prev_key; if(data->key == LV_KEY_ENTER) { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_RELEASED, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); if(i->proc.long_pr_sent == 0) { - lv_event_send(indev_obj_focused, LV_EVENT_SHORT_CLICKED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_SHORT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); } - lv_event_send(indev_obj_focused, LV_EVENT_CLICKED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_RELEASED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); } i->proc.pr_timestamp = 0; i->proc.long_pr_sent = 0; } - indev_obj_focused = NULL; + indev_obj_act = NULL; #else (void)data; /*Unused*/ (void)i; /*Unused*/ @@ -541,8 +546,8 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) lv_group_t * g = i->group; if(g == NULL) return; - indev_obj_focused = lv_group_get_focused(g); - if(indev_obj_focused == NULL) return; + indev_obj_act = lv_group_get_focused(g); + if(indev_obj_act == NULL) return; /*Process the steps first. They are valid only with released button*/ if(data->state == LV_INDEV_STATE_REL) { @@ -567,20 +572,20 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) } /*Refresh the focused object. It might change due to lv_group_focus_prev/next*/ - indev_obj_focused = lv_group_get_focused(g); - if(indev_obj_focused == NULL) return; + indev_obj_act = lv_group_get_focused(g); + if(indev_obj_act == NULL) return; /*Button press happened*/ if(data->state == LV_INDEV_STATE_PR && last_state == LV_INDEV_STATE_REL) { bool editable = false; - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_GET_EDITABLE, &editable); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_GET_EDITABLE, &editable); i->proc.pr_timestamp = lv_tick_get(); if(lv_group_get_editing(g) == true || editable == false) { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_PRESSED, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_PRESSED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); } } @@ -590,7 +595,7 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) if(i->proc.long_pr_sent == 0 && lv_tick_elaps(i->proc.pr_timestamp) > i->driver.long_press_time) { bool editable = false; - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_GET_EDITABLE, &editable); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_GET_EDITABLE, &editable); /*On enter long press toggle edit mode.*/ if(editable) { @@ -603,9 +608,9 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) } /*If not editable then just send a long press signal*/ else { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_LONG_PRESS, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_LONG_PRESS, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_LONG_PRESSED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_LONG_PRESSED, NULL); CHECK_INDEV_RESET(i->proc); } i->proc.long_pr_sent = 1; @@ -616,36 +621,36 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) last_state == LV_INDEV_STATE_PR) { bool editable = false; - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_GET_EDITABLE, &editable); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_GET_EDITABLE, &editable); /*The button was released on a non-editable object. Just send enter*/ if(editable == false) { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_RELEASED, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); - if(i->proc.long_pr_sent == 0) lv_event_send(indev_obj_focused, LV_EVENT_SHORT_CLICKED, NULL); + if(i->proc.long_pr_sent == 0) lv_event_send(indev_obj_act, LV_EVENT_SHORT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_CLICKED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_RELEASED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); } /*An object is being edited and the button is released. */ else if(g->editing) { /*Ignore long pressed enter release because it comes from mode switch*/ if(!i->proc.long_pr_sent || lv_ll_is_empty(&g->obj_ll)) { - indev_obj_focused->signal_cb(indev_obj_focused, LV_SIGNAL_RELEASED, NULL); + indev_obj_act->signal_cb(indev_obj_act, LV_SIGNAL_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_SHORT_CLICKED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_SHORT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_CLICKED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_CLICKED, NULL); CHECK_INDEV_RESET(i->proc); - lv_event_send(indev_obj_focused, LV_EVENT_RELEASED, NULL); + lv_event_send(indev_obj_act, LV_EVENT_RELEASED, NULL); CHECK_INDEV_RESET(i->proc); lv_group_send_data(g, LV_KEY_ENTER); @@ -660,7 +665,7 @@ static void indev_encoder_proc(lv_indev_t * i, lv_indev_data_t * data) i->proc.pr_timestamp = 0; i->proc.long_pr_sent = 0; } - indev_obj_focused = NULL; + indev_obj_act = NULL; #else (void)data; /*Unused*/ (void)i; /*Unused*/ diff --git a/src/lv_core/lv_indev.h b/src/lv_core/lv_indev.h index 761eeb74b..47477a4ec 100644 --- a/src/lv_core/lv_indev.h +++ b/src/lv_core/lv_indev.h @@ -142,11 +142,11 @@ void lv_indev_wait_release(lv_indev_t * indev); lv_task_t * lv_indev_get_read_task(lv_disp_t * indev); /** - * Gets a pointer to the currently handled object. + * Gets a pointer to the currently active object in indev proc functions. * NULL if no object is currently being handled or if groups aren't used. * @return pointer to currently focused object */ -lv_obj_t * lv_indev_get_obj_focused(); +lv_obj_t * lv_indev_get_obj_act( void ); /********************** * MACROS diff --git a/src/lv_core/lv_obj.c b/src/lv_core/lv_obj.c index ef9c8a582..571a2256c 100644 --- a/src/lv_core/lv_obj.c +++ b/src/lv_core/lv_obj.c @@ -427,7 +427,7 @@ lv_res_t lv_obj_del(lv_obj_t * obj) } #if LV_USE_GROUP - if(indev->group == group && obj == lv_indev_get_obj_focused() ) { + if(indev->group == group && obj == lv_indev_get_obj_act() ) { lv_indev_reset(indev); } #endif @@ -2230,7 +2230,7 @@ static void delete_children(lv_obj_t * obj) indev->proc.types.pointer.last_pressed = NULL; } #if LV_USE_GROUP - if(indev->group == group && obj == lv_indev_get_obj_focused() ) { + if(indev->group == group && obj == lv_indev_get_obj_act() ) { lv_indev_reset(indev); } #endif