1
0
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:
embeddedt 2019-03-02 11:19:27 -05:00 committed by GitHub
commit 2b4185ec23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 52 additions and 6 deletions

View File

@ -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

View File

@ -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

View File

@ -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;
}

View File

@ -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
**********************/