|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Drawing backend the concrete leaf widgets paint through (a DI seam). More...
#include <ra8_widget.h>
Drawing backend the concrete leaf widgets paint through (a DI seam).
The compositor logic in this library never touches pixels – that is what keeps the layout / route / damage cycle host-testable and free of any ra8_gfx / framebuffer dependency. The concrete leaf widgets below (ra8_widget_label_t, ra8_widget_button_t) do draw, so their pixel primitives are injected as a small set of callbacks rather than linked directly. On the board the app binds these to its renderer (ra8_gfx_rect, ra8_gfx_text_out, ra8_gfx_text_size); a host test binds a recording mock. This Dependency-Inversion seam lets the very same widget run on the GLCDC panel and under the unit-test harness, and means an app that wants only the pure compositor never pulls in a graphics library.