Optimizatzon of signal sending, child_chg_off added as lv_obj attribute

This commit is contained in:
Gabor
2016-06-22 15:16:08 +02:00
parent d987f08be9
commit 451a30cf07
5 changed files with 67 additions and 35 deletions

View File

@@ -60,8 +60,8 @@ static lv_btns_t lv_btns_def =
.rects.bopa = 50,
.rects.empty = 0,
.rects.round = 4 * LV_STYLE_MULT,
.rects.hpad = 14 * LV_STYLE_MULT,
.rects.vpad = 10 * LV_STYLE_MULT,
.rects.hpad = 10 * LV_STYLE_MULT,
.rects.vpad = 15 * LV_STYLE_MULT,
};
static lv_btns_t lv_btns_transp =
{
@@ -122,8 +122,8 @@ lv_obj_t* lv_btn_create(lv_obj_t* par_dp, lv_obj_t * copy_dp)
btn_ext_dp->lpr_action = NULL;
btn_ext_dp->tgl = 0;
lv_obj_set_style(new_obj_dp, &lv_btns_def);
lv_obj_set_layout(new_obj_dp, LV_LAYOUT_ROW_M);
lv_obj_set_layout_space_us(new_obj_dp, 10); /*Justified align*/
lv_obj_set_layout(new_obj_dp, LV_LAYOUT_COL_M);
lv_obj_set_layout_space_us(new_obj_dp, -40); /*Justified align*/
}
/*Copy 'copy_dp'*/
else{

View File

@@ -206,9 +206,6 @@ void lv_label_set_text(lv_obj_t * obj_dp, const char * text)
/*With fix width only the height can change*/
lv_obj_set_height(obj_dp, new_height);
}
lv_obj_t * parent_dp = lv_obj_get_parent(obj_dp);
parent_dp->signal_f(parent_dp, LV_SIGNAL_CHILD_CHG, obj_dp);
lv_obj_inv(obj_dp);
}

View File

@@ -100,6 +100,7 @@ bool lv_rect_signal(lv_obj_t* obj_dp, lv_signal_t sign, void * param)
/* Include the ancient signal function */
valid = lv_obj_signal(obj_dp, sign, param);
area_t rect_cords;
area_t ori;
lv_rects_t * rects_p = lv_obj_get_style(obj_dp);
lv_rect_ext_t * ext_p = lv_obj_get_ext(obj_dp);
lv_obj_t * i;
@@ -150,7 +151,9 @@ bool lv_rect_signal(lv_obj_t* obj_dp, lv_signal_t sign, void * param)
}
/*Search the side coordinates of the children*/
lv_obj_get_cords(obj_dp, &ori);
lv_obj_get_cords(obj_dp, &rect_cords);
rect_cords.x1 = LV_CORD_MAX;
rect_cords.y1 = LV_CORD_MAX;
rect_cords.x2 = LV_CORD_MIN;
@@ -179,13 +182,16 @@ bool lv_rect_signal(lv_obj_t* obj_dp, lv_signal_t sign, void * param)
rect_cords.y1 = obj_dp->cords.y1;
rect_cords.y2 = obj_dp->cords.y2;
}
area_cpy(&obj_dp->cords, &rect_cords);
lv_obj_set_pos(obj_dp, lv_obj_get_x(obj_dp),
lv_obj_get_y(obj_dp));
/*Notify the object about its new coordinates*/
obj_dp->signal_f(obj_dp, LV_SIGNAL_CORD_CHG, &ori);
/*Inform the parent about the new coordinates*/
lv_obj_t * par_dp = lv_obj_get_parent(obj_dp);
par_dp->signal_f(par_dp, LV_SIGNAL_CHILD_CHG, obj_dp);
} else {
lv_obj_set_size(obj_dp, LV_OBJ_DEF_WIDTH, LV_OBJ_DEF_HEIGHT);
}
@@ -217,8 +223,7 @@ void lv_rect_set_pad_en(lv_obj_t * obj_dp, bool hor_en, bool ver_en)
ext_p->hpad_en = hor_en == false ? 0 : 1;
ext_p->vpad_en = ver_en == false ? 0 : 1;
obj_dp->signal_f(obj_dp, LV_SIGNAL_STYLE_CHG, obj_dp);
/*Send a signal to run the paddig calculations*/
lv_obj_t * par_dp = lv_obj_get_parent(obj_dp);
par_dp->signal_f(par_dp, LV_SIGNAL_CHILD_CHG, obj_dp);
}