Grey is a minimalistic, blazing fast, disposable, cross-platform, zero configuration UI library for C++ and C# that frees up developers' grey matter to do something that matters.
Grey is designed to display user interface in one line of code with no ceremony at all, mostly for debugging or diagnostics, or small internal tools. It is not a full featured UI framework for end-user applications, however you can try to do that as well.
It's based on the awesome ImGui framework and follows it's design principles, specifically the immediate mode paradigm.
- Cross-platform - currently supports Windows x64 and Linux x64.
- Completely stateless i.e., no widgets, state synchronization and so on.
- Looks beautiful by default i.e., renders in high DPI, using system fonts and colours, supports themes and material icons.
To get started in C++, simply include this repository as a git submodule and follow the examples. For a real-life, production sample, check out bt.
To get started in C#, reference GreyMatter package, which includes C# interface and pre-built binaries for Windows and Linux.
- Markdown component support.
- Knobs
In general, have a look at GHA definitions, because those are kept up to date.
You only need cmake and vcpkg.
To build native part on Linux or WSL2, you need:
- vcpkg.
- CMake.
sudo apt install cmake. - Build tools.
sudo apt install g++ gdb make ninja-build rsync zip. - GLFW3 dependencies.
sudo apt install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config.
todo: sudo apt install autoconf autoconf-archive automake libtool
Coming soon.