High-Performance GUI Framework for C
VENOMUI is a feature-rich GUI framework designed for:
- 🧹 Strict Memory Management - Reference counting with leak detection
- 🎨 High Performance Rendering - Built on Cairo/Skia
- 🖥️ Native Access - Direct X11/Wayland integration
- 🧩 Maintainable Architecture - Clear VTable inheritance
- 📦 45+ Ready-to-Use Widgets - Complete UI toolkit
| Document | Description |
|---|---|
| Quick Start | Getting started guide |
| Widget Reference | Complete API documentation |
| Cheat Sheet | Quick reference |
Container Stack Spacer Divider SizedBox Padding SplitPane Scrollable
Button Checkbox Switch Slider Radio TextInput TextArea Dropdown SearchBar NumberInput ToggleButton Rating
Label Image Icon Avatar Badge Chip Card ColorSwatch Link Skeleton
TabBar TabView Breadcrumb TreeView ListView GridView
Tooltip Dialog ContextMenu Notification Snackbar Spinner ProgressBar
Accordion Stepper
#include <venomui.h>
void on_click(VenomWidget* btn, void* data) {
printf("Hello VENOMUI!\n");
}
int main(void) {
venom_init();
VenomWindow* window = venom_window_create("My App", 800, 600);
VenomWidget* content = venom_container(
.direction = VENOM_DIRECTION_VERTICAL,
.padding = (VenomInsets){ 20, 20, 20, 20 },
.spacing = 16
);
venom_container_add_child(content, venom_label(.text = "Welcome!"));
venom_container_add_child(content, venom_button(.label = "Click Me", .on_click = on_click));
venom_window_set_content(window, content);
venom_app_run();
venom_shutdown();
return 0;
}# Dependencies (Debian/Ubuntu)
sudo apt install meson ninja-build libx11-dev libcairo2-dev libpango1.0-dev libpng-dev
# Build
meson setup build
meson compile -C build
# Run example
./build/examples/hello_worldVENOMUI/
├── include/venom/
│ ├── core/ # Types, Memory, Ref counting
│ ├── backend/ # X11/Wayland abstraction
│ ├── graphics/ # Canvas API
│ ├── widgets/ # 45+ widget headers
│ └── state/ # BLoC state management
├── src/
│ ├── core/
│ ├── backend/x11/
│ ├── graphics/
│ ├── widgets/
│ └── state/
├── docs/ # Documentation
└── examples/ # Example applications
- Core widget set (45 widgets)
- X11 backend
- Cairo rendering
- Wayland backend
- Theming system
- Desktop widgets (TitleBar, Toolbar, StatusBar)
- Date/Time pickers
MIT License