From 7dad802981e615f0ab4152be58b18690140b365d Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Wed, 13 Dec 2017 15:12:04 +0100 Subject: [PATCH] minor fixes --- lv_core/lv_obj.c | 2 +- lv_core/lv_obj.h | 2 +- lv_objx/lv_btn.c | 7 ++++++- lv_objx/lv_cb.h | 4 ++-- lv_objx/lv_ddlist.h | 1 - lv_objx/lv_list.c | 2 ++ lv_objx/lv_slider.c | 45 +++++++++++++++++++++++---------------------- lv_objx/lv_ta.c | 2 +- 8 files changed, 36 insertions(+), 29 deletions(-) diff --git a/lv_core/lv_obj.c b/lv_core/lv_obj.c index 8dcf36490..6f8b1fd20 100644 --- a/lv_core/lv_obj.c +++ b/lv_core/lv_obj.c @@ -325,7 +325,7 @@ lv_res_t lv_obj_del(lv_obj_t * obj) * Delete all children of an object * @param obj pointer to an object */ -void lv_obj_clear(lv_obj_t *obj) +void lv_obj_clean(lv_obj_t *obj) { lv_obj_t *child = lv_obj_get_child(obj, NULL); diff --git a/lv_core/lv_obj.h b/lv_core/lv_obj.h index 69fef3c89..791486d3e 100644 --- a/lv_core/lv_obj.h +++ b/lv_core/lv_obj.h @@ -217,7 +217,7 @@ lv_res_t lv_obj_del(lv_obj_t * obj); * Delete all children of an object * @param obj pointer to an object */ -void lv_obj_clear(lv_obj_t *obj); +void lv_obj_clean(lv_obj_t *obj); /** * Mark the object as invalid therefore its current position will be redrawn by 'lv_refr_task' diff --git a/lv_objx/lv_btn.c b/lv_objx/lv_btn.c index 6eb7032b4..280b41582 100644 --- a/lv_objx/lv_btn.c +++ b/lv_objx/lv_btn.c @@ -81,7 +81,12 @@ lv_obj_t * lv_btn_create(lv_obj_t * par, lv_obj_t * copy) /*If no copy do the basic initialization*/ if(copy == NULL) { - lv_btn_set_layout(new_btn, LV_LAYOUT_CENTER); + /*Set layout if the button is not a screen*/ + if(par != NULL) { + lv_btn_set_layout(new_btn, LV_LAYOUT_CENTER); + } + + lv_obj_set_click(new_btn, true); /*Be sure the button is clickable*/ /*Set the default styles*/ lv_theme_t *th = lv_theme_get_current(); diff --git a/lv_objx/lv_cb.h b/lv_objx/lv_cb.h index fd9a68546..e85ff2636 100644 --- a/lv_objx/lv_cb.h +++ b/lv_objx/lv_cb.h @@ -131,9 +131,9 @@ const char * lv_cb_get_text(lv_obj_t * cb); * @param cb pointer to a check box object * @return true: checked; false: not checked */ -static inline bool lv_cb_get_checked(lv_obj_t * cb) +static inline bool lv_cb_is_checked(lv_obj_t * cb) { - return lv_btn_get_state(cb) == LV_BTN_STATE_REL ? true : false; + return lv_btn_get_state(cb) == LV_BTN_STATE_REL ? false : true; } /** diff --git a/lv_objx/lv_ddlist.h b/lv_objx/lv_ddlist.h index 507196d6b..00c5ed000 100644 --- a/lv_objx/lv_ddlist.h +++ b/lv_objx/lv_ddlist.h @@ -190,7 +190,6 @@ static inline lv_sb_mode_t lv_ddlist_get_sb_mode(lv_obj_t * ddlist) */ uint16_t lv_ddlist_get_anim_time(lv_obj_t * ddlist); - /** * Get a style of a drop down list * @param ddlist pointer to a drop down list object diff --git a/lv_objx/lv_list.c b/lv_objx/lv_list.c index d1a226941..ff835881d 100644 --- a/lv_objx/lv_list.c +++ b/lv_objx/lv_list.c @@ -220,9 +220,11 @@ void lv_list_set_style(lv_obj_t *list, lv_list_style_t type, lv_style_t *style) switch (type) { case LV_LIST_STYLE_BG: lv_page_set_style(list, LV_PAGE_STYLE_BG, style); + /*style change signal will call 'refr_btn_width' */ break; case LV_LIST_STYLE_SCRL: lv_page_set_style(list, LV_PAGE_STYLE_SCRL, style); + refr_btn_width(list); break; case LV_LIST_STYLE_SB: lv_page_set_style(list, LV_PAGE_STYLE_SB, style); diff --git a/lv_objx/lv_slider.c b/lv_objx/lv_slider.c index 3bff64763..447e3dde0 100644 --- a/lv_objx/lv_slider.c +++ b/lv_objx/lv_slider.c @@ -249,7 +249,7 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig else if(mode == LV_DESIGN_DRAW_MAIN) { lv_slider_ext_t * ext = lv_obj_get_ext_attr(slider); - lv_style_t * style_slider = lv_slider_get_style(slider, LV_SLIDER_STYLE_BG); + lv_style_t * style_bg = lv_slider_get_style(slider, LV_SLIDER_STYLE_BG); 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); @@ -257,37 +257,38 @@ static bool lv_slider_design(lv_obj_t * slider, const lv_area_t * mask, lv_desig 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; + lv_area_t area_bg; + lv_area_copy(&area_bg, &slider->coords); + + /*Be sure at least LV_SLIDER_SIZE_MIN size will remain*/ + lv_coord_t pad_ver_bg = style_bg->body.padding.ver; + lv_coord_t pad_hor_bg = style_bg->body.padding.hor; + if(pad_ver_bg * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_height(&area_bg)) { + pad_ver_bg = (lv_area_get_height(&area_bg) - 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; + if(pad_hor_bg * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_width(&area_bg)) { + pad_hor_bg = (lv_area_get_width(&area_bg) - LV_SLIDER_SIZE_MIN) >> 1; } /*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); + area_bg.x1 += slider_w < slider_h ? pad_hor_bg : 0; /*Pad only for vertical slider*/ + area_bg.x2 -= slider_w < slider_h ? pad_hor_bg : 0; /*Pad only for vertical slider*/ + area_bg.y1 += slider_w > slider_h ? pad_ver_bg : 0; /*Pad only for horizontal slider*/ + area_bg.y2 -= slider_w > slider_h ? pad_ver_bg : 0; /*Pad only for horizontal slider*/ + lv_draw_rect(&area_bg, mask, style_bg); /*Draw the indicator*/ lv_area_t area_indic; - lv_area_copy(&area_indic, &area_bar); + lv_area_copy(&area_indic, &area_bg); - /*Be sure at least vpad/hpad width indicator will remain*/ + /*Be sure at least ver pad/hor pad width indicator will remain*/ lv_coord_t pad_ver_indic = style_indic->body.padding.ver; lv_coord_t pad_hor_indic = style_indic->body.padding.hor; - if(pad_ver_indic * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_height(&area_bar)) { - pad_ver_indic = (lv_area_get_height(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; + if(pad_ver_indic * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_height(&area_bg)) { + pad_ver_indic = (lv_area_get_height(&area_bg) - LV_SLIDER_SIZE_MIN) >> 1; } - if(pad_hor_indic * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_width(&area_bar)) { - pad_hor_indic = (lv_area_get_width(&area_bar) - LV_SLIDER_SIZE_MIN) >> 1; + if(pad_hor_indic * 2 + LV_SLIDER_SIZE_MIN > lv_area_get_width(&area_bg)) { + pad_hor_indic = (lv_area_get_width(&area_bg) - LV_SLIDER_SIZE_MIN) >> 1; } area_indic.x1 += pad_hor_indic; @@ -419,7 +420,7 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par lv_style_t *knob_style = lv_slider_get_style(slider, LV_SLIDER_STYLE_KNOB); lv_coord_t shadow_w = knob_style->body.shadow.width; if(ext->knob_in == 0) { - lv_coord_t x = LV_MATH_MIN(w / 2 + shadow_w, h / 2 + shadow_w); /*The smaller size is the knob diameter*/ + lv_coord_t x = LV_MATH_MIN(w / 2 + 1 + shadow_w, h / 2 + 1 + shadow_w); /*The smaller size is the knob diameter*/ if(slider->ext_size < x) slider->ext_size = x; } else { lv_coord_t pad = LV_MATH_MIN(style->body.padding.hor, style->body.padding.ver); diff --git a/lv_objx/lv_ta.c b/lv_objx/lv_ta.c index 3b1378378..896077d56 100644 --- a/lv_objx/lv_ta.c +++ b/lv_objx/lv_ta.c @@ -23,7 +23,7 @@ *********************/ /*Test configuration*/ -#ifndef LV_TA_CUR_BLINK_TIME +#ifndef LV_TA_CURSOR_BLINK_TIME #define LV_TA_CURSOR_BLINK_TIME 400 /*ms*/ #endif