59 lines
2.3 KiB
Markdown
59 lines
2.3 KiB
Markdown
# Josh User Interface
|
|
|
|

|
|
|
|
Fourth Time's The Charm!™
|
|
|
|
#### JUI is a C++20 Library for building interactive menus in OpenGL / Redacted3D.
|
|
|
|
It is expressly built with our Redacted3D engine in mind, but steps have been taken to support OpenGL generally.
|
|
|
|

|
|
|
|
## Abstract
|
|
|
|
JUI provides a set of objects that we term Widgets, which can be styled and laid out on-screen in relation to each other. Each widget has a single parent, and a list of child elements. Your root widget should be a Scene object.
|
|
|
|
## Features
|
|
* Flexible and comprehensive set of Widgets. [Full List Here](docs/widgets.md)
|
|
* Extendable - Widgets can be extended via class derivation, and even combined to create complex behavior.
|
|
* Low-overhead stateful GUI elements.
|
|
* Easy integration with your project. Simply provide update, draw, and user-input callbacks to your scene.
|
|
|
|
## Examples
|
|
|
|
Browse the src/Demos directories for examples of building and interacting with things in JUI.
|
|
|
|
Browse the Repository's , linked above, for further explainations and sample code on each widget.
|
|
|
|
## Dependencies
|
|
|
|
ReJUI shares dependencies with it's rendering layer, .
|
|
Currently, the package is also integrated with  and .
|
|
|
|
|
|
`Fedora/RHEL: dnf install cmake make gcc-g++ libX11 libX11-devel mesa-libGL-devel vulkan-loader-devel`
|
|
|
|
`Ubuntu/Debian: apt-get install cmake make gcc g++ libx11-6 libx11-dev libgl-dev libvulkan-dev libxrandr-dev`
|
|
|
|
|
|
## Documentation
|
|
|
|
Documentation is automatically generated from latest commit and is hosted at https://doc.redacted.cc/jui .
|
|
|
|
[An overview of the library is available here.](docs/overview.md)
|
|
|
|
[A full list of widgets is available here.](docs/widgets.md)
|
|
|
|
## Contributing
|
|
|
|
Contributions to JUI are welcome! Feel free to file bug reports or feature requests by creating an Issue. Pull requests are also very welcome!
|
|
|
|
## License
|
|
|
|
JUI is expressly released without a license, under no restrictions. We dedicate all of our works to the public domain for the (hopeful) betterment of humanity.
|
|
|
|
|
|
## Acknowledgements
|
|
|
|
JUI is developed and maintained by Joshua O'Leary from Redacted Software Group, and all the wonderful contributors. |