Crates.io | fyrox-ui |
lib.rs | fyrox-ui |
version | 0.25.1 |
source | src |
created_at | 2022-01-10 18:53:14.16739 |
updated_at | 2024-06-11 08:08:00.644265 |
description | Extendable UI library |
homepage | https://fyrox.rs |
repository | https://github.com/FyroxEngine/Fyrox |
max_upload_size | |
id | 511542 |
size | 1,643,747 |
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.