Skip to content
Hazer Hazer edited this page Nov 26, 2024 · 2 revisions

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 😺).

Clone this wiki locally