Auto-layout Ui library, lightweight, skinnable and system agnostic, with an OpenGL backend
Auto-layout Ui library, lightweight, skinnable and system agnostic, with an OpenGL backend
This repository just exists for history purposes but is not under active development anymore.
kiUi is a lightweight auto-layout Ui library, abstracted out from any rendering or input code.
kiui supports Emscripten : try the live demo here.
It is designed according to the following design goals :
Every single element in kiUi auto-layouts ! You have nothing to do. No position to set, no size to determine.
The style can be defined and tweaked separately by an artist. Style are defined in C++ as of now, but Style Sheets are planned to come soon.
kiUi was conceived so that each element can be styled in a way very similar to CSS, through Style Sheets You can switch between Styles Sheets on the fly
RootSheet& root = uiwindow.rootSheet();
Window& window = root.emplace("Example window");
Expandbox& expandbox = window.emplace("Collapsable box");
Label& label = expandbox.emplace("kiUi says hello.");
Button& button = expand.emplace("Push me");For a more in-depth usage example look at the full demo implementation : Example
kiUi comes with a light renderer / input system based on NanoVG and GLFW to quickly bootstrap a prototype application in a few lines of code.
GlWindow glwindow(1200, 800, "mk UiEditApp");
glwindow.initContext();
UiWindow& uiwindow = glwindow.uiWindow();
bool pursue = true;
while(pursue)
pursue = glwindow.renderFrame();kiUi will come with a simple editor which also uses kiUi for its interface
The library is licensed under zlib license
Uses nanovg for vector rendering Uses glfw for OpenGL context management
No open issues yet, or sync has not completed.