-
Notifications
You must be signed in to change notification settings - Fork 0
Home
rsact
is a GUI framework written in Rust for use in embedded systems.
If you're familiar with embedded-graphics
then think of rsact
as of higher-level framework powered by tools that any complex UI needs: layouts, event handling, states, styles (themes), and much more.
What's inside?
-
rsact_reactive
fine-grained reactivity framework acts as a foundation for state management in rsact. -
rsact_ui
implements core concepts of UI framework:- Layouts: From basic containers and flex to viewport-dependent and scrollable
- Events: generic, platform-independent event systems allows makes
rsact
usable even with a single button or encoder with a button, but standard PC inputs possible too - Pages (routing): Such as browser goes by HTML pages
- Rendering: Limited only to use with
embedded-graphics
for now,rsact
extends its collection of primitives with shapes like Polygon, furthermore, implementing Anti-Aliasing for all primitives, so you can enjoy smooth widgets on any RGB display. - Styles: Incorporates styling the whole widget or its parts (like CSS pseudo-element) depending on widget's state (like CSS pseudo-class).
- And the most basic widgets any system needs, such as
Container
,Flex
for flex layouts,Button
and more.
rsact
is being build with generalization in mind, though some things are "fixed", it supports absolutely any colors from BinaryColor
for monochrome displays (e.g., SSD1306) to RGB888 or define your own. You can use anything as an input device, be it a set of some buttons or joystick or whatever.
This flexibility allows you to pay only for what you use, leave in peace with your single button and without styles at all, no one will force you to implement everything (in most cases 😺).