Gooey GUI Library
Loading...
Searching...
No Matches
Gooey - Cross-Platform GUI Library

The elegant way to build cross-platform applications with native performance.

Warning

For production code disable address sanitizer, it will cause high memory usage.

Features

  • Cross-Platform: Write once, build anywhere (Windows, Linux)
  • Lightweight: Minimal footprint with maximum functionality
  • Customizable: Tailor every aspect of your UI
  • Minimal Dependencies: Built with minimal dependencies
  • Pure C: Portable code perfect for embedded solutions
  • Community Driven: Open-source under GPL v2 license

Quick Start

Installation

Download the latest release from our GitHub Releases page.

Basic Example

#include <Gooey/gooey.h>
int main()
{
GooeyWindow *win = GooeyWindow_Create("My Window", 400, 400, true);
GooeyLabel *label_0 = GooeyLabel_Create("Hello World!", 0.26f, 164, 159);
GooeyWindow_RegisterWidget(win, label_0);
GooeyWindow_Run(1, win);
GooeyWindow_Cleanup(1, win);
return 0;
}
int Gooey_Init()
Initializes the Gooey system with the specified backend.
GooeyLabel * GooeyLabel_Create(const char *text, float font_size, int x, int y)
Creates a Label.

Documentation

Explore our comprehensive documentation:

Building from Source

  1. Clone the repository:
    git clone https://github.com/GooeyUI/GooeyGUI.git GooeyGUI
    cd GooeyGUI
  2. Get Submodules:
    git submodule init
    git submodule update --remote --merge
  3. Build the library:
    cmake -S . -B build
    cd build && make
    # Install if you encounter missing packages
    sudo apt install libdrm-dev libgbm-dev libegl-dev libgl-dev libwayland-dev libxkbcommon-dev mesa-utils
  4. Install (optional):
    sudo make install
  5. Building a example
    gcc example.c -o example -L/usr/local/lib/ -lfreetype -lGooeyGUI -lGLPS -lm -I/usr/local/include/ -fsanitize=address,undefined && ./example

Contributing

We welcome contributions!

License

Gooey is released under the GNU General Public License v2.0.

Community

Join our growing community:

Special Thanks

To all our contributors who help make Gooey better!


© 2025 Gooey GUI Library | Website