Ken Van Hoeylandt 7ea8c346b0
Various improvements (#673)
Graphics & rendering

- Implement `binfont-module` to generate bitmap fonts on the device itself
- Remove lodepng support from LVGL library and create `Modules/lodepng-module` to make the feature re-usable in non-LVGL apps too. Add binding functions for LVGL support.
- Implement large icons for boot screen (Tactility and USB logos)
- Remove unused asset files in `Data/`

Boot

- Split up `Tactility.cpp` and its `run()` function into various `Init*.cpp` files.
- Re-implement `Boot.cpp` app as non-LVGL app
- Boot app now has a `BootSequence.cpp` for the init code.
- LVGL is now started when the Boot app finishes
- Move more init logic into Boot app

BLE

- Don't allocate scan result buffers unless BLE is on
- Allocate scan results in external memory if possible

UX & UI

- USB Settings app: remove border from the button container
2026-10-04 18:09:21 +02:00

25 lines
547 B
C

// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <lvgl.h>
#ifdef __cplusplus
extern "C" {
#endif
struct BinFont;
/**
* @brief Creates an LVGL font that renders glyphs from a BinFont.
* @param[in] font the source font, which must outlive the returned font
* @return the LVGL font, or NULL when memory allocation failed
*/
lv_font_t* lvgl_binfont_create(struct BinFont* font);
/** Destroys a font from lvgl_binfont_create(). The BinFont is not closed. */
void lvgl_binfont_destroy(lv_font_t* font);
#ifdef __cplusplus
}
#endif