Josh User Interface

Static Badge

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.

JUI First Showcase

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
  • 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 Wiki, linked above, for further explainations and sample code on each widget.

Dependencies

ReJUI shares dependencies with it's rendering layer, JGL. Currently, the package is also integrated with J3ML and ReWindow.

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.

A full list of widgets is available here.

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.

Description
Josh's User Interface Toolkit re-implemented (for the 4th time...) in self-hosted Redacted Software fashion.
Readme 2.8 MiB
Prerelease-3 Latest
2024-10-01 03:45:52 -04:00
Languages
C++ 98.9%
CMake 1.1%