1.9 KiB
UI – Versus UI
VUI (short for Versus UI) is a lightweight and modern UI framework written in C++. It provides a clean and intuitive API for building native user interfaces with a focus on simplicity, performance, and extensibility.
Inspired by RGFW and GLFW
![Warning] Work in Progress VUI is currently in early development and is not yet production-ready.
✨ Features
- Basic windowing support
- Event handling (keyboard, mouse, etc.)
- Modular and easy-to-use API
- Lightweight and efficient
🖥️ Platform Support
- ✅ Windows (currently supported)
- ⏳ Linux (planned)
macOS and other platforms may be considered in the future.
🚧 Project Status
VUI is a heavy Work In Progress. Many components are still being developed, and APIs may change frequently. Your feedback and contributions are welcome to help shape the future of the project!
📦 Getting Started
Note: This project currently targets Windows only.
Prerequisites
- A C++23 (or later) compatible compiler
- CMake 3.16+
Build Instructions
git clone https://git.vstz.dev/vstz/VUI.git
cd vui
mkdir build && cd build
cmake ..
cmake --build .
🛠️ Usage
Here’s a simple example of using VUI:
#include <vui/VUI.h>
int main() {
VUI::WindowManager::Create(800, 600, "Example Window");
while (VUI::WindowManager::HasOpen()) {
VUI::WindowManager::Update();
double dt = VUI::GetDeltaTime();
// ...
if (VUI::Input::IsKeyPressed(VUI::KeyCodes::ESCAPE)) {
break;
}
}
return 0;
}
More examples and documentation will be added as the project matures.
📅 Roadmap
- Basic window creation
- Event system (keyboard/mouse)
- Linux support
- Layout system
- Widgets (buttons, sliders, etc.)
- Theming & styling
- High-DPI support
🤝 Contributing
Contributions are welcome! If you're interested in helping build VUI, feel free to open issues, submit pull requests, or discuss ideas.