support transition on virtual styles too
This commit is contained in:
@@ -57,6 +57,7 @@ typedef struct _lv_event_temp_data
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
lv_obj_t * obj;
|
lv_obj_t * obj;
|
||||||
lv_style_property_t prop;
|
lv_style_property_t prop;
|
||||||
|
uint8_t part;
|
||||||
union {
|
union {
|
||||||
lv_color_t _color;
|
lv_color_t _color;
|
||||||
lv_style_int_t _int;
|
lv_style_int_t _int;
|
||||||
@@ -89,8 +90,8 @@ static void opa_scale_anim(lv_obj_t * obj, lv_anim_value_t v);
|
|||||||
#endif
|
#endif
|
||||||
static void lv_event_mark_deleted(lv_obj_t * obj);
|
static void lv_event_mark_deleted(lv_obj_t * obj);
|
||||||
static void lv_obj_del_async_cb(void * obj);
|
static void lv_obj_del_async_cb(void * obj);
|
||||||
static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop, lv_state_t prev_state, lv_state_t new_state);
|
static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop, uint8_t part, lv_state_t prev_state, lv_state_t new_state);
|
||||||
static void trans_del(lv_obj_t * obj, lv_style_property_t prop);
|
static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop);
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC VARIABLES
|
* STATIC VARIABLES
|
||||||
@@ -398,6 +399,8 @@ lv_res_t lv_obj_del(lv_obj_t * obj)
|
|||||||
lv_anim_del(obj, NULL);
|
lv_anim_del(obj, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
trans_del(obj, 0xFF, 0xFF);
|
||||||
|
|
||||||
/*Delete the user data*/
|
/*Delete the user data*/
|
||||||
#if LV_USE_USER_DATA_FREE
|
#if LV_USE_USER_DATA_FREE
|
||||||
LV_USER_DATA_FREE(obj);
|
LV_USER_DATA_FREE(obj);
|
||||||
@@ -1123,20 +1126,37 @@ void lv_obj_add_style(lv_obj_t * obj, uint8_t part, lv_style_t * style)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove all styles from the objects style list. Also reset the local styles
|
* Reset a style to the default (empty) state.
|
||||||
|
* Release all used memories and cancel pending related transitions.
|
||||||
|
* Typically used in `LV_SIGN_CLEAN_UP.
|
||||||
|
* @param obj pointer to an object
|
||||||
|
* @param part the part of the object which style list should be reseted.
|
||||||
|
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
||||||
|
*/
|
||||||
|
void lv_obj_clean_style_list(lv_obj_t * obj, uint8_t part)
|
||||||
|
{
|
||||||
|
lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part);
|
||||||
|
if(style_dsc == NULL) {
|
||||||
|
LV_LOG_WARN("lv_obj_clean_style_list: can't find style with `part`");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_style_list_reset(style_dsc);
|
||||||
|
|
||||||
|
trans_del(obj, part, 0xFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset a style to the default (empty) state.
|
||||||
|
* Release all used memories and cancel pending related transitions.
|
||||||
|
* Also notifies the object about the style change.
|
||||||
* @param obj pointer to an object
|
* @param obj pointer to an object
|
||||||
* @param part the part of the object which style list should be reseted.
|
* @param part the part of the object which style list should be reseted.
|
||||||
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
||||||
*/
|
*/
|
||||||
void lv_obj_reset_style_list(lv_obj_t * obj, uint8_t part)
|
void lv_obj_reset_style_list(lv_obj_t * obj, uint8_t part)
|
||||||
{
|
{
|
||||||
lv_style_list_t * style_dsc = lv_obj_get_style_list(obj, part);
|
lv_obj_clean_style_list(obj, part);
|
||||||
if(style_dsc == NULL) {
|
|
||||||
LV_LOG_WARN("lv_obj_clean_styles: can't find style with `part`");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
lv_style_list_reset(style_dsc);
|
|
||||||
|
|
||||||
lv_obj_refresh_style(obj);
|
lv_obj_refresh_style(obj);
|
||||||
}
|
}
|
||||||
@@ -1465,30 +1485,36 @@ void lv_obj_set_state(lv_obj_t * obj, lv_state_t new_state)
|
|||||||
lv_state_t prev_state = obj->state_dsc.act;
|
lv_state_t prev_state = obj->state_dsc.act;
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
|
|
||||||
lv_style_int_t time = lv_obj_get_style_trans_time(obj, LV_OBJ_PART_MAIN);
|
uint8_t part;
|
||||||
lv_style_property_t props[LV_STYLE_TRANS_NUM_MAX];
|
for(part = 0; part < _LV_OBJ_PART_REAL_LAST; part++) {
|
||||||
lv_style_int_t delay = lv_obj_get_style_trans_delay(obj, LV_OBJ_PART_MAIN);
|
lv_style_list_t * style_list = lv_obj_get_style_list(obj, part);
|
||||||
lv_anim_path_cb_t path = lv_obj_get_style_trans_path(obj, LV_OBJ_PART_MAIN);
|
if(style_list == NULL) break; /*No more style lists*/
|
||||||
props[0] = lv_obj_get_style_trans_prop1(obj, LV_OBJ_PART_MAIN);
|
if(style_list->ignore_trans) continue;
|
||||||
props[1] = lv_obj_get_style_trans_prop2(obj, LV_OBJ_PART_MAIN);
|
|
||||||
props[2] = lv_obj_get_style_trans_prop3(obj, LV_OBJ_PART_MAIN);
|
lv_style_int_t time = lv_obj_get_style_trans_time(obj, part);
|
||||||
props[3] = lv_obj_get_style_trans_prop4(obj, LV_OBJ_PART_MAIN);
|
lv_style_property_t props[LV_STYLE_TRANS_NUM_MAX];
|
||||||
props[4] = lv_obj_get_style_trans_prop5(obj, LV_OBJ_PART_MAIN);
|
lv_style_int_t delay = lv_obj_get_style_trans_delay(obj, part);
|
||||||
props[5] = lv_obj_get_style_trans_prop6(obj, LV_OBJ_PART_MAIN);
|
lv_anim_path_cb_t path = lv_obj_get_style_trans_path(obj, part);
|
||||||
|
props[0] = lv_obj_get_style_trans_prop1(obj, part);
|
||||||
|
props[1] = lv_obj_get_style_trans_prop2(obj, part);
|
||||||
|
props[2] = lv_obj_get_style_trans_prop3(obj, part);
|
||||||
|
props[3] = lv_obj_get_style_trans_prop4(obj, part);
|
||||||
|
props[4] = lv_obj_get_style_trans_prop5(obj, part);
|
||||||
|
props[5] = lv_obj_get_style_trans_prop6(obj, part);
|
||||||
|
|
||||||
lv_style_list_t * style_list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
|
||||||
|
|
||||||
uint8_t i;
|
uint8_t i;
|
||||||
for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) {
|
for(i = 0; i < LV_STYLE_TRANS_NUM_MAX; i++) {
|
||||||
if(props[i] != 0) {
|
if(props[i] != 0) {
|
||||||
lv_style_list_add_trans_style(style_list);
|
lv_style_list_add_trans_style(style_list);
|
||||||
|
|
||||||
lv_anim_trans_t * tr = trans_create(obj, props[i], prev_state, new_state);
|
lv_anim_trans_t * tr = trans_create(obj, props[i], part, prev_state, new_state);
|
||||||
|
|
||||||
/*If there is a pending anim for this property remove it*/
|
/*If there is a pending anim for this property remove it*/
|
||||||
if(tr) {
|
if(tr) {
|
||||||
tr->obj = obj;
|
tr->obj = obj;
|
||||||
tr->prop = props[i];
|
tr->prop = props[i];
|
||||||
|
tr->part = part;
|
||||||
|
|
||||||
if(time == 0) {
|
if(time == 0) {
|
||||||
trans_anim_cb(tr, 255);
|
trans_anim_cb(tr, 255);
|
||||||
@@ -1511,29 +1537,30 @@ void lv_obj_set_state(lv_obj_t * obj, lv_state_t new_state)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
lv_obj_refresh_style(obj);
|
lv_obj_refresh_style(obj);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop, lv_state_t prev_state, lv_state_t new_state)
|
static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop, uint8_t part, lv_state_t prev_state, lv_state_t new_state)
|
||||||
{
|
{
|
||||||
lv_anim_trans_t * tr;
|
lv_anim_trans_t * tr;
|
||||||
lv_style_list_t * style_list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
lv_style_list_t * style_list = lv_obj_get_style_list(obj, part);
|
||||||
lv_style_t * style_trans = lv_style_list_get_trans_style(style_list);
|
lv_style_t * style_trans = lv_style_list_get_trans_style(style_list);
|
||||||
|
|
||||||
/*Get the previous and current values*/
|
/*Get the previous and current values*/
|
||||||
if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
if((prop & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
||||||
style_list->skip_trans = 1;
|
style_list->skip_trans = 1;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
lv_style_int_t int1 = _lv_obj_get_style_int(obj, LV_OBJ_PART_MAIN, prop);
|
lv_style_int_t int1 = _lv_obj_get_style_int(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
lv_style_int_t int2 = _lv_obj_get_style_int(obj, LV_OBJ_PART_MAIN, prop);
|
lv_style_int_t int2 = _lv_obj_get_style_int(obj, part, prop);
|
||||||
style_list->skip_trans = 0;
|
style_list->skip_trans = 0;
|
||||||
|
|
||||||
if(int1 == int2) return NULL;
|
if(int1 == int2) return NULL;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
int1 = _lv_obj_get_style_int(obj, LV_OBJ_PART_MAIN, prop);
|
int1 = _lv_obj_get_style_int(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
_lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */
|
_lv_style_set_int(style_trans, prop, int1); /*Be sure `trans_style` has a valid value */
|
||||||
|
|
||||||
@@ -1555,14 +1582,14 @@ static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop,
|
|||||||
else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
else if((prop & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
||||||
style_list->skip_trans = 1;
|
style_list->skip_trans = 1;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
lv_color_t c1 = _lv_obj_get_style_color(obj, LV_OBJ_PART_MAIN, prop);
|
lv_color_t c1 = _lv_obj_get_style_color(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
lv_color_t c2 = _lv_obj_get_style_color(obj, LV_OBJ_PART_MAIN, prop);
|
lv_color_t c2 = _lv_obj_get_style_color(obj, part, prop);
|
||||||
style_list->skip_trans = 0;
|
style_list->skip_trans = 0;
|
||||||
|
|
||||||
if(c1.full == c2.full) return NULL;
|
if(c1.full == c2.full) return NULL;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
c1 = _lv_obj_get_style_color(obj, LV_OBJ_PART_MAIN, prop);
|
c1 = _lv_obj_get_style_color(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
_lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */
|
_lv_style_set_color(style_trans, prop, c1); /*Be sure `trans_style` has a valid value */
|
||||||
|
|
||||||
@@ -1575,15 +1602,15 @@ static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop,
|
|||||||
else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
else if((prop & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
||||||
style_list->skip_trans = 1;
|
style_list->skip_trans = 1;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
lv_opa_t o1 = _lv_obj_get_style_opa(obj, LV_OBJ_PART_MAIN, prop);
|
lv_opa_t o1 = _lv_obj_get_style_opa(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
lv_opa_t o2 = _lv_obj_get_style_opa(obj, LV_OBJ_PART_MAIN, prop);
|
lv_opa_t o2 = _lv_obj_get_style_opa(obj, part, prop);
|
||||||
style_list->skip_trans = 0;
|
style_list->skip_trans = 0;
|
||||||
|
|
||||||
if(o1 == o2) return NULL;
|
if(o1 == o2) return NULL;
|
||||||
|
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
o1 = _lv_obj_get_style_opa(obj, LV_OBJ_PART_MAIN, prop);
|
o1 = _lv_obj_get_style_opa(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
_lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */
|
_lv_style_set_opa(style_trans, prop, o1); /*Be sure `trans_style` has a valid value */
|
||||||
|
|
||||||
@@ -1595,14 +1622,14 @@ static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop,
|
|||||||
} else { /*Ptr*/
|
} else { /*Ptr*/
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
style_list->skip_trans = 1;
|
style_list->skip_trans = 1;
|
||||||
const void * p1 = _lv_obj_get_style_ptr(obj, LV_OBJ_PART_MAIN, prop);
|
const void * p1 = _lv_obj_get_style_ptr(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
const void * p2 = _lv_obj_get_style_ptr(obj, LV_OBJ_PART_MAIN, prop);
|
const void * p2 = _lv_obj_get_style_ptr(obj, part, prop);
|
||||||
style_list->skip_trans = 0;
|
style_list->skip_trans = 0;
|
||||||
|
|
||||||
if(p1 == p2) return NULL;
|
if(p1 == p2) return NULL;
|
||||||
obj->state_dsc.act = prev_state;
|
obj->state_dsc.act = prev_state;
|
||||||
p1 = _lv_obj_get_style_ptr(obj, LV_OBJ_PART_MAIN, prop);
|
p1 = _lv_obj_get_style_ptr(obj, part, prop);
|
||||||
obj->state_dsc.act = new_state;
|
obj->state_dsc.act = new_state;
|
||||||
_lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */
|
_lv_style_set_ptr(style_trans, prop, p1); /*Be sure `trans_style` has a valid value */
|
||||||
|
|
||||||
@@ -1616,7 +1643,7 @@ static lv_anim_trans_t * trans_create(lv_obj_t * obj, lv_style_property_t prop,
|
|||||||
return tr;
|
return tr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void trans_del(lv_obj_t * obj, lv_style_property_t prop)
|
static void trans_del(lv_obj_t * obj, uint8_t part, lv_style_property_t prop)
|
||||||
{
|
{
|
||||||
lv_anim_trans_t * tr;
|
lv_anim_trans_t * tr;
|
||||||
lv_anim_trans_t * tr_next;
|
lv_anim_trans_t * tr_next;
|
||||||
@@ -1625,7 +1652,7 @@ static void trans_del(lv_obj_t * obj, lv_style_property_t prop)
|
|||||||
/*'tr' might be deleted, so get the next object while 'tr' is valid*/
|
/*'tr' might be deleted, so get the next object while 'tr' is valid*/
|
||||||
tr_next = lv_ll_get_next(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
tr_next = lv_ll_get_next(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
||||||
|
|
||||||
if(tr->obj == obj && (prop == tr->prop || prop == 0xFF)) {
|
if(tr->obj == obj && (part == tr->part || part == 0xFF) && (prop == tr->prop || prop == 0xFF)) {
|
||||||
lv_anim_del(tr, NULL);
|
lv_anim_del(tr, NULL);
|
||||||
lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
lv_ll_remove(&LV_GC_ROOT(_lv_obj_style_trans_ll), tr);
|
||||||
lv_mem_free(tr);
|
lv_mem_free(tr);
|
||||||
@@ -3379,8 +3406,7 @@ static lv_res_t lv_obj_signal(lv_obj_t * obj, lv_signal_t sign, void * param)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
else if(sign == LV_SIGNAL_CLEANUP) {
|
else if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
lv_style_list_reset(&obj->style_list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
@@ -3550,7 +3576,7 @@ static void base_dir_refr_children(lv_obj_t * obj)
|
|||||||
|
|
||||||
static void trans_anim_cb(lv_anim_trans_t * tr, lv_anim_value_t v)
|
static void trans_anim_cb(lv_anim_trans_t * tr, lv_anim_value_t v)
|
||||||
{
|
{
|
||||||
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, LV_OBJ_PART_MAIN);
|
lv_style_list_t * list = lv_obj_get_style_list(tr->obj, tr->part);
|
||||||
lv_style_t * style = lv_style_list_get_trans_style(list);
|
lv_style_t * style = lv_style_list_get_trans_style(list);
|
||||||
|
|
||||||
if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/
|
if((tr->prop & 0xF) < LV_STYLE_ID_COLOR) { /*Value*/
|
||||||
@@ -3591,21 +3617,21 @@ static void trans_anim_start_cb(lv_anim_t * a)
|
|||||||
/*Init prop to an invalid values to be sure `trans_del` won't delete the just added `tr`*/
|
/*Init prop to an invalid values to be sure `trans_del` won't delete the just added `tr`*/
|
||||||
tr->prop = 0;
|
tr->prop = 0;
|
||||||
/*Delete the relate transition if any*/
|
/*Delete the relate transition if any*/
|
||||||
trans_del(tr->obj, prop_tmp);
|
trans_del(tr->obj, tr->part, prop_tmp);
|
||||||
|
|
||||||
tr->prop = prop_tmp;
|
tr->prop = prop_tmp;
|
||||||
|
|
||||||
/*Get the previous and current values*/
|
/*Start the animation from the current value*/
|
||||||
if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
if((prop_tmp & 0xF) < LV_STYLE_ID_COLOR) { /*Int*/
|
||||||
tr->start_value._int = _lv_obj_get_style_int(tr->obj, LV_OBJ_PART_MAIN, prop_tmp);
|
tr->start_value._int = _lv_obj_get_style_int(tr->obj, tr->part, prop_tmp);
|
||||||
}
|
}
|
||||||
else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
else if((prop_tmp & 0xF) < LV_STYLE_ID_OPA) { /*Color*/
|
||||||
tr->start_value._color = _lv_obj_get_style_color(tr->obj, LV_OBJ_PART_MAIN, prop_tmp);
|
tr->start_value._color = _lv_obj_get_style_color(tr->obj, tr->part, prop_tmp);
|
||||||
}
|
}
|
||||||
else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
else if((prop_tmp & 0xF) < LV_STYLE_ID_PTR) { /*Opa*/
|
||||||
tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, LV_OBJ_PART_MAIN, prop_tmp);
|
tr->start_value._opa = _lv_obj_get_style_opa(tr->obj, tr->part, prop_tmp);
|
||||||
} else { /*Ptr*/
|
} else { /*Ptr*/
|
||||||
tr->start_value._ptr= _lv_obj_get_style_ptr(tr->obj, LV_OBJ_PART_MAIN, prop_tmp);
|
tr->start_value._ptr= _lv_obj_get_style_ptr(tr->obj, tr->part, prop_tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -487,7 +487,19 @@ void lv_obj_set_ext_click_area(lv_obj_t * obj, lv_coord_t left, lv_coord_t right
|
|||||||
void lv_obj_add_style(lv_obj_t * obj, uint8_t part, lv_style_t * style);
|
void lv_obj_add_style(lv_obj_t * obj, uint8_t part, lv_style_t * style);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove all styles from the objects style list. Also reset the local styles
|
* Reset a style to the default (empty) state.
|
||||||
|
* Release all used memories and cancel pending related transitions.
|
||||||
|
* Typically used in `LV_SIGN_CLEAN_UP.
|
||||||
|
* @param obj pointer to an object
|
||||||
|
* @param part the part of the object which style list should be reseted.
|
||||||
|
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
||||||
|
*/
|
||||||
|
void lv_obj_clean_style_list(lv_obj_t * obj, uint8_t part);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset a style to the default (empty) state.
|
||||||
|
* Release all used memories and cancel pending related transitions.
|
||||||
|
* Also notifies the object about the style change.
|
||||||
* @param obj pointer to an object
|
* @param obj pointer to an object
|
||||||
* @param part the part of the object which style list should be reseted.
|
* @param part the part of the object which style list should be reseted.
|
||||||
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
* E.g. `LV_OBJ_PART_MAIN`, `LV_BTN_PART_MAIN`, `LV_SLIDER_PART_KNOB`
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ static lv_style_t * get_alloc_local_style(lv_style_list_t * list);
|
|||||||
*/
|
*/
|
||||||
void lv_style_init(lv_style_t * style)
|
void lv_style_init(lv_style_t * style)
|
||||||
{
|
{
|
||||||
style->map = NULL;
|
memset(style, 0x00, sizeof(lv_style_t));
|
||||||
#if LV_USE_ASSERT_STYLE
|
#if LV_USE_ASSERT_STYLE
|
||||||
style->sentinel = LV_DEBUG_STYLE_SENTINEL_VALUE;
|
style->sentinel = LV_DEBUG_STYLE_SENTINEL_VALUE;
|
||||||
#endif
|
#endif
|
||||||
@@ -136,10 +136,7 @@ bool lv_style_remove_prop(lv_style_t * style, lv_style_property_t prop)
|
|||||||
*/
|
*/
|
||||||
void lv_style_list_init(lv_style_list_t * list)
|
void lv_style_list_init(lv_style_list_t * list)
|
||||||
{
|
{
|
||||||
list->style_list = NULL;
|
memset(list, 0x00, sizeof(lv_style_list_t));
|
||||||
list->style_cnt = 0;
|
|
||||||
list->has_local = 0;
|
|
||||||
list->has_trans = 0;
|
|
||||||
#if LV_USE_ASSERT_STYLE
|
#if LV_USE_ASSERT_STYLE
|
||||||
list->sentinel = LV_DEBUG_STYLE_LIST_SENTINEL_VALUE;
|
list->sentinel = LV_DEBUG_STYLE_LIST_SENTINEL_VALUE;
|
||||||
#endif
|
#endif
|
||||||
@@ -709,6 +706,12 @@ lv_style_t * lv_style_list_add_trans_style(lv_style_list_t * list)
|
|||||||
lv_style_list_add_style(list, trans_style);
|
lv_style_list_add_style(list, trans_style);
|
||||||
list->has_trans = 1;
|
list->has_trans = 1;
|
||||||
|
|
||||||
|
/*If the list has local style trans was added after it. But trans should be the first so swap them*/
|
||||||
|
if(list->has_local) {
|
||||||
|
lv_style_t * tmp = list->style_list[0];
|
||||||
|
list->style_list[0] = list->style_list[1];
|
||||||
|
list->style_list[1] = tmp;
|
||||||
|
}
|
||||||
return trans_style;
|
return trans_style;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -226,7 +226,8 @@ typedef struct {
|
|||||||
uint8_t style_cnt;
|
uint8_t style_cnt;
|
||||||
uint8_t has_local :1;
|
uint8_t has_local :1;
|
||||||
uint8_t has_trans :1;
|
uint8_t has_trans :1;
|
||||||
uint8_t skip_trans :1;
|
uint8_t skip_trans :1; /*1: Temporally skip the transition style if any*/
|
||||||
|
uint8_t ignore_trans :1; /*1: Mark that this style list shouldn't receive transitions at all*/
|
||||||
}lv_style_list_t;
|
}lv_style_list_t;
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
|
|||||||
@@ -336,12 +336,16 @@ static void slider_init(void)
|
|||||||
lv_style_init(&slider_knob);
|
lv_style_init(&slider_knob);
|
||||||
lv_style_set_bg_opa(&slider_knob, LV_STATE_NORMAL, LV_OPA_COVER);
|
lv_style_set_bg_opa(&slider_knob, LV_STATE_NORMAL, LV_OPA_COVER);
|
||||||
lv_style_set_bg_color(&slider_knob, LV_STATE_NORMAL, LV_COLOR_WHITE);
|
lv_style_set_bg_color(&slider_knob, LV_STATE_NORMAL, LV_COLOR_WHITE);
|
||||||
|
lv_style_set_bg_color(&slider_knob, LV_STATE_FOCUSED, LV_COLOR_RED);
|
||||||
lv_style_set_value_color(&slider_knob, LV_STATE_NORMAL, LV_COLOR_WHITE);
|
lv_style_set_value_color(&slider_knob, LV_STATE_NORMAL, LV_COLOR_WHITE);
|
||||||
lv_style_set_radius(&slider_knob, LV_STATE_NORMAL, LV_RADIUS_CIRCLE);
|
lv_style_set_radius(&slider_knob, LV_STATE_NORMAL, LV_RADIUS_CIRCLE);
|
||||||
lv_style_set_pad_left(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
lv_style_set_pad_left(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
||||||
lv_style_set_pad_right(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
lv_style_set_pad_right(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
||||||
lv_style_set_pad_top(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
lv_style_set_pad_top(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
||||||
lv_style_set_pad_bottom(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
lv_style_set_pad_bottom(&slider_knob, LV_STATE_NORMAL, LV_DPI/20);
|
||||||
|
lv_style_set_trans_time(&slider_knob, LV_STATE_NORMAL, 500);
|
||||||
|
lv_style_set_trans_prop1(&slider_knob, LV_STATE_NORMAL, LV_STYLE_BG_COLOR);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -896,240 +900,239 @@ void lv_theme_material_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_SCR:
|
case LV_THEME_SCR:
|
||||||
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &scr);
|
||||||
lv_style_list_add_style(list, &scr);
|
|
||||||
break;
|
break;
|
||||||
case LV_THEME_OBJ:
|
case LV_THEME_OBJ:
|
||||||
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &panel);
|
||||||
lv_style_list_add_style(list, &panel);
|
|
||||||
break;
|
break;
|
||||||
#if LV_USE_CONT
|
#if LV_USE_CONT
|
||||||
case LV_THEME_CONT:
|
case LV_THEME_CONT:
|
||||||
|
lv_obj_clean_style_list(obj, LV_OBJ_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_CONT_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &panel);
|
||||||
lv_style_list_add_style(list, &panel);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_BTN
|
#if LV_USE_BTN
|
||||||
case LV_THEME_BTN:
|
case LV_THEME_BTN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &btn);
|
||||||
lv_style_list_add_style(list, &btn);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_BTNMATRIX
|
#if LV_USE_BTNMATRIX
|
||||||
case LV_THEME_BTNMATRIX:
|
case LV_THEME_BTNMATRIX:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &btnm_bg);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTNMATRIX_PART_BTN);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN);
|
list = lv_obj_get_style_list(obj, LV_BTNMATRIX_PART_BTN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &btn);
|
||||||
lv_style_list_add_style(list, &btn);
|
lv_style_list_add_style(list, &btnm_btn);
|
||||||
lv_style_list_add_style(list, &btnm_btn);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_KEYBOARD
|
#if LV_USE_KEYBOARD
|
||||||
case LV_THEME_KEYBOARD:
|
case LV_THEME_KEYBOARD:
|
||||||
|
lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BG);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &kb_bg);
|
||||||
lv_style_list_add_style(list, &kb_bg);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_KEYBOARD_PART_BTN);
|
||||||
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN);
|
list = lv_obj_get_style_list(obj, LV_KEYBOARD_PART_BTN);
|
||||||
lv_style_list_reset(list);
|
lv_style_list_add_style(list, &btn);
|
||||||
lv_style_list_add_style(list, &btn);
|
lv_style_list_add_style(list, &kb_btn);
|
||||||
lv_style_list_add_style(list, &kb_btn);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_BAR
|
#if LV_USE_BAR
|
||||||
case LV_THEME_BAR:
|
case LV_THEME_BAR:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BAR_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_BAR_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_BAR_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_bg);
|
|
||||||
|
|
||||||
|
lv_style_list_add_style(list, &bar_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_BAR_PART_INDIC);
|
||||||
list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC);
|
list = lv_obj_get_style_list(obj, LV_BAR_PART_INDIC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_indic);
|
lv_style_list_add_style(list, &bar_indic);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_SWITCH
|
#if LV_USE_SWITCH
|
||||||
case LV_THEME_SWITCH:
|
case LV_THEME_SWITCH:
|
||||||
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_bg);
|
lv_style_list_add_style(list, &bar_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_INDIC);
|
||||||
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC);
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_INDIC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_indic);
|
lv_style_list_add_style(list, &bar_indic);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SWITCH_PART_KNOB);
|
||||||
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB);
|
list = lv_obj_get_style_list(obj, LV_SWITCH_PART_KNOB);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sw_knob);
|
lv_style_list_add_style(list, &sw_knob);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_CANVAS
|
#if LV_USE_CANVAS
|
||||||
case LV_THEME_CANVAS:
|
case LV_THEME_CANVAS:
|
||||||
|
lv_obj_clean_style_list(obj, LV_CANVAS_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_CANVAS_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_CANVAS_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_IMG
|
#if LV_USE_IMG
|
||||||
case LV_THEME_IMAGE:
|
case LV_THEME_IMAGE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_IMG_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_IMG_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_IMGBTN
|
#if LV_USE_IMGBTN
|
||||||
case LV_THEME_IMGBTN:
|
case LV_THEME_IMGBTN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_IMG_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_IMG_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_IMG_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_LABEL
|
#if LV_USE_LABEL
|
||||||
case LV_THEME_LABEL:
|
case LV_THEME_LABEL:
|
||||||
|
lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_LABEL_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_LABEL_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_LINE
|
#if LV_USE_LINE
|
||||||
case LV_THEME_LINE:
|
case LV_THEME_LINE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_LABEL_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_LABEL_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_LABEL_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_ARC
|
#if LV_USE_ARC
|
||||||
case LV_THEME_ARC:
|
case LV_THEME_ARC:
|
||||||
|
lv_obj_clean_style_list(obj, LV_ARC_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_ARC_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_ARC_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &arc_bg);
|
lv_style_list_add_style(list, &arc_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_ARC_PART_ARC);
|
||||||
list = lv_obj_get_style_list(obj, LV_ARC_PART_ARC);
|
list = lv_obj_get_style_list(obj, LV_ARC_PART_ARC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &arc);
|
lv_style_list_add_style(list, &arc);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_SPINNER
|
#if LV_USE_SPINNER
|
||||||
case LV_THEME_SPINNER:
|
case LV_THEME_SPINNER:
|
||||||
|
lv_obj_clean_style_list(obj, LV_SPINNER_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &arc_bg);
|
lv_style_list_add_style(list, &arc_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SPINNER_PART_ARC);
|
||||||
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_ARC);
|
list = lv_obj_get_style_list(obj, LV_SPINNER_PART_ARC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &arc);
|
lv_style_list_add_style(list, &arc);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_SLIDER
|
#if LV_USE_SLIDER
|
||||||
case LV_THEME_SLIDER:
|
case LV_THEME_SLIDER:
|
||||||
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_bg);
|
lv_style_list_add_style(list, &bar_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_INDIC);
|
||||||
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC);
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_INDIC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bar_indic);
|
lv_style_list_add_style(list, &bar_indic);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SLIDER_PART_KNOB);
|
||||||
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB);
|
list = lv_obj_get_style_list(obj, LV_SLIDER_PART_KNOB);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &slider_knob);
|
lv_style_list_add_style(list, &slider_knob);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_CHECKBOX
|
#if LV_USE_CHECKBOX
|
||||||
case LV_THEME_CHECKBOX:
|
case LV_THEME_CHECKBOX:
|
||||||
|
lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &cb_bg);
|
lv_style_list_add_style(list, &cb_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CHECKBOX_PART_BULLET);
|
||||||
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET);
|
list = lv_obj_get_style_list(obj, LV_CHECKBOX_PART_BULLET);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &cb_bullet);
|
lv_style_list_add_style(list, &cb_bullet);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_MSGBOX
|
#if LV_USE_MSGBOX
|
||||||
case LV_THEME_MSGBOX:
|
case LV_THEME_MSGBOX:
|
||||||
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &bg);
|
lv_style_list_add_style(list, &bg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_MSGBOX_BTNS:
|
case LV_THEME_MSGBOX_BTNS:
|
||||||
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG);
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &mbox_btn_bg);
|
lv_style_list_add_style(list, &mbox_btn_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_MSGBOX_PART_BTN);
|
||||||
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN);
|
list = lv_obj_get_style_list(obj, LV_MSGBOX_PART_BTN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &btn);
|
lv_style_list_add_style(list, &btn);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_LED
|
#if LV_USE_LED
|
||||||
case LV_THEME_LED:
|
case LV_THEME_LED:
|
||||||
|
lv_obj_clean_style_list(obj, LV_LED_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_LED_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &led);
|
lv_style_list_add_style(list, &led);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_PAGE
|
#if LV_USE_PAGE
|
||||||
case LV_THEME_PAGE:
|
case LV_THEME_PAGE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &panel);
|
lv_style_list_add_style(list, &panel);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCRL);
|
||||||
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRL);
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_TABVIEW
|
#if LV_USE_TABVIEW
|
||||||
case LV_THEME_TABVIEW:
|
case LV_THEME_TABVIEW:
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &scr);
|
lv_style_list_add_style(list, &scr);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_BG_SCRL);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG_SCRL);
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_BG_SCRL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG);
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_btns_bg);
|
lv_style_list_add_style(list, &tabview_btns_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_INDIC);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC);
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_INDIC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_indic);
|
lv_style_list_add_style(list, &tabview_indic);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABVIEW_PART_TAB);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB);
|
list = lv_obj_get_style_list(obj, LV_TABVIEW_PART_TAB);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_btns);
|
lv_style_list_add_style(list, &tabview_btns);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_TABVIEW_PAGE:
|
case LV_THEME_TABVIEW_PAGE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_PAGE_PART_SCRL);
|
||||||
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRL);
|
list = lv_obj_get_style_list(obj, LV_PAGE_PART_SCRL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_page_scrl);
|
lv_style_list_add_style(list, &tabview_page_scrl);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -1137,16 +1140,16 @@ void lv_theme_material_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|||||||
|
|
||||||
#if LV_USE_TILEVIEW
|
#if LV_USE_TILEVIEW
|
||||||
case LV_THEME_TILEVIEW:
|
case LV_THEME_TILEVIEW:
|
||||||
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &scr);
|
lv_style_list_add_style(list, &scr);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH);
|
||||||
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH);
|
list = lv_obj_get_style_list(obj, LV_TILEVIEW_PART_EDGE_FLASH);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &btn);
|
lv_style_list_add_style(list, &btn);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -1154,12 +1157,12 @@ void lv_theme_material_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|||||||
|
|
||||||
#if LV_USE_ROLLER
|
#if LV_USE_ROLLER
|
||||||
case LV_THEME_ROLLER:
|
case LV_THEME_ROLLER:
|
||||||
|
lv_obj_clean_style_list(obj, LV_ROLLER_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &roller_bg);
|
lv_style_list_add_style(list, &roller_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_ROLLER_PART_SEL);
|
||||||
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SEL);
|
list = lv_obj_get_style_list(obj, LV_ROLLER_PART_SEL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &roller_sel);
|
lv_style_list_add_style(list, &roller_sel);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -1167,149 +1170,150 @@ void lv_theme_material_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|||||||
|
|
||||||
#if LV_USE_OBJMASK
|
#if LV_USE_OBJMASK
|
||||||
case LV_THEME_OBJMASK:
|
case LV_THEME_OBJMASK:
|
||||||
|
lv_obj_clean_style_list(obj, LV_OBJMASK_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_OBJMASK_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_LIST
|
#if LV_USE_LIST
|
||||||
case LV_THEME_LIST:
|
case LV_THEME_LIST:
|
||||||
|
lv_obj_clean_style_list(obj, LV_LIST_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_LIST_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_LIST_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &list_bg);
|
lv_style_list_add_style(list, &list_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_LIST_PART_SCRL);
|
||||||
list = lv_obj_get_style_list(obj, LV_LIST_PART_SCRL);
|
list = lv_obj_get_style_list(obj, LV_LIST_PART_SCRL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_LIST_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_LIST_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_LIST_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_LIST_BTN:
|
case LV_THEME_LIST_BTN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &list_btn);
|
lv_style_list_add_style(list, &list_btn);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_DROPDOWN
|
#if LV_USE_DROPDOWN
|
||||||
case LV_THEME_DROPDOWN:
|
case LV_THEME_DROPDOWN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_BTN);
|
||||||
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_BTN);
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_BTN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ddlist_btn);
|
lv_style_list_add_style(list, &ddlist_btn);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_LIST);
|
||||||
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST);
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_LIST);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ddlist_page);
|
lv_style_list_add_style(list, &ddlist_page);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_DROPDOWN_PART_SELECTED);
|
||||||
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED);
|
list = lv_obj_get_style_list(obj, LV_DROPDOWN_PART_SELECTED);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ddlist_sel);
|
lv_style_list_add_style(list, &ddlist_sel);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_CHART
|
#if LV_USE_CHART
|
||||||
case LV_THEME_CHART:
|
case LV_THEME_CHART:
|
||||||
|
lv_obj_clean_style_list(obj, LV_CHART_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_CHART_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &panel);
|
lv_style_list_add_style(list, &panel);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG);
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &chart_series_bg);
|
lv_style_list_add_style(list, &chart_series_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CHART_PART_SERIES);
|
||||||
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES);
|
list = lv_obj_get_style_list(obj, LV_CHART_PART_SERIES);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &chart_series);
|
lv_style_list_add_style(list, &chart_series);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_TABLE
|
#if LV_USE_TABLE
|
||||||
case LV_THEME_TABLE:
|
case LV_THEME_TABLE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL1);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1);
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL1);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &table_cell);
|
lv_style_list_add_style(list, &table_cell);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL2);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2);
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL2);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &table_cell);
|
lv_style_list_add_style(list, &table_cell);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL3);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3);
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL3);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &table_cell);
|
lv_style_list_add_style(list, &table_cell);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TABLE_PART_CELL4);
|
||||||
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4);
|
list = lv_obj_get_style_list(obj, LV_TABLE_PART_CELL4);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &table_cell);
|
lv_style_list_add_style(list, &table_cell);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_WIN
|
#if LV_USE_WIN
|
||||||
case LV_THEME_WIN:
|
case LV_THEME_WIN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_WIN_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_WIN_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &scr);
|
lv_style_list_add_style(list, &scr);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_WIN_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_WIN_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_WIN_PART_CONTENT_SCRL);
|
||||||
list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCRL);
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_CONTENT_SCRL);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_page_scrl);
|
lv_style_list_add_style(list, &tabview_page_scrl);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_WIN_PART_HEADER);
|
||||||
list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER);
|
list = lv_obj_get_style_list(obj, LV_WIN_PART_HEADER);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_btns_bg);
|
lv_style_list_add_style(list, &tabview_btns_bg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_WIN_BTN:
|
case LV_THEME_WIN_BTN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &tabview_btns);
|
lv_style_list_add_style(list, &tabview_btns);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_TEXTAREA
|
#if LV_USE_TEXTAREA
|
||||||
case LV_THEME_TEXTAREA:
|
case LV_THEME_TEXTAREA:
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_bg);
|
lv_style_list_add_style(list, &ta_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_placeholder);
|
lv_style_list_add_style(list, &ta_placeholder);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_cursor);
|
lv_style_list_add_style(list, &ta_cursor);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_TEXTAREA_ONELINE:
|
case LV_THEME_TEXTAREA_ONELINE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_oneline);
|
lv_style_list_add_style(list, &ta_oneline);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_PLACEHOLDER);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_placeholder);
|
lv_style_list_add_style(list, &ta_placeholder);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_CURSOR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_cursor);
|
lv_style_list_add_style(list, &ta_cursor);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
||||||
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
list = lv_obj_get_style_list(obj, LV_TEXTAREA_PART_SCRLBAR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &sb);
|
lv_style_list_add_style(list, &sb);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
@@ -1317,72 +1321,72 @@ void lv_theme_material_apply(lv_obj_t * obj, lv_theme_style_t name)
|
|||||||
|
|
||||||
#if LV_USE_SPINBOX
|
#if LV_USE_SPINBOX
|
||||||
case LV_THEME_SPINBOX:
|
case LV_THEME_SPINBOX:
|
||||||
|
lv_obj_clean_style_list(obj, LV_SPINBOX_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &ta_bg);
|
lv_style_list_add_style(list, &ta_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_SPINBOX_PART_CURSOR);
|
||||||
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR);
|
list = lv_obj_get_style_list(obj, LV_SPINBOX_PART_CURSOR);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &spinbox_cursor);
|
lv_style_list_add_style(list, &spinbox_cursor);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LV_THEME_SPINBOX_BTN:
|
case LV_THEME_SPINBOX_BTN:
|
||||||
|
lv_obj_clean_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_BTN_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &spinbox_btn);
|
lv_style_list_add_style(list, &spinbox_btn);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_CALENDAR
|
#if LV_USE_CALENDAR
|
||||||
case LV_THEME_CALENDAR:
|
case LV_THEME_CALENDAR:
|
||||||
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_BG);
|
||||||
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG);
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_BG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &panel);
|
lv_style_list_add_style(list, &panel);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DATE);
|
||||||
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE);
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DATE);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &calendar_date_nums);
|
lv_style_list_add_style(list, &calendar_date_nums);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_HEADER);
|
||||||
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER);
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_HEADER);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &calendar_header);
|
lv_style_list_add_style(list, &calendar_header);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CALENDAR_PART_DAY_NAMES);
|
||||||
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES);
|
list = lv_obj_get_style_list(obj, LV_CALENDAR_PART_DAY_NAMES);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &calendar_daynames);
|
lv_style_list_add_style(list, &calendar_daynames);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_CPICKER
|
#if LV_USE_CPICKER
|
||||||
case LV_THEME_CPICKER:
|
case LV_THEME_CPICKER:
|
||||||
|
lv_obj_clean_style_list(obj, LV_CPICKER_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &cpicker_bg);
|
lv_style_list_add_style(list, &cpicker_bg);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_CPICKER_PART_INDIC);
|
||||||
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_INDIC);
|
list = lv_obj_get_style_list(obj, LV_CPICKER_PART_INDIC);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &cpicker_indic);
|
lv_style_list_add_style(list, &cpicker_indic);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if LV_USE_LMETER
|
#if LV_USE_LINEMETER
|
||||||
case LV_THEME_LINEMETER:
|
case LV_THEME_LINEMETER:
|
||||||
|
lv_obj_clean_style_list(obj, LV_LINEMETER_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_LINEMETER_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &lmeter);
|
lv_style_list_add_style(list, &lmeter);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if LV_USE_GAUGE
|
#if LV_USE_GAUGE
|
||||||
case LV_THEME_GAUGE:
|
case LV_THEME_GAUGE:
|
||||||
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_MAIN);
|
||||||
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN);
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_MAIN);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &gauge_main);
|
lv_style_list_add_style(list, &gauge_main);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_STRONG);
|
||||||
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_STRONG);
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_STRONG);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &gauge_strong);
|
lv_style_list_add_style(list, &gauge_strong);
|
||||||
|
|
||||||
|
lv_obj_clean_style_list(obj, LV_GAUGE_PART_NEEDLE);
|
||||||
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE);
|
list = lv_obj_get_style_list(obj, LV_GAUGE_PART_NEEDLE);
|
||||||
lv_style_list_reset(list);
|
|
||||||
lv_style_list_add_style(list, &gauge_needle);
|
lv_style_list_add_style(list, &gauge_needle);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -420,7 +420,7 @@ static lv_res_t lv_arc_signal(lv_obj_t * arc, lv_signal_t sign, void * param)
|
|||||||
|
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_arc_ext_t * ext = lv_obj_get_ext_attr(arc);
|
lv_arc_ext_t * ext = lv_obj_get_ext_attr(arc);
|
||||||
lv_style_list_reset(&ext->style_arc);
|
lv_obj_clean_style_list(arc, LV_ARC_PART_ARC);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -627,7 +627,7 @@ static lv_res_t lv_bar_signal(lv_obj_t * bar, lv_signal_t sign, void * param)
|
|||||||
}
|
}
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
lv_bar_ext_t * ext = lv_obj_get_ext_attr(bar);
|
||||||
lv_style_list_reset(&ext->style_indic);
|
lv_obj_clean_style_list(bar, LV_BAR_PART_INDIC);
|
||||||
#if LV_USE_ANIMATION
|
#if LV_USE_ANIMATION
|
||||||
lv_anim_del(&ext->cur_value_anim, NULL);
|
lv_anim_del(&ext->cur_value_anim, NULL);
|
||||||
lv_anim_del(&ext->start_value_anim, NULL);
|
lv_anim_del(&ext->start_value_anim, NULL);
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ lv_obj_t * lv_btnmatrix_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
ext->recolor = 0;
|
ext->recolor = 0;
|
||||||
ext->one_toggle = 0;
|
ext->one_toggle = 0;
|
||||||
lv_style_list_init(&ext->style_btn);
|
lv_style_list_init(&ext->style_btn);
|
||||||
|
ext->style_btn.ignore_trans = 1;
|
||||||
|
|
||||||
if(ancestor_design_f == NULL) ancestor_design_f = lv_obj_get_design_cb(btnm);
|
if(ancestor_design_f == NULL) ancestor_design_f = lv_obj_get_design_cb(btnm);
|
||||||
|
|
||||||
@@ -778,6 +779,7 @@ static lv_res_t lv_btnmatrix_signal(lv_obj_t * btnm, lv_signal_t sign, void * pa
|
|||||||
lv_btnmatrix_ext_t * ext = lv_obj_get_ext_attr(btnm);
|
lv_btnmatrix_ext_t * ext = lv_obj_get_ext_attr(btnm);
|
||||||
lv_point_t p;
|
lv_point_t p;
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
|
lv_obj_clean_style_list(btnm, LV_BTNMATRIX_PART_BTN);
|
||||||
lv_mem_free(ext->button_areas);
|
lv_mem_free(ext->button_areas);
|
||||||
lv_mem_free(ext->ctrl_bits);
|
lv_mem_free(ext->ctrl_bits);
|
||||||
} else if(sign == LV_SIGNAL_STYLE_CHG) {
|
} else if(sign == LV_SIGNAL_STYLE_CHG) {
|
||||||
|
|||||||
@@ -119,6 +119,9 @@ lv_obj_t * lv_calendar_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
lv_style_list_init(&ext->style_date_nums);
|
lv_style_list_init(&ext->style_date_nums);
|
||||||
lv_style_list_init(&ext->style_day_names);
|
lv_style_list_init(&ext->style_day_names);
|
||||||
lv_style_list_init(&ext->style_header);
|
lv_style_list_init(&ext->style_header);
|
||||||
|
ext->style_date_nums.skip_trans = 1;
|
||||||
|
ext->style_day_names.skip_trans = 1;
|
||||||
|
ext->style_header.skip_trans = 1;
|
||||||
|
|
||||||
/*The signal and design functions are not copied so set them here*/
|
/*The signal and design functions are not copied so set them here*/
|
||||||
lv_obj_set_signal_cb(calendar, lv_calendar_signal);
|
lv_obj_set_signal_cb(calendar, lv_calendar_signal);
|
||||||
@@ -426,10 +429,9 @@ static lv_res_t lv_calendar_signal(lv_obj_t * calendar, lv_signal_t sign, void *
|
|||||||
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
if(sign == LV_SIGNAL_GET_TYPE) return lv_obj_handle_get_type_signal(param, LV_OBJX_NAME);
|
||||||
|
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar);
|
lv_obj_clean_style_list(calendar, LV_CALENDAR_PART_HEADER);
|
||||||
lv_style_list_reset(&ext->style_header);
|
lv_obj_clean_style_list(calendar, LV_CALENDAR_PART_DAY_NAMES);
|
||||||
lv_style_list_reset(&ext->style_day_names);
|
lv_obj_clean_style_list(calendar, LV_CALENDAR_PART_DATE);
|
||||||
lv_style_list_reset(&ext->style_date_nums);
|
|
||||||
} else if(sign == LV_SIGNAL_PRESSING) {
|
} else if(sign == LV_SIGNAL_PRESSING) {
|
||||||
lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar);
|
lv_calendar_ext_t * ext = lv_obj_get_ext_attr(calendar);
|
||||||
lv_area_t header_area;
|
lv_area_t header_area;
|
||||||
@@ -459,7 +461,7 @@ static lv_res_t lv_calendar_signal(lv_obj_t * calendar, lv_signal_t sign, void *
|
|||||||
ext->btn_pressing = 0;
|
ext->btn_pressing = 0;
|
||||||
lv_obj_invalidate(calendar);
|
lv_obj_invalidate(calendar);
|
||||||
}
|
}
|
||||||
/*ELse set a default state*/
|
/*Else set a default state*/
|
||||||
else {
|
else {
|
||||||
if(ext->btn_pressing != 0) lv_obj_invalidate(calendar);
|
if(ext->btn_pressing != 0) lv_obj_invalidate(calendar);
|
||||||
ext->btn_pressing = 0;
|
ext->btn_pressing = 0;
|
||||||
|
|||||||
@@ -653,8 +653,8 @@ static lv_res_t lv_chart_signal(lv_obj_t * chart, lv_signal_t sign, void * param
|
|||||||
}
|
}
|
||||||
lv_ll_clear(&ext->series_ll);
|
lv_ll_clear(&ext->series_ll);
|
||||||
|
|
||||||
lv_style_list_reset(&ext->style_series);
|
lv_obj_clean_style_list(chart, LV_CHART_PART_SERIES);
|
||||||
lv_style_list_reset(&ext->style_series_bg);
|
lv_obj_clean_style_list(chart, LV_CHART_PART_SERIES_BG);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -661,7 +661,7 @@ static lv_res_t lv_cpicker_signal(lv_obj_t * cpicker, lv_signal_t sign, void * p
|
|||||||
lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker);
|
lv_cpicker_ext_t * ext = lv_obj_get_ext_attr(cpicker);
|
||||||
|
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_style_list_reset(&ext->indic.style_list);
|
lv_obj_clean_style_list(cpicker, LV_CPICKER_PART_INDIC);
|
||||||
} else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) {
|
} else if(sign == LV_SIGNAL_REFR_EXT_DRAW_PAD) {
|
||||||
lv_style_int_t left = lv_obj_get_style_pad_left(cpicker, LV_CPICKER_PART_INDIC);
|
lv_style_int_t left = lv_obj_get_style_pad_left(cpicker, LV_CPICKER_PART_INDIC);
|
||||||
lv_style_int_t right = lv_obj_get_style_pad_right(cpicker, LV_CPICKER_PART_INDIC);
|
lv_style_int_t right = lv_obj_get_style_pad_right(cpicker, LV_CPICKER_PART_INDIC);
|
||||||
|
|||||||
@@ -467,7 +467,7 @@ void lv_dropdown_open(lv_obj_t * ddlist, lv_anim_enable_t anim)
|
|||||||
|
|
||||||
lv_style_list_copy(lv_obj_get_style_list(ext->page, LV_PAGE_PART_BG), &ext->style_page);
|
lv_style_list_copy(lv_obj_get_style_list(ext->page, LV_PAGE_PART_BG), &ext->style_page);
|
||||||
lv_style_list_copy(lv_obj_get_style_list(ext->page, LV_PAGE_PART_SCRLBAR), &ext->style_scrlbar);
|
lv_style_list_copy(lv_obj_get_style_list(ext->page, LV_PAGE_PART_SCRLBAR), &ext->style_scrlbar);
|
||||||
lv_style_list_reset(lv_obj_get_style_list(ext->page, LV_PAGE_PART_SCRL));
|
lv_obj_clean_style_list(ext->page, LV_PAGE_PART_SCRL);
|
||||||
lv_obj_refresh_style(ext->page);
|
lv_obj_refresh_style(ext->page);
|
||||||
|
|
||||||
lv_page_set_scrl_fit(ext->page, LV_FIT_TIGHT);
|
lv_page_set_scrl_fit(ext->page, LV_FIT_TIGHT);
|
||||||
@@ -742,9 +742,13 @@ static lv_res_t lv_dropdown_signal(lv_obj_t * ddlist, lv_signal_t sign, void * p
|
|||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_CLEANUP) {
|
else if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_dropdown_close(ddlist, LV_ANIM_OFF);
|
lv_dropdown_close(ddlist, LV_ANIM_OFF);
|
||||||
|
|
||||||
|
/*`lv_obj_clean_style_list` is not required because these styles are only copied to the page
|
||||||
|
* so they can have transitions or other object related things. */
|
||||||
lv_style_list_reset(&ext->style_page);
|
lv_style_list_reset(&ext->style_page);
|
||||||
lv_style_list_reset(&ext->style_scrlbar);
|
lv_style_list_reset(&ext->style_scrlbar);
|
||||||
lv_style_list_reset(&ext->style_selected);
|
lv_style_list_reset(&ext->style_selected);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_FOCUS) {
|
else if(sign == LV_SIGNAL_FOCUS) {
|
||||||
#if LV_USE_GROUP
|
#if LV_USE_GROUP
|
||||||
|
|||||||
@@ -397,8 +397,8 @@ static lv_res_t lv_gauge_signal(lv_obj_t * gauge, lv_signal_t sign, void * param
|
|||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_mem_free(ext->values);
|
lv_mem_free(ext->values);
|
||||||
ext->values = NULL;
|
ext->values = NULL;
|
||||||
lv_style_list_reset(&ext->style_needle);
|
lv_obj_clean_style_list(gauge, LV_GAUGE_PART_NEEDLE);
|
||||||
lv_style_list_reset(&ext->style_strong);
|
lv_obj_clean_style_list(gauge, LV_GAUGE_PART_STRONG);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -741,9 +741,9 @@ static lv_res_t lv_page_signal(lv_obj_t * page, lv_signal_t sign, void * param)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
lv_style_list_reset(&ext->scrlbar.style);
|
lv_obj_clean_style_list(page, LV_PAGE_PART_SCRLBAR);
|
||||||
#if LV_USE_ANIMATION
|
#if LV_USE_ANIMATION
|
||||||
lv_style_list_reset(&ext->edge_flash.style);
|
lv_obj_clean_style_list(page, LV_PAGE_PART_EDGE_FLASH);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
/*Automatically move children to the scrollable object*/
|
/*Automatically move children to the scrollable object*/
|
||||||
@@ -1013,10 +1013,6 @@ static lv_res_t lv_page_scrollable_signal(lv_obj_t * scrl, lv_signal_t sign, voi
|
|||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_CLEANUP) {
|
else if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
page_ext->scrl = NULL;
|
page_ext->scrl = NULL;
|
||||||
#if LV_USE_ANIMATION
|
|
||||||
lv_style_list_reset(&page_ext->edge_flash.style);
|
|
||||||
#endif
|
|
||||||
lv_style_list_reset(&page_ext->scrlbar.style);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -111,7 +111,8 @@ lv_obj_t * lv_roller_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
|
|
||||||
lv_obj_set_signal_cb(scrl, lv_roller_scrl_signal);
|
lv_obj_set_signal_cb(scrl, lv_roller_scrl_signal);
|
||||||
|
|
||||||
lv_style_list_reset(lv_obj_get_style_list(roller, LV_PAGE_PART_SCRL));
|
|
||||||
|
lv_obj_clean_style_list(roller, LV_PAGE_PART_SCRL); /*Use a transparent scrollable*/
|
||||||
lv_theme_apply(roller, LV_THEME_ROLLER);
|
lv_theme_apply(roller, LV_THEME_ROLLER);
|
||||||
refr_height(roller);
|
refr_height(roller);
|
||||||
|
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
if(res != LV_RES_OK) return res;
|
if(res != LV_RES_OK) return res;
|
||||||
}
|
}
|
||||||
} else if(sign == LV_SIGNAL_CLEANUP) {
|
} else if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_style_list_reset(&ext->style_knob);
|
lv_obj_clean_style_list(slider, LV_SLIDER_PART_KNOB);
|
||||||
} else if(sign == LV_SIGNAL_GET_EDITABLE) {
|
} else if(sign == LV_SIGNAL_GET_EDITABLE) {
|
||||||
bool * editable = (bool *)param;
|
bool * editable = (bool *)param;
|
||||||
*editable = true;
|
*editable = true;
|
||||||
|
|||||||
@@ -278,8 +278,7 @@ static lv_res_t lv_switch_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
|||||||
if(res != LV_RES_OK) return res;
|
if(res != LV_RES_OK) return res;
|
||||||
|
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
lv_switch_ext_t * ext = lv_obj_get_ext_attr(sw);
|
lv_obj_clean_style_list(sw, LV_SWITCH_PART_KNOB);
|
||||||
lv_style_list_reset(&ext->style_knob);
|
|
||||||
} else if(sign == LV_SIGNAL_RELEASED) {
|
} else if(sign == LV_SIGNAL_RELEASED) {
|
||||||
if(lv_switch_get_state(sw)) lv_switch_off(sw, LV_ANIM_ON);
|
if(lv_switch_get_state(sw)) lv_switch_off(sw, LV_ANIM_ON);
|
||||||
else lv_switch_on(sw, LV_ANIM_ON);
|
else lv_switch_on(sw, LV_ANIM_ON);
|
||||||
|
|||||||
@@ -793,7 +793,7 @@ static lv_res_t lv_table_signal(lv_obj_t * table, lv_signal_t sign, void * param
|
|||||||
if(ext->cell_data != NULL) lv_mem_free(ext->cell_data);
|
if(ext->cell_data != NULL) lv_mem_free(ext->cell_data);
|
||||||
|
|
||||||
for(i = 0; i < LV_TABLE_CELL_STYLE_CNT; i++) {
|
for(i = 0; i < LV_TABLE_CELL_STYLE_CNT; i++) {
|
||||||
lv_style_list_reset(&ext->cell_style[i]);
|
lv_obj_clean_style_list(table, LV_TABLE_PART_CELL1 + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sign == LV_SIGNAL_STYLE_CHG) {
|
else if(sign == LV_SIGNAL_STYLE_CHG) {
|
||||||
|
|||||||
@@ -135,13 +135,13 @@ lv_obj_t * lv_tabview_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
lv_obj_set_event_cb(ext->btns, tab_btnm_event_cb);
|
lv_obj_set_event_cb(ext->btns, tab_btnm_event_cb);
|
||||||
|
|
||||||
lv_obj_set_click(ext->indic, false);
|
lv_obj_set_click(ext->indic, false);
|
||||||
|
lv_obj_set_drag_dir(lv_page_get_scrl(ext->content), LV_DRAG_DIR_ONE);
|
||||||
|
|
||||||
lv_page_set_scrl_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_PARENT);
|
lv_page_set_scrl_fit2(ext->content, LV_FIT_TIGHT, LV_FIT_PARENT);
|
||||||
lv_page_set_scrl_layout(ext->content, LV_LAYOUT_ROW_TOP);
|
lv_page_set_scrl_layout(ext->content, LV_LAYOUT_ROW_TOP);
|
||||||
lv_page_set_sb_mode(ext->content, LV_SB_MODE_OFF);
|
lv_page_set_sb_mode(ext->content, LV_SB_MODE_OFF);
|
||||||
lv_obj_set_drag_dir(lv_page_get_scrl(ext->content), LV_DRAG_DIR_ONE);
|
|
||||||
|
|
||||||
lv_style_list_reset(lv_obj_get_style_list(ext->content, LV_PAGE_PART_BG));
|
lv_obj_clean_style_list(ext->content, LV_PAGE_PART_BG);
|
||||||
|
|
||||||
lv_theme_apply(tabview, LV_THEME_TABVIEW);
|
lv_theme_apply(tabview, LV_THEME_TABVIEW);
|
||||||
|
|
||||||
|
|||||||
@@ -1361,7 +1361,7 @@ static lv_res_t lv_textarea_signal(lv_obj_t * ta, lv_signal_t sign, void * param
|
|||||||
if(ext->pwd_tmp != NULL) lv_mem_free(ext->pwd_tmp);
|
if(ext->pwd_tmp != NULL) lv_mem_free(ext->pwd_tmp);
|
||||||
/* (The created label will be deleted automatically) */
|
/* (The created label will be deleted automatically) */
|
||||||
|
|
||||||
lv_style_list_reset(&ext->cursor.style);
|
lv_obj_clean_style_list(ta, LV_TEXTAREA_PART_CURSOR);
|
||||||
} else if(sign == LV_SIGNAL_STYLE_CHG) {
|
} else if(sign == LV_SIGNAL_STYLE_CHG) {
|
||||||
if(ext->label) {
|
if(ext->label) {
|
||||||
if(ext->one_line) {
|
if(ext->one_line) {
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ lv_obj_t * lv_win_create(lv_obj_t * par, const lv_obj_t * copy)
|
|||||||
ext->page = lv_page_create(new_win, NULL);
|
ext->page = lv_page_create(new_win, NULL);
|
||||||
lv_obj_add_protect(ext->page, LV_PROTECT_PARENT);
|
lv_obj_add_protect(ext->page, LV_PROTECT_PARENT);
|
||||||
lv_page_set_sb_mode(ext->page, LV_SB_MODE_AUTO);
|
lv_page_set_sb_mode(ext->page, LV_SB_MODE_AUTO);
|
||||||
lv_style_list_reset(lv_obj_get_style_list(ext->page, LV_PAGE_PART_BG));
|
lv_obj_clean_style_list(ext->page, LV_PAGE_PART_BG);
|
||||||
|
|
||||||
/*Create a holder for the header*/
|
/*Create a holder for the header*/
|
||||||
ext->header = lv_obj_create(new_win, NULL);
|
ext->header = lv_obj_create(new_win, NULL);
|
||||||
|
|||||||
Reference in New Issue
Block a user