diff --git a/lv_core/lv_indev.c b/lv_core/lv_indev.c index 995158cfa..3bd8102e1 100644 --- a/lv_core/lv_indev.c +++ b/lv_core/lv_indev.c @@ -468,16 +468,16 @@ static lv_obj_t * indev_search_obj(const lv_indev_proc_t * indev, lv_obj_t * obj } } - /*If then the children was not ok, but this obj is clickable + /*If then the children was not ok, and this obj is clickable * and it or its parent is not hidden then save this object*/ if(found_p == NULL && lv_obj_get_click(obj) != false) { - lv_obj_t * i = obj; - while(i != NULL) { - if(lv_obj_get_hidden(i) == true) break; - i = lv_obj_get_parent(i); + lv_obj_t * hidden_i = obj; + while(hidden_i != NULL) { + if(lv_obj_get_hidden(hidden_i) == true) break; + hidden_i = lv_obj_get_parent(hidden_i); } /*No parent found with hidden == true*/ - if(i == NULL) found_p = obj; + if(hidden_i == NULL) found_p = obj; } } diff --git a/lv_core/lv_obj.c b/lv_core/lv_obj.c index a63550e16..5a378c131 100644 --- a/lv_core/lv_obj.c +++ b/lv_core/lv_obj.c @@ -100,12 +100,6 @@ void lv_init(void) /*Init the input device handling*/ lv_indev_init(); #endif - - /*Initialize the application level*/ -#if LV_APP_ENABLE != 0 - lv_app_init(); -#endif - } /*-------------------- @@ -144,11 +138,11 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, lv_obj_t * copy) lv_obj_set_design_func(new_obj, lv_obj_design); /*Set free data*/ -#if LV_OBJ_FREE_NUM != 0 +#ifdef LV_OBJ_FREE_NUM_TYPE new_obj->free_num = 0; #endif -#if LV_OBJ_FREE_P != 0 +#if LV_OBJ_FREE_PTR != 0 new_obj->free_ptr = NULL; #endif @@ -184,14 +178,14 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, lv_obj_t * copy) new_obj->ext_size = 0; /*Set appearance*/ - new_obj->style_p = &lv_style_plain; + new_obj->style_p = &lv_style_plain_color; /*Set virtual functions*/ lv_obj_set_signal_func(new_obj, lv_obj_signal); lv_obj_set_design_func(new_obj, lv_obj_design); /*Set free data*/ -#if LV_OBJ_FREE_NUM != 0 +#ifdef LV_OBJ_FREE_NUM_TYPE new_obj->free_num = 0; #endif #if LV_OBJ_FREE_PTR != 0 @@ -218,10 +212,10 @@ lv_obj_t * lv_obj_create(lv_obj_t * parent, lv_obj_t * copy) new_obj->ext_size = copy->ext_size; /*Set free data*/ -#if LV_OBJ_FREE_NUM != 0 +#ifdef LV_OBJ_FREE_NUM_TYPE new_obj->free_num = copy->free_num; #endif -#if LV_OBJ_FREE_P != 0 +#if LV_OBJ_FREE_PTR != 0 new_obj->free_ptr = copy->free_ptr; #endif /*Set attributes*/ diff --git a/lv_core/lv_style.c b/lv_core/lv_style.c index 2c867e517..732b9d700 100644 --- a/lv_core/lv_style.c +++ b/lv_core/lv_style.c @@ -131,7 +131,7 @@ void lv_style_init (void) /*Pretty color style*/ memcpy(&lv_style_pretty_color, &lv_style_pretty, sizeof(lv_style_t)); - lv_style_pretty_color.text.color = LV_COLOR_MAKE(0xc0, 0xc0, 0xc0); + lv_style_pretty_color.text.color = LV_COLOR_MAKE(0xd0, 0xd0, 0xd0); lv_style_pretty_color.image.color = LV_COLOR_MAKE(0xe0, 0xe0, 0xe0); lv_style_pretty_color.line.color = LV_COLOR_MAKE(0xc0, 0xc0, 0xc0); lv_style_pretty_color.body.main_color = LV_COLOR_MAKE(0x6b, 0x9a, 0xc7); diff --git a/lv_misc/lv_mem.c b/lv_misc/lv_mem.c index 9c7dedc22..6a880ebee 100644 --- a/lv_misc/lv_mem.c +++ b/lv_misc/lv_mem.c @@ -352,9 +352,9 @@ static lv_mem_ent_t * ent_trunc(lv_mem_ent_t * e, uint32_t size) /* Create the new entry after the current if there is space for it */ if(e->header.d_size != size) { uint8_t * e_data = &e->first_data; - lv_mem_ent_t * new_e = (lv_mem_ent_t *)&e_data[size]; - new_e->header.used = 0; - new_e->header.d_size = e->header.d_size - size - sizeof(lv_mem_header_t); + lv_mem_ent_t * after_new_e = (lv_mem_ent_t *)&e_data[size]; + after_new_e->header.used = 0; + after_new_e->header.d_size = e->header.d_size - size - sizeof(lv_mem_header_t); } /* Set the new size for the original entry */ diff --git a/lv_objx/lv_bar.c b/lv_objx/lv_bar.c index 229ad9a5f..674f5c752 100644 --- a/lv_objx/lv_bar.c +++ b/lv_objx/lv_bar.c @@ -115,7 +115,7 @@ void lv_bar_set_value(lv_obj_t * bar, int16_t value) lv_obj_invalidate(bar); } -#if LV_USE_ANIM +#if LV_NO_ANIM == 0 /** * Set a new value with animation on the bar * @param bar pointer to a bar object diff --git a/lv_objx/lv_btn.c b/lv_objx/lv_btn.c index 3cafa7ce5..6eb7032b4 100644 --- a/lv_objx/lv_btn.c +++ b/lv_objx/lv_btn.c @@ -364,13 +364,12 @@ static lv_res_t lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void * param) } } else if(c == LV_GROUP_KEY_ENTER) { if(lv_btn_get_toggle(btn) != false) { - lv_btn_state_t state = lv_btn_get_state(btn); if(state == LV_BTN_STATE_REL) lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL); else if(state == LV_BTN_STATE_PR) lv_btn_set_state(btn, LV_BTN_STATE_TGL_PR); else if(state == LV_BTN_STATE_TGL_REL) lv_btn_set_state(btn, LV_BTN_STATE_REL); else if(state == LV_BTN_STATE_TGL_PR) lv_btn_set_state(btn, LV_BTN_STATE_PR); } - if(ext->actions[LV_BTN_ACTION_REL] && lv_btn_get_state(btn) != LV_BTN_STATE_INA) { + if(ext->actions[LV_BTN_ACTION_REL] && state != LV_BTN_STATE_INA) { res = ext->actions[LV_BTN_ACTION_REL](btn); } } diff --git a/lv_objx/lv_btnm.c b/lv_objx/lv_btnm.c index 95c70e815..004444f1b 100644 --- a/lv_objx/lv_btnm.c +++ b/lv_objx/lv_btnm.c @@ -562,7 +562,6 @@ static lv_res_t lv_btnm_signal(lv_obj_t * btnm, lv_signal_t sign, void * param) lv_obj_invalidate(btnm); } else if(sign == LV_SIGNAL_CONTROLL) { - lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm); char c = *((char*)param); if(c == LV_GROUP_KEY_RIGHT || c == LV_GROUP_KEY_UP) { if(ext->btn_id_pr == LV_BTNM_PR_NONE) ext->btn_id_pr = 0; diff --git a/lv_objx/lv_page.c b/lv_objx/lv_page.c index 61a9b3eee..514048d2d 100644 --- a/lv_objx/lv_page.c +++ b/lv_objx/lv_page.c @@ -94,8 +94,14 @@ lv_obj_t * lv_page_create(lv_obj_t * par, lv_obj_t * copy) /*Set the default styles*/ lv_theme_t *th = lv_theme_get_current(); if(th) { - lv_page_set_style(new_page, LV_PAGE_STYLE_BG, th->page.bg); - lv_page_set_style(new_page, LV_PAGE_STYLE_SCRL, th->page.scrl); + if(par == NULL){ /*Different styles if it is screen*/ + lv_page_set_style(new_page, LV_PAGE_STYLE_BG, th->bg); + lv_page_set_style(new_page, LV_PAGE_STYLE_SCRL, &lv_style_transp); + } else { + lv_page_set_style(new_page, LV_PAGE_STYLE_BG, th->page.bg); + lv_page_set_style(new_page, LV_PAGE_STYLE_SCRL, th->page.scrl); + + } lv_page_set_style(new_page, LV_PAGE_STYLE_SB, th->page.sb); } else { lv_page_set_style(new_page, LV_PAGE_STYLE_BG, &lv_style_pretty_color); diff --git a/lv_objx/lv_roller.c b/lv_objx/lv_roller.c index 1d24ffd1e..dc6717813 100644 --- a/lv_objx/lv_roller.c +++ b/lv_objx/lv_roller.c @@ -274,7 +274,6 @@ static lv_res_t lv_roller_signal(lv_obj_t * roller, lv_signal_t sign, void * par refr_position(roller, false); } } else if(sign == LV_SIGNAL_CONTROLL) { - lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); char c = *((char*)param); if(c == LV_GROUP_KEY_RIGHT || c == LV_GROUP_KEY_DOWN) { if(ext->ddlist.sel_opt_id +1 < ext->ddlist.option_cnt) { diff --git a/lv_objx/lv_slider.c b/lv_objx/lv_slider.c index 7dcdb750f..b4662e955 100644 --- a/lv_objx/lv_slider.c +++ b/lv_objx/lv_slider.c @@ -241,23 +241,27 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig lv_style_t * style_knob = lv_slider_get_style(slider, LV_SLIDER_STYLE_KNOB); lv_style_t * style_indic = lv_slider_get_style(slider, LV_SLIDER_STYLE_INDIC); + lv_coord_t slider_w = lv_area_get_width(&slider->coords); + lv_coord_t slider_h = lv_area_get_height(&slider->coords); + /*Draw the bar*/ lv_area_t area_bar; lv_area_copy(&area_bar, &slider->coords); /*Be sure at least vpad/hpad width bar will remain*/ - lv_coord_t pad_ver_bar = style_slider->body.padding.ver; - lv_coord_t pad_hor_bar = style_slider->body.padding.hor; - if(pad_ver_bar * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_height(&area_bar)) { - pad_ver_bar = (lv_area_get_height(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; - } - if(pad_hor_bar * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_width(&area_bar)) { - pad_hor_bar = (lv_area_get_width(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; - } + lv_coord_t pad_ver_bar = style_slider->body.padding.ver; + lv_coord_t pad_hor_bar = style_slider->body.padding.hor; + if(pad_ver_bar * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_height(&area_bar)) { + pad_ver_bar = (lv_area_get_height(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; + } + if(pad_hor_bar * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_width(&area_bar)) { + pad_hor_bar = (lv_area_get_width(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; + } - area_bar.x1 += pad_hor_bar; - area_bar.x2 -= pad_hor_bar; - area_bar.y1 += pad_ver_bar; - area_bar.y2 -= pad_ver_bar; + /*Let space only in the perpendicular directions*/ + area_bar.x1 += slider_w < slider_h ? pad_hor_bar : 0; /*Pad only for vertical slider*/ + area_bar.x2 -= slider_w < slider_h ? pad_hor_bar : 0; /*Pad only for vertical slider*/ + area_bar.y1 += slider_w > slider_h ? pad_ver_bar : 0; /*Pad only for horizontal slider*/ + area_bar.y2 -= slider_w > slider_h ? pad_ver_bar : 0; /*Pad only for horizontal slider*/ lv_draw_rect(&area_bar, mask, style_slider); /*Draw the indicator*/ @@ -279,8 +283,6 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig area_indic.y1 += pad_ver_indic; area_indic.y2 -= pad_ver_indic; - lv_coord_t slider_w = lv_area_get_width(&slider->coords); - lv_coord_t slider_h = lv_area_get_height(&slider->coords); lv_coord_t cur_value = lv_slider_get_value(slider); lv_coord_t min_value = lv_slider_get_min_value(slider); @@ -415,7 +417,6 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par if(slider->ext_size < shadow_w) slider->ext_size = shadow_w; } } else if(sign == LV_SIGNAL_CONTROLL) { - lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); char c = *((char*)param); if(c == LV_GROUP_KEY_RIGHT || c == LV_GROUP_KEY_UP) { lv_slider_set_value(slider, lv_slider_get_value(slider) + 1);