Image button (lv_imgbtn)¶
Overview¶
The Image button is very similar to the simple 'Button' object. The only difference is that it displays user-defined images in each state instead of drawing a rectangle.
You can set a left, right and center image, and the center image will be repeated to match the width of the object.
Parts and Styles¶
LV_PART_MAIN
Refers to the image(s). If background style properties are used, a rectangle will be drawn behind the image button.
Usage¶
Image sources¶
To set the image in a state, use the lv_imgbtn_set_src(imgbtn, LV_IMGBTN_STATE_..., src_left, src_center, src_right)
.
The image sources work the same as described in the Image object except that "Symbols" are not supported by the Image button.
Any of the sources can NULL
.
The possible states are:
LV_IMGBTN_STATE_RELEASED
LV_IMGBTN_STATE_PRESSED
LV_IMGBTN_STATE_DISABLED
LV_IMGBTN_STATE_CHECKED_RELEASED
LV_IMGBTN_STATE_CHECKED_PRESSED
LV_IMGBTN_STATE_CHECKED_DISABLED
If you set sources only in LV_IMGBTN_STATE_RELEASED
, these sources will be used in other states too.
If you set e.g. LV_IMGBTN_STATE_PRESSED
they will be used in pressed state instead of the released images.
States¶
Instead of the regular lv_obj_add/clear_state()
functions the lv_imgbtn_set_state(imgbtn, LV_IMGBTN_STATE_...)
functions should be used to manually set a state.
Keys¶
LV_KEY_RIGHT/UP
Go to toggled state ifLV_OBJ_FLAG_CHECKABLE
is enabled.LV_KEY_LEFT/DOWN
Go to non-toggled state ifLV_OBJ_FLAG_CHECKABLE
is enabled.LV_KEY_ENTER
Clicks the button
Learn more about Keys.
Example¶
API¶
Enums
-
enum lv_imgbtn_state_t¶
Values:
-
enumerator LV_IMGBTN_STATE_RELEASED¶
-
enumerator LV_IMGBTN_STATE_PRESSED¶
-
enumerator LV_IMGBTN_STATE_DISABLED¶
-
enumerator LV_IMGBTN_STATE_CHECKED_RELEASED¶
-
enumerator LV_IMGBTN_STATE_CHECKED_PRESSED¶
-
enumerator LV_IMGBTN_STATE_CHECKED_DISABLED¶
-
enumerator _LV_IMGBTN_STATE_NUM¶
-
enumerator LV_IMGBTN_STATE_RELEASED¶
Functions
-
lv_obj_t *lv_imgbtn_create(lv_obj_t *parent)¶
Create an image button object
- Parameters
parent -- pointer to an object, it will be the parent of the new image button
- Returns
pointer to the created image button
-
void lv_imgbtn_set_src(lv_obj_t *imgbtn, lv_imgbtn_state_t state, const void *src_left, const void *src_mid, const void *src_right)¶
Set images for a state of the image button
- Parameters
imgbtn -- pointer to an image button object
state -- for which state set the new image
src_left -- pointer to an image source for the left side of the button (a C array or path to a file)
src_mid -- pointer to an image source for the middle of the button (ideally 1px wide) (a C array or path to a file)
src_right -- pointer to an image source for the right side of the button (a C array or path to a file)
-
void lv_imgbtn_set_state(lv_obj_t *imgbtn, lv_imgbtn_state_t state)¶
Use this function instead of
lv_obj_add/clear_state
to set a state manually- Parameters
imgbtn -- pointer to an image button object
state -- the new state
-
const void *lv_imgbtn_get_src_left(lv_obj_t *imgbtn, lv_imgbtn_state_t state)¶
Get the left image in a given state
- Parameters
imgbtn -- pointer to an image button object
state -- the state where to get the image (from
lv_btn_state_t
) `
- Returns
pointer to the left image source (a C array or path to a file)
-
const void *lv_imgbtn_get_src_middle(lv_obj_t *imgbtn, lv_imgbtn_state_t state)¶
Get the middle image in a given state
- Parameters
imgbtn -- pointer to an image button object
state -- the state where to get the image (from
lv_btn_state_t
) `
- Returns
pointer to the middle image source (a C array or path to a file)
-
const void *lv_imgbtn_get_src_right(lv_obj_t *imgbtn, lv_imgbtn_state_t state)¶
Get the right image in a given state
- Parameters
imgbtn -- pointer to an image button object
state -- the state where to get the image (from
lv_btn_state_t
) `
- Returns
pointer to the left image source (a C array or path to a file)
Variables
-
const lv_obj_class_t lv_imgbtn_class¶
-
struct lv_imgbtn_t¶
Public Members
-
const void *img_src_mid[_LV_IMGBTN_STATE_NUM]¶
-
const void *img_src_left[_LV_IMGBTN_STATE_NUM]¶
-
const void *img_src_right[_LV_IMGBTN_STATE_NUM]¶
-
lv_img_cf_t act_cf¶
-
const void *img_src_mid[_LV_IMGBTN_STATE_NUM]¶