🎉 begin project

This commit is contained in:
Maurice Grönwoldt 2025-05-29 13:21:19 +02:00
commit 8da6ddc689
29 changed files with 1261 additions and 0 deletions

74
README.md Normal file
View file

@ -0,0 +1,74 @@
# 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
```bash
git clone https://git.vstz.dev/vstz/VUI.git
cd vui
mkdir build && cd build
cmake ..
cmake --build .
```
# 🛠️ Usage
Heres a simple example of using VUI:
```cpp
#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.