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<Window>("Example window");
Expandbox& expandbox = window.emplace<Expandbox>("Collapsable box");
Label& label = expandbox.emplace<Label>("kiUi says hello.");
Button& button = expand.emplace<Button>("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