No description
Find a file
2025-10-08 22:16:17 +02:00
.ecode updated build configuration 2025-06-30 13:07:42 +02:00
docs ported rewrite2 to c3 2024-10-29 22:45:47 +01:00
lib first draft 2025-10-08 22:16:17 +02:00
resources re-implemented scrollbars 2025-09-29 23:51:02 +02:00
scripts updated build configuration 2025-06-30 13:07:42 +02:00
src first draft 2025-10-08 22:16:17 +02:00
test moved test_renderer.c3 2025-09-23 23:32:34 +02:00
.gitignore changed the pipeline to use 16 bit int as coords 2025-06-03 09:16:51 +02:00
.gitmodules use the language's qoi decoder 2025-06-09 16:06:49 +02:00
ARCHITECTURE.md mar 9 gen 2024, 16:00:03, CET 2024-01-09 16:00:03 +01:00
LICENSE ported rewrite2 to c3 2024-10-29 22:45:47 +01:00
Makefile idk 2025-09-11 19:00:41 +02:00
project.json use $feature() to enable debug features 2025-10-03 15:31:44 +02:00
README.md Update README.md 2025-10-06 23:46:27 +02:00
TODO draw text correctly 2025-09-09 19:10:04 +02:00

UGUI

Immediate mode ui library for C3. (Name subject to change).

This repo contains the library itself, a renderer based on SLD3's new GPU API and a test program. The library is located at lib/ugui.c3l.

The layout algorithm is similar to flexbox. A graphical description of the layout algorithm is located in the LAYOUT file. The structure of the library is (was) described in the ARCHITECTURE file, most of it is now irrelevant and will be updated in the future.

Dependencies

  • shaderc for glslc
  • c3c version >0.7.5
  • SDL3
  • A C compiler

Building

  1. Clone the repo and all dependencies
git clone https://github.com/ma-ale/ugui
cd ugui
git submodule update --recursive --init
  1. Build libgrapheme
cd lib/grapheme.c3l
make
cd ../..
  1. Compile libschrift
cd lib/schrift.c3l
make
cd ../..
  1. Build and run the project
make && build/ugui