ddlist and roller group updates + updates with USE_LV_ANIMATION = 0
This commit is contained in:
@@ -202,7 +202,7 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
||||
else old_val = lv_slider_get_value(sw);
|
||||
|
||||
/*Do not let the slider to call the callback. The Switch will do it if required*/
|
||||
lv_action_t slider_cb = ext->slider.action;
|
||||
lv_action_t slider_action = ext->slider.action;
|
||||
ext->slider.action = NULL;
|
||||
|
||||
lv_res_t res;
|
||||
@@ -232,10 +232,28 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
||||
if(lv_sw_get_state(sw)) lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_on);
|
||||
else lv_slider_set_style(sw, LV_SLIDER_STYLE_KNOB, ext->style_knob_off);
|
||||
|
||||
if(slider_cb != NULL) slider_cb(sw);
|
||||
if(slider_action != NULL) slider_action(sw);
|
||||
|
||||
ext->changed = 0;
|
||||
}
|
||||
else if(sign == LV_SIGNAL_CONTROLL) {
|
||||
|
||||
char c = *((char*)param);
|
||||
if(c == LV_GROUP_KEY_ENTER || c == LV_GROUP_KEY_ENTER_LONG) {
|
||||
if(lv_sw_get_state(sw)) lv_sw_off(sw);
|
||||
else lv_sw_on(sw);
|
||||
|
||||
if(slider_action) slider_action(sw);
|
||||
}
|
||||
else if(c == LV_GROUP_KEY_UP || c== LV_GROUP_KEY_RIGHT) {
|
||||
lv_sw_on(sw);
|
||||
if(slider_action) slider_action(sw);
|
||||
}
|
||||
else if(c == LV_GROUP_KEY_DOWN || c== LV_GROUP_KEY_LEFT) {
|
||||
lv_sw_off(sw);
|
||||
if(slider_action) slider_action(sw);
|
||||
}
|
||||
}
|
||||
else if(sign == LV_SIGNAL_GET_TYPE) {
|
||||
lv_obj_type_t * buf = param;
|
||||
uint8_t i;
|
||||
@@ -246,7 +264,7 @@ static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
||||
}
|
||||
|
||||
/*Restore the callback*/
|
||||
ext->slider.action = slider_cb;
|
||||
ext->slider.action = slider_action;
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user