Gooey GUI Library

A lightweight, cross-platform library for building GUI applications with ease.

Visit Documentation

Features

Cross-Platform

Build applications that work seamlessly on Windows, macOS, and Linux.

Lightweight

Designed to be minimal and efficient without sacrificing functionality.

Customizable Widgets

Fully customizable UI elements to match your application’s needs.

Get started with a hello world example


Code Image

    #include "gooey.h"
    
    bool state = 0;
    GooeyWindow msgBox;
    
    void messageBoxCallback(int option)
    {
        LOG_INFO("MessageBox option: %d", option);
    }
    
    void onButtonClick()
    {
        state = !state;
        GooeyWindow_MakeVisible(&msgBox, state);
    }
    
    int main()
    {
        set_logging_enabled(true);
        set_minimum_log_level(DEBUG_LEVEL_INFO);
    
        Gooey_Init(GLFW);
    
        GooeyWindow win = GooeyWindow_Create("Hello World", 400, 300, 1);
    
        msgBox = GooeyMessageBox_Create("Hello", "Welcome to Gooey!", MSGBOX_INFO, messageBoxCallback);
    
        GooeyMessageBox_Show(&msgBox);
    
        GooeyButton_Add(&win, "Click Me", 150, 100, 100, 40, onButtonClick);
    
        GooeyWindow_Run(2, &win, &msgBox);
    
        GooeyWindow_Cleanup(&win);
    
        return 0;
    }
                                

Want to try more examples?

The official Gooey Github repository contains a set of neat examples for you to use.

Github Repo