Full documentation Here
#include <ggui.h>
using namespace GGUI;
int main()
{
GGUI::GGUI(
title("Welcome to GGUI!") |
node(new textField(
position(STYLES::center) |
text("Hello World!")
))
);
GGUI::waitForTermination();
}For more examples see examples/README.md folder.
-
g++ GGUI.lib ...
g++ -std=c++17 -O3 -I./src ./src/**/*.cpp -o ggui # This will yank main.cpp into it as well, you can remove it if CLI is not needed.g++ -std=c++17 -O3 -I./src -c ./src/**/*.cpp -o ggui.lib # This will compile all source files into a single library file.g++ -std=c++17 -O3 -I./bin/export ./bin/export/buildGGUILib.cpp -o headerGenerator # This will build the automated builder.
./headerGenerator --headers-only --source-root ./ # This will generate automatically ggui.h, you can also add '--include-internal' for building ggui_dev.h -
- Will also remove any existing build directory
- only builds ggui_core
-
- uses positional arguments!
- give the build type first and then the target(s)
./bin/build.sh profile ggui # Links ggui_core with main.cpp ./bin/build.sh release build_native_archive # builds a usable archive and auto generates headers under ./bin/export/
-
- Basically a helper script for
./bin/build.sh release build_native_archiveand the cross-platform configuration - Cross-platform configs are located in
./bin/export/, you can add your own platforms if needed (needs some hassling) - Old system without meson:
g++ buildGGUILib.cpp && ./a.exe
- Basically a helper script for
-
- Takes build type as args
- Cannot recognize faulty rendering
:(
# Build types are: release, debug, profile
./bin/analytics/benchmark.sh -Full release # Full CPU profiling
./bin/analytics/time.sh 5 120 release # short duration 5s, long duration 120s; This is to check if opcodes explode with time growth or stay stabile.
./bin/analytics/assembly.sh profile # Helper script to make a large asm file of the whole thing.