No description
Find a file
2025-10-25 17:11:00 +02:00
.ecode enable 01 and parallel compilation 2025-10-23 22:31:58 +02:00
docs ported rewrite2 to c3 2024-10-29 22:45:47 +01:00
lib moved renderer to submodule 2025-10-25 17:11:00 +02:00
resources better highlight color 2025-10-23 22:31:32 +02:00
scripts updated build configuration 2025-06-30 13:07:42 +02:00
src moved renderer to it's own library and module 2025-10-25 15:13:06 +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 moved renderer to submodule 2025-10-25 17:11:00 +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 moved renderer to submodule 2025-10-25 17:11:00 +02:00
project.json moved renderer to it's own library and module 2025-10-25 15:13:06 +02:00
README.md Update README.md 2025-10-06 23:46:27 +02:00
TODO actually correct input handling 2025-10-10 22:31:28 +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