Skip to content

vaxp/VAXPUF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VENOMUI

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

Documentation

Document Description
Quick Start Getting started guide
Widget Reference Complete API documentation
Cheat Sheet Quick reference

Widget Library

Layout

Container Stack Spacer Divider SizedBox Padding SplitPane Scrollable

Input Controls

Button Checkbox Switch Slider Radio TextInput TextArea Dropdown SearchBar NumberInput ToggleButton Rating

Display

Label Image Icon Avatar Badge Chip Card ColorSwatch Link Skeleton

Navigation

TabBar TabView Breadcrumb TreeView ListView GridView

Feedback

Tooltip Dialog ContextMenu Notification Snackbar Spinner ProgressBar

Multi-Step

Accordion Stepper

Quick Example

#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;
}

Building

# 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_world

Project Structure

VENOMUI/
├── 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

Roadmap

  • Core widget set (45 widgets)
  • X11 backend
  • Cairo rendering
  • Wayland backend
  • Theming system
  • Desktop widgets (TitleBar, Toolbar, StatusBar)
  • Date/Time pickers

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages