LVGL improvements for TactilityC (#233)

- Expose various `lv_event`-related functions
- Expose `tt::lvgl::toolbar`-related functions
- Update sample app and improved docs
This commit is contained in:
Ken Van Hoeylandt
2025-02-22 23:12:03 +01:00
committed by GitHub
parent 70d36131f6
commit 6d1d08944b
5 changed files with 109 additions and 12 deletions
+36 -3
View File
@@ -9,12 +9,45 @@ namespace tt::lvgl {
#define TOOLBAR_TITLE_FONT_HEIGHT 18
#define TOOLBAR_ACTION_LIMIT 4
lv_obj_t* toolbar_create(lv_obj_t* parent, const std::string& title);
/** Create a toolbar widget that shows the app name as title */
lv_obj_t* toolbar_create(lv_obj_t* parent, const app::AppContext& app);
/** Create a toolbar widget with the provided title*/
lv_obj_t* toolbar_create(lv_obj_t* parent, const std::string& title);
/** Sets the toolbar title */
void toolbar_set_title(lv_obj_t* obj, const std::string& title);
void toolbar_set_nav_action(lv_obj_t* obj, const char* icon, lv_event_cb_t callback, void* user_data);
lv_obj_t* toolbar_add_button_action(lv_obj_t* obj, const char* icon, lv_event_cb_t callback, void* user_data);
/** Sets the navigation action of the toolbar (button on the top-left)
* @param[in] obj the toolbar instance
* @param[in] icon the icon to set on the button
* @param[in] callback the callback for the click action of the button
* @param[in] callbackEventUserData the user data that is attached to the callback event object
*/
void toolbar_set_nav_action(lv_obj_t* obj, const char* icon, lv_event_cb_t callback, void* userData);
/**
* Create and add an action button to the toolbar (aligned to the right of the toolbar)
* @param[in] obj the toolbar instance
* @param[in] icon the icon for the action
* @param[in] callback the callback for the click action of the button
* @param[in] callbackEventUserData the user data that is attached to the callback event object
* @return an lv_button instance
*/
lv_obj_t* toolbar_add_button_action(lv_obj_t* obj, const char* icon, lv_event_cb_t callback, void* userData);
/**
* Create and add a switch to the toolbar actions.
* @param[in] obj the toolbar instance
* @return an instance created by lv_switch_create()
*/
lv_obj_t* toolbar_add_switch_action(lv_obj_t* obj);
/**
* Create and add a spinner to the toolbar actions.
* @param[in] obj the toolbar instance
* @return an instance created by Tactility's spinner_create()
*/
lv_obj_t* toolbar_add_spinner_action(lv_obj_t* obj);
} // namespace