EssaGUI is a GUI framework focused on simulations. It is largely inspired by SerenityOS's LibGUI and Qt.
EssaUtil is a general-purpose supplement to C++ standard library (but still a bit biased to simulations):
- Custom strings, streams, buffers
TRY()error handling - taken from Serenity and added some things like multiple errors from a single objects- Math utilities: vectors, matrices, some geometry
- ThreadPool
- JSON
- Various other generally useful utilities - see the source code
GUI system, because of its simulational origins and purpose, runs continuously in a main loop.
We have a custom library, LLGL, built on top of SDL, OpenGL, GLX and a bit of direct X11.
Some features include:
- Event loop (timers etc.)
- Widget system, box layouts, multiple window support
- Custom markup language ("EML")
- Common widgets and dialogs
- MDI (windows in windows)
- Tiling "window manager" for dockable UI (in progress)
- Theming
- Basic rich text
EssaEngine implements some commonly used 3D utilities:
- OBJ models loader
- Shape renderers
- Simple lighting shaders
- ESSA Space App
- EssaDB
- A bunch of examples and tools
NOTE: EssaGUI is not stable or production ready. API may change at any time (and changes frequently, actually).
See the tutorial for more details.
There is no full documentation of EssaGUI yet. What is done you can read here.