fyrox-ui

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.

Features

Widgets

Limitations

Performance

Styling

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.

Screenshots

editor

Contributing

Documentation

TODO.

Samples

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.