7 releases (4 breaking)
0.5.0-dev1 | Jun 9, 2021 |
---|---|
0.4.0 | Mar 2, 2021 |
0.3.0 | Dec 30, 2020 |
0.2.0-dev2 | May 23, 2020 |
0.1.1 | Apr 13, 2020 |
#402 in GUI
31 downloads per month
Used in guion_sdl2
325KB
8K
SLoC
guion
guion is an experimental GUI framework, focused on flexibility (e.g. guion core flexible Widget model) and modularity (e.g. separate backend/engine, interchangeable standard components).
guion being in an experimental state, API and concepts are still in flux.
Goals:
- Data-oriented: Widgets abstract over model, can be directly implemented onto model, or be immediate
- Widgets own model/data or reference model/data as immediate widget
- Dynamic separate Context/states
- Widget Tree/Model separate from Context, State and side-data
- Modularity
- Separation of core, backend, and higher features
- Components are defined in generics and traits
- Standard implementations can be combined with e.g. a custom ID implementation.
- guion-widgets Standard Widgets: common widgets, layouting widgets, etc.
- Can own or reference data immediate, Widget state in model or Context
- guion-std Standard Window features like focused/hovered widgets, tabulating, drag/drop
- Widget Data caching/invalidation abstractions
- Tame complexity, provide efficient abstractions to make life easier
Related Project:
- guion_sdl2 for a prototype backend implementation