mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-21 06:53:01 +08:00
Merge pull request #917 from manison/feature/add-mbox-api
Button matrix, message box: new APIs
This commit is contained in:
commit
2b4185ec23
@ -303,6 +303,25 @@ void lv_btnm_set_action(lv_obj_t * btnm, lv_btnm_action_t action)
|
||||
ext->action = action;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the pressed button
|
||||
* @param btnm pointer to button matrix object
|
||||
* @param id index of the currently pressed button (`LV_BTNM_PR_NONE` to unpress)
|
||||
*/
|
||||
void lv_btnm_set_pressed(const lv_obj_t * btnm, uint16_t id)
|
||||
{
|
||||
lv_btnm_ext_t * ext = lv_obj_get_ext_attr(btnm);
|
||||
|
||||
if (id >= ext->btn_cnt && id != LV_BTNM_PR_NONE)
|
||||
return;
|
||||
|
||||
if (id == ext->btn_id_pr)
|
||||
return;
|
||||
|
||||
ext->btn_id_pr = id;
|
||||
lv_obj_invalidate(btnm);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable or disable button toggling
|
||||
* @param btnm pointer to button matrix object
|
||||
|
@ -141,6 +141,13 @@ void lv_btnm_set_ctrl_map(const lv_obj_t * btnm, const lv_btnm_ctrl_t * ctrl_map
|
||||
*/
|
||||
void lv_btnm_set_action(lv_obj_t * btnm, lv_btnm_action_t action);
|
||||
|
||||
/**
|
||||
* Set the pressed button
|
||||
* @param btnm pointer to button matrix object
|
||||
* @param id index of the currently pressed button (`LV_BTNM_PR_NONE` to unpress)
|
||||
*/
|
||||
void lv_btnm_set_pressed(const lv_obj_t * btnm, uint16_t id);
|
||||
|
||||
/**
|
||||
* Enable or disable button toggling
|
||||
* @param btnm pointer to button matrix object
|
||||
|
@ -377,17 +377,29 @@ lv_style_t * lv_mbox_get_style(const lv_obj_t * mbox, lv_mbox_style_t type)
|
||||
|
||||
/**
|
||||
* Get whether recoloring is enabled
|
||||
* @param btnm pointer to button matrix object
|
||||
* @param mbox pointer to a message box object
|
||||
* @return whether recoloring is enabled
|
||||
*/
|
||||
bool lv_mbox_get_recolor(const lv_obj_t * mbox)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox);
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox);
|
||||
|
||||
if(!ext->btnm)
|
||||
return false;
|
||||
if(!ext->btnm)
|
||||
return false;
|
||||
|
||||
return lv_btnm_get_recolor(ext->btnm);
|
||||
return lv_btnm_get_recolor(ext->btnm);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get message box button matrix
|
||||
* @param mbox pointer to a message box object
|
||||
* @return pointer to button matrix object
|
||||
* @remarks return value will be NULL unless `lv_mbox_add_btns` has been already called
|
||||
*/
|
||||
lv_obj_t * lv_mbox_get_btnm(lv_obj_t * mbox)
|
||||
{
|
||||
lv_mbox_ext_t * ext = lv_obj_get_ext_attr(mbox);
|
||||
return ext->btnm;
|
||||
}
|
||||
|
||||
|
||||
|
@ -184,11 +184,19 @@ lv_style_t * lv_mbox_get_style(const lv_obj_t *mbox, lv_mbox_style_t type);
|
||||
|
||||
/**
|
||||
* Get whether recoloring is enabled
|
||||
* @param btnm pointer to button matrix object
|
||||
* @param mbox pointer to a message box object
|
||||
* @return whether recoloring is enabled
|
||||
*/
|
||||
bool lv_mbox_get_recolor(const lv_obj_t * mbox);
|
||||
|
||||
/**
|
||||
* Get message box button matrix
|
||||
* @param mbox pointer to a message box object
|
||||
* @return pointer to button matrix object
|
||||
* @remarks return value will be NULL unless `lv_mbox_add_btns` has been already called
|
||||
*/
|
||||
lv_obj_t * lv_mbox_get_btnm(lv_obj_t * mbox);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
Loading…
x
Reference in New Issue
Block a user