Add custom icon fonts to lvgl-module (#499)

* **New Features**
  * Added Material Design symbol fonts and LVGL font aliases for launcher, status bar, and shared UI icons.

* **Style**
  * Migrated app icons across the UI to the new symbol font system.
  * Updated launcher button sizing, font styling, recoloring and icon text color for consistency.
  * Default text/icon font macros set for consistent sizing across the UI.

* **Documentation**
  * Updated third‑party notices to include Material Design Icons links.
This commit is contained in:
Ken Van Hoeylandt
2026-02-13 20:27:08 +01:00
committed by GitHub
parent 4ab29ae466
commit 72c9b2b113
53 changed files with 1356 additions and 79 deletions
+8 -4
View File
@@ -2,8 +2,10 @@
#include <Tactility/lvgl/Toolbar.h>
#include <Tactility/service/loader/Loader.h>
#include <Tactility/Assets.h>
#include <tactility/check.h>
#include <tactility/lvgl_symbols_shared.h>
#include <tactility/lvgl_fonts.h>
#include <lvgl.h>
#include <algorithm>
@@ -17,9 +19,11 @@ static void onAppPressed(lv_event_t* e) {
static void createWidget(const std::shared_ptr<AppManifest>& manifest, void* parent) {
check(parent);
auto* list = (lv_obj_t*)parent;
const void* icon = !manifest->appIcon.empty() ? manifest->appIcon.c_str() : TT_ASSETS_APP_ICON_FALLBACK;
auto* list = static_cast<lv_obj_t*>(parent);
const void* icon = !manifest->appIcon.empty() ? manifest->appIcon.c_str() : LVGL_SYMBOL_TOOLBAR;
auto* btn = lv_list_add_button(list, icon, manifest->appName.c_str());
lv_obj_t* image = lv_obj_get_child(btn, 0);
lv_obj_set_style_text_font(image, LVGL_SYMBOL_FONT_DEFAULT, LV_PART_MAIN);
lv_obj_add_event_cb(btn, &onAppPressed, LV_EVENT_SHORT_CLICKED, (void*)manifest.get());
}
@@ -48,7 +52,7 @@ class SettingsApp final : public App {
extern const AppManifest manifest = {
.appId = "Settings",
.appName = "Settings",
.appIcon = TT_ASSETS_APP_ICON_SETTINGS,
.appIcon = LVGL_SYMBOL_SETTINGS,
.appCategory = Category::System,
.appFlags = AppManifest::Flags::Hidden,
.createApp = create<SettingsApp>