vletter draw optimited, LV_UPSCALE_STYLE and LV_STYLE_MULT removed and replaced with LV_DOWNSCALE
This commit is contained in:
@@ -128,7 +128,6 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_REL) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_PR);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
|
||||
ext->lpr_exec = 0;
|
||||
/*Call the press action, here 'param' is the caller dispi*/
|
||||
@@ -143,8 +142,7 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_REL);
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_PR) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
}lv_obj_inv(btn);
|
||||
break;
|
||||
|
||||
case LV_SIGNAL_RELEASED:
|
||||
@@ -161,7 +159,6 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_REL);
|
||||
}
|
||||
|
||||
|
||||
if(ext->rel_action != NULL && state != LV_BTN_STATE_INA) {
|
||||
valid = ext->rel_action(btn, param);
|
||||
}
|
||||
@@ -171,9 +168,9 @@ bool lv_btn_signal(lv_obj_t * btn, lv_signal_t sign, void* param)
|
||||
} else if(ext->state == LV_BTN_STATE_TGL_PR) {
|
||||
lv_btn_set_state(btn, LV_BTN_STATE_TGL_REL);
|
||||
}
|
||||
lv_obj_inv(btn);
|
||||
}
|
||||
|
||||
lv_obj_inv(btn);
|
||||
break;
|
||||
case LV_SIGNAL_LONG_PRESS:
|
||||
/*Call the long press action, here 'param' is the caller dispi*/
|
||||
|
||||
@@ -344,9 +344,8 @@ lv_btnms_t * lv_btnms_get(lv_btnms_builtin_t style, lv_btnms_t * copy)
|
||||
static bool lv_btnm_design(lv_obj_t * btnm, const area_t * mask, lv_design_mode_t mode)
|
||||
{
|
||||
if(mode == LV_DESIGN_COVER_CHK) {
|
||||
ancestor_design_f(btnm, mask, mode);
|
||||
return ancestor_design_f(btnm, mask, mode);
|
||||
/*Return false if the object is not covers the mask_p area*/
|
||||
return false;
|
||||
}
|
||||
/*Draw the object*/
|
||||
else if (mode == LV_DESIGN_DRAW_MAIN) {
|
||||
@@ -405,7 +404,7 @@ static bool lv_btnm_design(lv_obj_t * btnm, const area_t * mask, lv_design_mode_
|
||||
area_tmp.x2 = area_tmp.x1 + txt_size.x;
|
||||
area_tmp.y2 = area_tmp.y1 + txt_size.y;
|
||||
|
||||
lv_draw_label(&area_tmp, mask, lv_labels_get(LV_LABELS_BTN, NULL), OPA_COVER, ext->map_p[txt_i]);
|
||||
lv_draw_label(&area_tmp, mask, &style->labels, OPA_COVER, ext->map_p[txt_i]);
|
||||
txt_i ++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,9 +30,7 @@ static void lv_cbs_init(void);
|
||||
/**********************
|
||||
* STATIC VARIABLES
|
||||
**********************/
|
||||
static lv_cbs_t lv_cbs_def =
|
||||
{
|
||||
};
|
||||
static lv_cbs_t lv_cbs_def;
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
@@ -243,27 +241,27 @@ static void lv_cbs_init(void)
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_REL] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_REL] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_REL] = COLOR_BLACK;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_REL] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_REL].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_PR] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_PR] = COLOR_GRAY;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_PR] = COLOR_BLACK;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_PR] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_PR].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x20, 0x30, 0x40);
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_TGL_REL] = COLOR_MAKE(0x10, 0x20, 0x30);
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_TGL_REL] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_TGL_REL] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_TGL_REL].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x50, 0x70, 0x90);
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_TGL_PR] = COLOR_MAKE(0x20, 0x30, 0x40);
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_TGL_PR] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_TGL_PR] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_TGL_PR].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.mcolor[LV_BTN_STATE_INA] = COLOR_SILVER;
|
||||
lv_cbs_def.bullet.gcolor[LV_BTN_STATE_INA] = COLOR_GRAY;
|
||||
lv_cbs_def.bullet.bcolor[LV_BTN_STATE_INA] = COLOR_WHITE;
|
||||
lv_cbs_def.bullet.light_en[LV_BTN_STATE_INA] = 0;
|
||||
lv_cbs_def.bullet.flags[LV_BTN_STATE_INA].light_en = 0;
|
||||
|
||||
lv_cbs_def.bullet.rects.bwidth = 2 * LV_DOWNSCALE;
|
||||
lv_cbs_def.bullet.rects.bopa = 70;
|
||||
|
||||
@@ -491,6 +491,8 @@ static bool lv_page_design(lv_obj_t * page, const area_t * mask, lv_design_mode_
|
||||
*/
|
||||
static void lv_page_sb_refresh(lv_obj_t * page)
|
||||
{
|
||||
|
||||
|
||||
lv_page_ext_t * page_ext = lv_obj_get_ext(page);
|
||||
lv_pages_t * pages = lv_obj_get_style(page);
|
||||
lv_obj_t * scrolling = page_ext->scrolling;
|
||||
@@ -504,8 +506,12 @@ static void lv_page_sb_refresh(lv_obj_t * page)
|
||||
cord_t page_x0 = page->cords.x1;
|
||||
cord_t page_y0 = page->cords.y1;
|
||||
|
||||
lv_inv_area(&page_ext->sbh);
|
||||
lv_inv_area(&page_ext->sbv);
|
||||
|
||||
if(pages->sb_mode == LV_PAGE_SB_MODE_OFF) return;
|
||||
|
||||
/*Invalidate the current (old) scrollbar areas*/
|
||||
if(page_ext->sbh_draw != 0) lv_inv_area(&page_ext->sbh);
|
||||
if(page_ext->sbv_draw != 0) lv_inv_area(&page_ext->sbv);
|
||||
|
||||
/*Horizontal scrollbar*/
|
||||
if(scrolling_w <= obj_w - 2 * hpad) { /*Full sized scroll bar*/
|
||||
@@ -540,9 +546,10 @@ static void lv_page_sb_refresh(lv_obj_t * page)
|
||||
(-(lv_obj_get_y(scrolling) - vpad) * (obj_h - size_tmp - pages->sb_width)) /
|
||||
(scrolling_h - obj_h + 2 * vpad));
|
||||
}
|
||||
|
||||
lv_inv_area(&page_ext->sbh);
|
||||
lv_inv_area(&page_ext->sbv);
|
||||
|
||||
/*Invalidate the new scrollbar areas*/
|
||||
if(page_ext->sbh_draw != 0) lv_inv_area(&page_ext->sbh);
|
||||
if(page_ext->sbv_draw != 0) lv_inv_area(&page_ext->sbv);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -654,7 +654,7 @@ void lv_rect_refr_autofit(lv_obj_t * rect)
|
||||
return;
|
||||
}
|
||||
|
||||
area_t rect_cords;
|
||||
area_t new_cords;
|
||||
area_t ori;
|
||||
lv_rects_t * style = lv_obj_get_style(rect);
|
||||
lv_obj_t * i;
|
||||
@@ -663,48 +663,55 @@ void lv_rect_refr_autofit(lv_obj_t * rect)
|
||||
|
||||
/*Search the side coordinates of the children*/
|
||||
lv_obj_get_cords(rect, &ori);
|
||||
lv_obj_get_cords(rect, &rect_cords);
|
||||
lv_obj_get_cords(rect, &new_cords);
|
||||
|
||||
rect_cords.x1 = LV_CORD_MAX;
|
||||
rect_cords.y1 = LV_CORD_MAX;
|
||||
rect_cords.x2 = LV_CORD_MIN;
|
||||
rect_cords.y2 = LV_CORD_MIN;
|
||||
new_cords.x1 = LV_CORD_MAX;
|
||||
new_cords.y1 = LV_CORD_MAX;
|
||||
new_cords.x2 = LV_CORD_MIN;
|
||||
new_cords.y2 = LV_CORD_MIN;
|
||||
|
||||
LL_READ(rect->child_ll, i) {
|
||||
if(lv_obj_get_hidden(i) != false) continue;
|
||||
rect_cords.x1 = min(rect_cords.x1, i->cords.x1);
|
||||
rect_cords.y1 = min(rect_cords.y1, i->cords.y1);
|
||||
rect_cords.x2 = max(rect_cords.x2, i->cords.x2);
|
||||
rect_cords.y2 = max(rect_cords.y2, i->cords.y2);
|
||||
new_cords.x1 = min(new_cords.x1, i->cords.x1);
|
||||
new_cords.y1 = min(new_cords.y1, i->cords.y1);
|
||||
new_cords.x2 = max(new_cords.x2, i->cords.x2);
|
||||
new_cords.y2 = max(new_cords.y2, i->cords.y2);
|
||||
}
|
||||
|
||||
/*If the value is not the init value then the page has >=1 child.*/
|
||||
if(rect_cords.x1 != LV_CORD_MAX) {
|
||||
if(new_cords.x1 != LV_CORD_MAX) {
|
||||
if(ext->hfit_en != 0) {
|
||||
rect_cords.x1 -= hpad;
|
||||
rect_cords.x2 += hpad;
|
||||
new_cords.x1 -= hpad;
|
||||
new_cords.x2 += hpad;
|
||||
} else {
|
||||
rect_cords.x1 = rect->cords.x1;
|
||||
rect_cords.x2 = rect->cords.x2;
|
||||
new_cords.x1 = rect->cords.x1;
|
||||
new_cords.x2 = rect->cords.x2;
|
||||
}
|
||||
if(ext->vfit_en != 0) {
|
||||
rect_cords.y1 -= vpad;
|
||||
rect_cords.y2 += vpad;
|
||||
new_cords.y1 -= vpad;
|
||||
new_cords.y2 += vpad;
|
||||
} else {
|
||||
rect_cords.y1 = rect->cords.y1;
|
||||
rect_cords.y2 = rect->cords.y2;
|
||||
new_cords.y1 = rect->cords.y1;
|
||||
new_cords.y2 = rect->cords.y2;
|
||||
}
|
||||
|
||||
lv_obj_inv(rect);
|
||||
area_cpy(&rect->cords, &rect_cords);
|
||||
lv_obj_inv(rect);
|
||||
/*Do nothing if the coordinates are not changed*/
|
||||
if(rect->cords.x1 != new_cords.x1 ||
|
||||
rect->cords.y1 != new_cords.y1 ||
|
||||
rect->cords.x2 != new_cords.x2 ||
|
||||
rect->cords.y2 != new_cords.y2) {
|
||||
|
||||
/*Notify the object about its new coordinates*/
|
||||
rect->signal_f(rect, LV_SIGNAL_CORD_CHG, &ori);
|
||||
lv_obj_inv(rect);
|
||||
area_cpy(&rect->cords, &new_cords);
|
||||
lv_obj_inv(rect);
|
||||
|
||||
/*Inform the parent about the new coordinates*/
|
||||
lv_obj_t * par = lv_obj_get_parent(rect);
|
||||
par->signal_f(par, LV_SIGNAL_CHILD_CHG, rect);
|
||||
/*Notify the object about its new coordinates*/
|
||||
rect->signal_f(rect, LV_SIGNAL_CORD_CHG, &ori);
|
||||
|
||||
/*Inform the parent about the new coordinates*/
|
||||
lv_obj_t * par = lv_obj_get_parent(rect);
|
||||
par->signal_f(par, LV_SIGNAL_CHILD_CHG, rect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user