Phase 6: procedural LVGL canvas icons + manual retry on weather tile

- src/icons/icons.{h,cpp}: colored procedural icons drawn onto LVGL
  canvases (PSRAM-backed ARGB8888): sun, moon, cloud, rain, thunderstorm
  (selected from API symbol field), rain-warning triangle, retry/error
  symbol, back arrow. Replaces old M5GFX-based icons.h.
- tile_button: add tile_button_set_icon_obj() to swap text glyph for a
  canvas icon object
- home_screen: weather tile now shows the real procedural weather icon
  (rebuilt on each refresh); tapping the weather tile in error state
  triggers a manual retry (SPEC.md section 8) instead of navigating
This commit is contained in:
2026-08-02 10:43:30 +02:00
parent 592a615a5d
commit 65e7ec8523
5 changed files with 248 additions and 5 deletions
+4
View File
@@ -24,3 +24,7 @@ void tile_button_set_value(TileButton &t, const char *text);
// Set the icon text (single glyph/symbol). Icons are rendered as text labels
// using LVGL's built-in font until bitmap icons land in Phase 6.
void tile_button_set_icon(TileButton &t, const char *text);
// Replace the text icon with an already-created canvas object (the caller
// creates the canvas as a child of t.btn). Useful for bitmap/procedural icons.
void tile_button_set_icon_obj(TileButton &t, lv_obj_t *icon_obj);