mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-29 22:56:58 +08:00
slider and sw update
This commit is contained in:
+9
-4
@@ -256,13 +256,17 @@ static bool lv_slider_design(lv_obj_t * slider, const area_t * mask, lv_design_m
|
|||||||
|
|
||||||
/*If dragged draw to the drag position*/
|
/*If dragged draw to the drag position*/
|
||||||
if(ext->drag_value != LV_SLIDER_NOT_PRESSED) cur_value = ext->drag_value;
|
if(ext->drag_value != LV_SLIDER_NOT_PRESSED) cur_value = ext->drag_value;
|
||||||
|
else {
|
||||||
|
char x = 'a';
|
||||||
|
x++;
|
||||||
|
}
|
||||||
|
|
||||||
if(slider_w >= slider_h) {
|
if(slider_w >= slider_h) {
|
||||||
area_indic.x2 = (int32_t) ((int32_t)area_get_width(&area_indic) * cur_value) / (max_value - min_value);
|
area_indic.x2 = (int32_t) ((int32_t)area_get_width(&area_indic) * (cur_value - min_value)) / (max_value - min_value);
|
||||||
area_indic.x2 += area_indic.x1;
|
area_indic.x2 += area_indic.x1;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
area_indic.y1 = (int32_t) ((int32_t)area_get_height(&area_indic) * cur_value) / (max_value - min_value);
|
area_indic.y1 = (int32_t) ((int32_t)area_get_height(&area_indic) * (cur_value - min_value)) / (max_value - min_value);
|
||||||
area_indic.y1 = area_indic.y2 - area_indic.y1;
|
area_indic.y1 = area_indic.y2 - area_indic.y1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,6 +342,7 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
cord_t knob_w = h;
|
cord_t knob_w = h;
|
||||||
p.x -= slider->coords.x1 + h / 2; /*Modify the point to shift with half knob (important on the start and end)*/
|
p.x -= slider->coords.x1 + h / 2; /*Modify the point to shift with half knob (important on the start and end)*/
|
||||||
ext->drag_value = (int32_t) ((int32_t) p.x * (ext->bar.max_value - ext->bar.min_value + 1)) / (w - knob_w);
|
ext->drag_value = (int32_t) ((int32_t) p.x * (ext->bar.max_value - ext->bar.min_value + 1)) / (w - knob_w);
|
||||||
|
ext->drag_value += ext->bar.min_value;
|
||||||
} else {
|
} else {
|
||||||
cord_t knob_h = w;
|
cord_t knob_h = w;
|
||||||
p.y -= slider->coords.y1 + w / 2; /*Modify the point to shift with half knob (important on the start and end)*/
|
p.y -= slider->coords.y1 + w / 2; /*Modify the point to shift with half knob (important on the start and end)*/
|
||||||
@@ -347,11 +352,11 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
|
|
||||||
if(ext->drag_value < ext->bar.min_value) ext->drag_value = ext->bar.min_value;
|
if(ext->drag_value < ext->bar.min_value) ext->drag_value = ext->bar.min_value;
|
||||||
else if(ext->drag_value > ext->bar.max_value) ext->drag_value = ext->bar.max_value;
|
else if(ext->drag_value > ext->bar.max_value) ext->drag_value = ext->bar.max_value;
|
||||||
|
|
||||||
lv_obj_invalidate(slider);
|
lv_obj_invalidate(slider);
|
||||||
}
|
}
|
||||||
else if (sign == LV_SIGNAL_PRESS_LOST) {
|
else if (sign == LV_SIGNAL_PRESS_LOST) {
|
||||||
ext->drag_value = LV_SLIDER_NOT_PRESSED;
|
ext->drag_value = LV_SLIDER_NOT_PRESSED;
|
||||||
|
lv_obj_invalidate(slider);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (sign == LV_SIGNAL_RELEASED) {
|
else if (sign == LV_SIGNAL_RELEASED) {
|
||||||
@@ -368,7 +373,7 @@ static lv_res_t lv_slider_signal(lv_obj_t * slider, lv_signal_t sign, void * par
|
|||||||
}
|
}
|
||||||
} else if(sign == LV_SIGNAL_REFR_EXT_SIZE) {
|
} else if(sign == LV_SIGNAL_REFR_EXT_SIZE) {
|
||||||
if(ext->knob_in == 0) {
|
if(ext->knob_in == 0) {
|
||||||
cord_t x = MATH_MIN(w, h); /*The smaller size is the knob diameter*/
|
cord_t x = MATH_MIN(w / 2, h / 2); /*The smaller size is the knob diameter*/
|
||||||
if(slider->ext_size < x) slider->ext_size = x;
|
if(slider->ext_size < x) slider->ext_size = x;
|
||||||
} else {
|
} else {
|
||||||
lv_style_t * style = lv_obj_get_style(slider);
|
lv_style_t * style = lv_obj_get_style(slider);
|
||||||
|
|||||||
+115
-81
@@ -22,13 +22,12 @@
|
|||||||
/**********************
|
/**********************
|
||||||
* STATIC PROTOTYPES
|
* STATIC PROTOTYPES
|
||||||
**********************/
|
**********************/
|
||||||
#if 0 /*Slider design is used*/
|
static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param);
|
||||||
static bool lv_sw_design(lv_obj_t * sw, const area_t * mask, lv_design_mode_t mode);
|
|
||||||
#endif
|
|
||||||
static lv_signal_func_t ancestor_signal;
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC VARIABLES
|
* STATIC VARIABLES
|
||||||
**********************/
|
**********************/
|
||||||
|
static lv_signal_func_t ancestor_signal;
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
@@ -74,8 +73,12 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, lv_obj_t * copy)
|
|||||||
}
|
}
|
||||||
/*Copy an existing switch*/
|
/*Copy an existing switch*/
|
||||||
else {
|
else {
|
||||||
/*Nothing to copy*/
|
lv_sw_ext_t *copy_ext = lv_obj_get_ext_attr(copy);
|
||||||
|
ext->knob_off_style = copy_ext->knob_off_style;
|
||||||
|
ext->knob_on_style = copy_ext->knob_on_style;
|
||||||
|
|
||||||
|
if(lv_sw_get_state(new_sw)) lv_slider_set_style(new_sw, NULL, NULL, ext->knob_on_style);
|
||||||
|
else lv_slider_set_style(new_sw, NULL, NULL, ext->knob_off_style);
|
||||||
/*Refresh the style with new signal function*/
|
/*Refresh the style with new signal function*/
|
||||||
lv_obj_refresh_style(new_sw);
|
lv_obj_refresh_style(new_sw);
|
||||||
}
|
}
|
||||||
@@ -83,107 +86,138 @@ lv_obj_t * lv_sw_create(lv_obj_t * par, lv_obj_t * copy)
|
|||||||
return new_sw;
|
return new_sw;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Signal function of the switch
|
|
||||||
* @param sw pointer to a switch object
|
|
||||||
* @param sign a signal type from lv_signal_t enum
|
|
||||||
* @param param pointer to a signal specific variable
|
|
||||||
* @return true: the object is still valid (not deleted), false: the object become invalid
|
|
||||||
*/
|
|
||||||
bool lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
|
||||||
{
|
|
||||||
bool valid;
|
|
||||||
|
|
||||||
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
|
||||||
int16_t old_val = lv_slider_get_value(sw);
|
|
||||||
|
|
||||||
lv_action_t slider_cb = ext->slider.action;
|
|
||||||
ext->slider.action = NULL; /*Do not let the slider to call the callback. The Switch will do it*/
|
|
||||||
|
|
||||||
/* Include the ancient signal function */
|
|
||||||
valid = ancestor_signal(sw, sign, param);
|
|
||||||
|
|
||||||
/* The object can be deleted so check its validity and then
|
|
||||||
* make the object specific signal handling */
|
|
||||||
if(valid != false) {
|
|
||||||
if(sign == LV_SIGNAL_CLEANUP) {
|
|
||||||
/*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/
|
|
||||||
}
|
|
||||||
else if(sign == LV_SIGNAL_PRESSING) {
|
|
||||||
int16_t act_val = lv_slider_get_value(sw);
|
|
||||||
if(act_val != old_val) ext->changed = 1;
|
|
||||||
}
|
|
||||||
else if(sign == LV_SIGNAL_PRESS_LOST) {
|
|
||||||
ext->changed = 0;
|
|
||||||
}
|
|
||||||
else if(sign == LV_SIGNAL_RELEASED) {
|
|
||||||
if(ext->changed == 0) {
|
|
||||||
int16_t v = lv_slider_get_value(sw);
|
|
||||||
if(v == 0) lv_slider_set_value(sw, 1);
|
|
||||||
else lv_slider_set_value(sw, 0);
|
|
||||||
}
|
|
||||||
if(slider_cb != NULL) slider_cb(sw);
|
|
||||||
|
|
||||||
ext->changed = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*Restore the callback*/
|
|
||||||
ext->slider.action = slider_cb;
|
|
||||||
|
|
||||||
return valid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Setter functions
|
* Setter functions
|
||||||
*====================*/
|
*====================*/
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* New object specific "set" function comes here
|
* Turn ON the switch
|
||||||
|
* @param sw pointer to a switch object
|
||||||
*/
|
*/
|
||||||
|
void lv_sw_set_on(lv_obj_t *sw)
|
||||||
|
{
|
||||||
|
lv_sw_ext_t *ext = lv_obj_get_ext_attr(sw);
|
||||||
|
lv_slider_set_value(sw, 1);
|
||||||
|
lv_slider_set_style(sw, NULL, NULL,ext->knob_on_style);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn OFF the switch
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
*/
|
||||||
|
void lv_sw_set_off(lv_obj_t *sw)
|
||||||
|
{
|
||||||
|
lv_sw_ext_t *ext = lv_obj_get_ext_attr(sw);
|
||||||
|
lv_slider_set_value(sw, 0);
|
||||||
|
lv_slider_set_style(sw, NULL, NULL,ext->knob_off_style);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the styles of a switch
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
* @param bg pointer to the background's style
|
||||||
|
* @param indic pointer to the indicator's style
|
||||||
|
* @param knob_off pointer to the knob's style when the switch is OFF
|
||||||
|
* @param knob_on pointer to the knob's style when the switch is ON
|
||||||
|
*/
|
||||||
|
void lv_sw_set_style(lv_obj_t * sw, lv_style_t *bg, lv_style_t *indic, lv_style_t *knob_off, lv_style_t *knob_on)
|
||||||
|
{
|
||||||
|
lv_sw_ext_t *ext = lv_obj_get_ext_attr(sw);
|
||||||
|
|
||||||
|
ext->knob_on_style = knob_on;
|
||||||
|
ext->knob_off_style = knob_off;
|
||||||
|
|
||||||
|
if(lv_sw_get_state(sw)) lv_slider_set_style(sw, bg, indic, knob_on);
|
||||||
|
else lv_slider_set_style(sw, bg, indic, knob_off);
|
||||||
|
}
|
||||||
|
|
||||||
/*=====================
|
/*=====================
|
||||||
* Getter functions
|
* Getter functions
|
||||||
*====================*/
|
*====================*/
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* New object specific "get" function comes here
|
* Get the style of the switch's knob when the switch is OFF
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
* @return pointer to the switch's knob OFF style
|
||||||
*/
|
*/
|
||||||
|
lv_style_t * lv_sw_get_style_knob_off(lv_obj_t *sw)
|
||||||
|
{
|
||||||
|
lv_sw_ext_t *ext = lv_obj_get_ext_attr(sw);
|
||||||
|
return ext->knob_off_style;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style of the switch's knob when the switch is ON
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
* @return pointer to the switch's knob ON style
|
||||||
|
*/
|
||||||
|
lv_style_t * lv_sw_get_style_knob_on(lv_obj_t *sw)
|
||||||
|
{
|
||||||
|
lv_sw_ext_t *ext = lv_obj_get_ext_attr(sw);
|
||||||
|
return ext->knob_on_style;
|
||||||
|
}
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* STATIC FUNCTIONS
|
* STATIC FUNCTIONS
|
||||||
**********************/
|
**********************/
|
||||||
|
|
||||||
#if 0 /*Slider design is used*/
|
|
||||||
/**
|
/**
|
||||||
* Handle the drawing related tasks of the switchs
|
* Signal function of the switch
|
||||||
* @param sw pointer to an object
|
* @param sw pointer to a switch object
|
||||||
* @param mask the object will be drawn only in this area
|
* @param sign a signal type from lv_signal_t enum
|
||||||
* @param mode LV_DESIGN_COVER_CHK: only check if the object fully covers the 'mask_p' area
|
* @param param pointer to a signal specific variable
|
||||||
* (return 'true' if yes)
|
* @return LV_RES_OK: the object is not deleted in the function; LV_RES_INV: the object is deleted
|
||||||
* LV_DESIGN_DRAW: draw the object (always return 'true')
|
|
||||||
* LV_DESIGN_DRAW_POST: drawing after every children are drawn
|
|
||||||
* @param return true/false, depends on 'mode'
|
|
||||||
*/
|
*/
|
||||||
static bool lv_sw_design(lv_obj_t * sw, const area_t * mask, lv_design_mode_t mode)
|
static lv_res_t lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param)
|
||||||
{
|
{
|
||||||
/*Return false if the object is not covers the mask_p area*/
|
lv_sw_ext_t * ext = lv_obj_get_ext_attr(sw);
|
||||||
if(mode == LV_DESIGN_COVER_CHK) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/*Draw the object*/
|
|
||||||
else if(mode == LV_DESIGN_DRAW_MAIN) {
|
|
||||||
|
|
||||||
}
|
/*Save the current (old) value before slider signal modifies it*/
|
||||||
/*Post draw when the children are drawn*/
|
int16_t old_val;
|
||||||
else if(mode == LV_DESIGN_DRAW_POST) {
|
if(sign == LV_SIGNAL_PRESSING) old_val = ext->slider.drag_value;
|
||||||
|
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;
|
||||||
|
ext->slider.action = NULL;
|
||||||
|
|
||||||
|
lv_res_t res;
|
||||||
|
/* Include the ancient signal function */
|
||||||
|
res = ancestor_signal(sw, sign, param);
|
||||||
|
if(res != LV_RES_OK) return res;
|
||||||
|
|
||||||
|
if(sign == LV_SIGNAL_CLEANUP) {
|
||||||
|
/*Nothing to cleanup. (No dynamically allocated memory in 'ext')*/
|
||||||
|
}
|
||||||
|
else if(sign == LV_SIGNAL_PRESSING) {
|
||||||
|
int16_t act_val = ext->slider.drag_value;
|
||||||
|
if(act_val != old_val) ext->changed = 1;
|
||||||
|
}
|
||||||
|
else if(sign == LV_SIGNAL_PRESS_LOST) {
|
||||||
|
ext->changed = 0;
|
||||||
|
if(lv_sw_get_state(sw)) lv_slider_set_style(sw, NULL, NULL, ext->knob_on_style);
|
||||||
|
else lv_slider_set_style(sw, NULL, NULL, ext->knob_off_style);
|
||||||
|
}
|
||||||
|
else if(sign == LV_SIGNAL_RELEASED) {
|
||||||
|
if(ext->changed == 0) {
|
||||||
|
int16_t v = lv_slider_get_value(sw);
|
||||||
|
if(v == 0) lv_slider_set_value(sw, 1);
|
||||||
|
else lv_slider_set_value(sw, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(lv_sw_get_state(sw)) lv_slider_set_style(sw, NULL, NULL, ext->knob_on_style);
|
||||||
|
else lv_slider_set_style(sw, NULL, NULL, ext->knob_off_style);
|
||||||
|
|
||||||
|
if(slider_cb != NULL) slider_cb(sw);
|
||||||
|
|
||||||
|
ext->changed = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
/*Restore the callback*/
|
||||||
|
ext->slider.action = slider_cb;
|
||||||
|
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+35
-47
@@ -34,9 +34,11 @@ extern "C" {
|
|||||||
/*Data of switch*/
|
/*Data of switch*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
lv_slider_ext_t slider; /*Ext. of ancestor*/
|
lv_slider_ext_t slider; /*Ext. of ancestor*/
|
||||||
/*New data for this type */
|
/*New data for this type */
|
||||||
uint8_t changed :1; /*Indicates the switch explicitly changed by drag*/
|
lv_style_t *knob_off_style; /*Style of the knob when the switch is OFF*/
|
||||||
|
lv_style_t *knob_on_style; /*Style of the knob when the switch is ON (NULL to use the same as OFF)*/
|
||||||
|
uint8_t changed :1; /*Indicates the switch explicitly changed by drag*/
|
||||||
}lv_sw_ext_t;
|
}lv_sw_ext_t;
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
@@ -51,48 +53,44 @@ typedef struct
|
|||||||
*/
|
*/
|
||||||
lv_obj_t * lv_sw_create(lv_obj_t * par, lv_obj_t * copy);
|
lv_obj_t * lv_sw_create(lv_obj_t * par, lv_obj_t * copy);
|
||||||
|
|
||||||
/**
|
|
||||||
* Signal function of the switch
|
|
||||||
* @param sw pointer to a switch object
|
|
||||||
* @param sign a signal type from lv_signal_t enum
|
|
||||||
* @param param pointer to a signal specific variable
|
|
||||||
* @return true: the object is still valid (not deleted), false: the object become invalid
|
|
||||||
*/
|
|
||||||
bool lv_sw_signal(lv_obj_t * sw, lv_signal_t sign, void * param);
|
|
||||||
|
|
||||||
/******************************
|
|
||||||
* TRANSPARENT API FUNCTIONS
|
|
||||||
******************************/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the styles of a switch
|
|
||||||
* @param sw pointer to a switch object
|
|
||||||
* @param bg pointer to the background's style
|
|
||||||
* @param indic pointer to the indicator's style
|
|
||||||
* @param knob pointer to the knob's style
|
|
||||||
*/
|
|
||||||
static inline void lv_sw_set_style(lv_obj_t * sw, lv_style_t *bg, lv_style_t *indic, lv_style_t *knob)
|
|
||||||
{
|
|
||||||
lv_slider_set_style(sw, bg, indic, knob);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turn ON the switch
|
* Turn ON the switch
|
||||||
* @param sw pointer to a switch object
|
* @param sw pointer to a switch object
|
||||||
*/
|
*/
|
||||||
static inline void lv_sw_set_on(lv_obj_t *sw)
|
void lv_sw_set_on(lv_obj_t *sw);
|
||||||
{
|
|
||||||
lv_bar_set_value(sw, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Turn OFF the switch
|
* Turn OFF the switch
|
||||||
* @param sw pointer to a switch object
|
* @param sw pointer to a switch object
|
||||||
*/
|
*/
|
||||||
static inline void lv_sw_set_off(lv_obj_t *sw)
|
void lv_sw_set_off(lv_obj_t *sw);
|
||||||
{
|
/**
|
||||||
lv_bar_set_value(sw, 0);
|
* Set the styles of a switch
|
||||||
}
|
* @param sw pointer to a switch object
|
||||||
|
* @param bg pointer to the background's style
|
||||||
|
* @param indic pointer to the indicator's style
|
||||||
|
* @param knob_off pointer to the knob's style when the switch is OFF
|
||||||
|
* @param knob_on pointer to the knob's style when the switch is ON
|
||||||
|
*/
|
||||||
|
void lv_sw_set_style(lv_obj_t * sw, lv_style_t *bg, lv_style_t *indic, lv_style_t *knob_off, lv_style_t *knob_on);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style of the switch's knob when the switch is OFF
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
* @return pointer to the switch's knob OFF style
|
||||||
|
*/
|
||||||
|
lv_style_t * lv_sw_get_style_knob_off(lv_obj_t *sw);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the style of the switch's knob when the switch is ON
|
||||||
|
* @param sw pointer to a switch object
|
||||||
|
* @return pointer to the switch's knob ON style
|
||||||
|
*/
|
||||||
|
lv_style_t * lv_sw_get_style_knob_on(lv_obj_t *sw);
|
||||||
|
|
||||||
|
/******************************
|
||||||
|
* TRANSPARENT API FUNCTIONS
|
||||||
|
******************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set a function which will be called when the switch is toggled by the user
|
* Set a function which will be called when the switch is toggled by the user
|
||||||
@@ -129,7 +127,7 @@ static inline lv_action_t lv_sw_get_action(lv_obj_t * slider)
|
|||||||
* @param sw pointer to a switch object
|
* @param sw pointer to a switch object
|
||||||
* @return pointer to the switch's background style
|
* @return pointer to the switch's background style
|
||||||
*/
|
*/
|
||||||
static inline bool lv_sw_get_style_bg(lv_obj_t *sw)
|
static inline lv_style_t * lv_sw_get_style_bg(lv_obj_t *sw)
|
||||||
{
|
{
|
||||||
return lv_slider_get_style_bg(sw);
|
return lv_slider_get_style_bg(sw);
|
||||||
}
|
}
|
||||||
@@ -139,21 +137,11 @@ static inline bool lv_sw_get_style_bg(lv_obj_t *sw)
|
|||||||
* @param sw pointer to a switch object
|
* @param sw pointer to a switch object
|
||||||
* @return pointer to the switch's indicator style
|
* @return pointer to the switch's indicator style
|
||||||
*/
|
*/
|
||||||
static inline bool lv_sw_get_style_indicator(lv_obj_t *sw)
|
static inline lv_style_t * lv_sw_get_style_indicator(lv_obj_t *sw)
|
||||||
{
|
{
|
||||||
return lv_slider_get_style_indicator(sw);
|
return lv_slider_get_style_indicator(sw);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the style of the switch's knob
|
|
||||||
* @param sw pointer to a switch object
|
|
||||||
* @return pointer to the switch's knob style
|
|
||||||
*/
|
|
||||||
static inline bool lv_sw_get_style_knob(lv_obj_t *sw)
|
|
||||||
{
|
|
||||||
return lv_slider_get_style_knob(sw);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**********************
|
/**********************
|
||||||
* MACROS
|
* MACROS
|
||||||
**********************/
|
**********************/
|
||||||
|
|||||||
Reference in New Issue
Block a user