| Crates.io | fyrox-ui |
| lib.rs | fyrox-ui |
| version | 0.36.2 |
| created_at | 2022-01-10 18:53:14.16739+00 |
| updated_at | 2025-02-27 08:07:10.164479+00 |
| description | Extendable UI library |
| homepage | https://fyrox.rs |
| repository | https://github.com/FyroxEngine/Fyrox |
| max_upload_size | |
| id | 511542 |
| size | 2,092,742 |
Retained mode, general purpose, graphics API agnostic user interface library. Inspired by WPF.
NOTE: even though this crate has fyrox prefix in its name, it can be used separately without any issues.
fyrox-ui uses a bit unusual way of styling - you have to replace entire sub-graphs of widget's visual trees. What does that mean? fyrox-ui uses graph to build visual trees of any complexity, each widget is a set of nodes in the graph. For example a button is a set of background and foreground widgets, background widget usually defines appearance and foreground shows a content. Content of a button can be any widget, in most common cases it is either a text or an image. So to change appearance of a button you have to define your own background widget at the building stage, by default fyrox-ui uses Decorator widget which just changes its foreground brush when it receives MouseEnter, MouseLeave, etc. message. This fact significantly complicates minor styling (like change a color), but it is super flexible approach and allows to build your own unique style. Most of widget builders provides a way to change its parts, some of them still may lack such functionality, but this should eventually be fixed.

TODO.
TODO.
There are two projects using this UI library:
However, it can be too difficult to understand how to use the library from those projects, so standalone samples should be added. This is still a TODO.