# Welcome to GuiLite

Logo

The smallest header-only GUI library(5 KLOC) for all platforms

Why GuiLite

- [中文](README_zh.md) ## Lightweight - ✂️Small: 5,000- lines of C++ code & header-only: GuiLite.h - ⚡Fast: Render GUI within one invoking, independent of any OS & 3rd party library - 💉Embeddable: Run inside Qt/MFC/Winform/Cocoa/Web - Keep legacy Qt/MFC code reusable - ⚙️️Hardware Minimum Requirment: | Processor | Disk/ROM space | Memory | | --- | --- | --- | | 24 MHZ | 29 KB | 9 KB | ## Cross platforms - Support OS: iOS/macOS/WathOS, Android, Linux, Windows, RTOS... or **MCU without OS** - Support language: C/C++, Swift, Java, Javascript, C#, Golang... - Support 3rd party library: Qt, MFC, Winforms, CoCoa... ## Useful features - 🔣Multi-language, support UTF-8 - 🔨[Toolkit](https://github.com/idea4good/GuiLiteToolkit) for building font/image resource - 📐[Layout GUI WYSIWYG](https://github.com/idea4good/GuiLitePreviewer) - ☁️Cloud + IoT Solution - 📊Code Telemetry & Analysis in real time - 📦Support 3D & [Web](https://github.com/idea4good/GuiLiteWeb) - 🐋Run docker with single command: `sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh` ## Easy to learn & Full support Even C beginner, could master GuiLite quickly. The source code only use basic C++ feature(e,g: class, virtual function). We choose C++ for it could make the code size small significantly, and easy to read. - 📚Documents - [How to use GuiLite?](documents/HowToUse.md) - [Design specification](documents/HowToWork.md) - [How to Layout widgets?](documents/HowLayoutWork.md) - [How to build unicode font/bitmap resource?](https://github.com/idea4good/GuiLiteToolkit) - [How to switch theme?](https://gitee.com/idea4good/GuiLiteSamples/blob/master/HostMonitor/UIcode/source/resource/resource.cpp) - [How to dispatch messages?](documents/HowMessageWork.md) - [UML chart of GuiLite core](documents/UML.md) - 📈Learning steps 1. Build GuiLite library 2. Build/Run HelloXXX demos 3. Read/Modify `HelloXXX/UIcode/UIcode.cpp` code 4. Read/Modify `gui` code 5. Read/Modify `core` code 6. Build your UI framework - 📞[Reach out us](#community-channel) if you have any question, and welcome to our devloper family. - 🌐[GitHub link](https://github.com/idea4good/GuiLite) ## Demo wall Click the image you like, and run it on your hardware

3D on STM32

Wave on STM32

Particle on STM32

Star on STM32

Nets on STM32

Keyboard on STM32

Mario on STM32

3D circle on STM32

Timer

Swipe view

Animation

3D on Apple Watch

Wave on Apple Watch

Particle on iPhone

HostMonitor on iPhone

Layout GUI

Run Windows on Linux

Multi-language

Code Telemetry & Analysis in real time

Scroll widget

3D Nets on Windows/Linux

How to use widgets

Multi-language

3D on Web

3D on Web

Tutorial on Web

HostMonitor on Windows

HostMonitor on IoT-Cloud

HostMonitor on Android

HostMonitor on Windows Mixed Reality

HostMonitor on Mac

HostMonitor on Linux
## 📞Community Channel Thanks for the help from community, you guys make GuiLite better! And welcome new friend to join us. - [**@Twitter**](https://twitter.com/idea4good) - QQ code: [](https://jq.qq.com/?_wv=1027&k=5EO8D9i)