@@ -9,15 +9,13 @@ It’s designed for games and lightweight applications that need a clean, polish
99
1010## Overview
1111
12- - Immediate-mode API
13- - No allocations, no dependencies beyond the C standard library
14- - Single header / single source, easy to drop into any project
15- - Built-in easing and animation for a smooth, modern feel
12+ - Immediate-mode API (rendering is also immediate, now command list to traverse, easier to integrate your own rendering)
13+ - No allocations, no dependencies beyond the C standard library
14+ - Single header / single source, easy to drop into any project
15+ - Built-in easing and animation for a smooth, modern feel
1616- A focused set of well-designed widgets
1717- ~ 500 lines of code, compiles in seconds
18-
19- LeanUI aims to sit between * microui’s minimalism* and * modern UI polish* .
20- It’s not a giant toolkit, but it’s not barebones either.
18+ - Low memory footprint ~ 3kb as the lib does not store any data for widget and don't use hashmap
2119
2220---
2321
@@ -28,23 +26,21 @@ LeanUI provides a small, cohesive set of widgets:
2826- ** Buttons** — with hover and press animations
2927- ** Labels / value fields** — for clean key–value layouts
3028- ** Toggles** — animated switches inspired by iOS
31- - ** Segmented controls** — for mode switching
29+ - ** Segmented controls** — for mode switching
30+ - ** Sliders**
3231
3332Each widget is built with consistent spacing, alignment, and interaction patterns.
3433The goal is not to cover everything, but to make a minimal set look and feel right out of the box.
3534
36- <img src =" docs/widgets.png " alt =" LeanUI demo " width =" 300 " >
37-
3835---
3936
4037## Animation & Easing
4138
4239Unlike most tiny immediate-mode UI libraries, LeanUI has animation built in:
4340
44- - Hover, press, and toggle states are automatically eased over time.
45- - New windows and panels animate smoothly when they appear.
41+ - Hover, press, and toggle states are automatically eased over time.
4642- No per-widget state is stored — transitions are computed implicitly based on widget identity.
47- - Common easing functions (e.g. quadratic, overshoot) are included.
43+ -
4844
4945This gives small UIs a fluid, modern feel without adding complexity to your code.
5046
@@ -55,13 +51,7 @@ This gives small UIs a fluid, modern feel without adding complexity to your code
5551``` c
5652#include " lean_ui.h"
5753
58- void frame (void )
54+ void frame (float delta_time )
5955{
60- ui_begin();
61-
62- if (ui_button("Click Me")) {
63- // Handle button press
64- }
65-
66- ui_end();
56+
6757}
0 commit comments