# Welcome to GUI-lite
The smallest header-only GUI library (4 KLOC) for all platforms.
- [中文](README_zh.md) ## Lightweight - ✂️Small: 4,000+ lines of C++ code, zero dependency, header-only(GuiLite.h) - ⚡Fast: High Rendering performance, even work on MCU - 👫🏻Compatible: Work smoothly with 3rd party frameworks(Qt/MFC/Winform/Cocoa/Web) - ⚙️️Hardware Minimum Requirements: | Processor | Disk/ROM space | Memory | | --- | --- | --- | | 24 MHZ | 29 KB | 9 KB | ## Cross platform - Supported OSes: iOS/macOS/WatchOS, Android, Linux, Windows, RTOS... or **MCU without OS** - Supported languages: C/C++, Swift, Java, Javascript, C#, Golang... - Supported 3rd party libraries: Qt, MFC, Winforms, CoCoa... ## Hero features - ☁️Cloud + IoT Solution: master your IoT business all over the world - 🔣Multi-language, supports UTF-8;📀Playback Video - 🔨[Toolkit](https://github.com/idea4good/GuiLiteToolkit) for building font/image resources - 📐[Layout GUI WYSIWYG](https://github.com/idea4good/GuiLitePreviewer) - 📊Code Telemetry and Analysis in real time - 📦Supports 3D and [Web](https://github.com/idea4good/GuiLiteWeb) - 🐋Run in docker with a single command: `sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh` ## Easy to learn and support Even a C beginner could master GUI-lite quickly. The source code only uses basic C++ features (class, virtual function). We chose C++ as it could make the code size significantly smaller and easier to read. - 📚Documentation - [How to use GUI-lite?](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 GUI-lite core](documents/UML.md) - 📈Learning steps 1. Build GUI-lite library 2. Build/Debug HelloXXX demos 3. Read/Modify `HelloXXX/UIcode/UIcode.cpp` code 4. Read/Modify `widgets` code 5. Read/Modify `core` code 6. Build your GUI framework - 📞[Reach out us](#community-channel) if you have any questions you are welcomed to our developer family. - 🌐[GitHub link](https://github.com/idea4good/GuiLite) ## Demo wall - Zero dependency, 100% build pass & runnable - Click the demo you like, and run it on your hardware - Most of the demos have about 100 lines of UI code, the code repository is [GuiLiteSamples](https://gitee.com/idea4good/GuiLiteSamples) --- ### MCU platform ---
3D on STM32 | Wave on STM32 | Particle on STM32 | Star on STM32 |
3D wave on STM32 | Keyboard on STM32 | Mario on STM32 | 3D circle on STM32 |
3D donut on STM32 | Timer | Molecule move | Pendulum effect |
Monitor IoT device on cloud | Code Telemetry & Analysis in real time |
Track IoT device over the world |
Lattice Font | Freetype Font |
Layout GUI | Render JPG file quickly |
Play video with FFmpeg |
Emulate Windows UI | Scroll widget |
How to use widgets | 3D Nets on Windows/Linux |
Transparent dialog | Swipe view |
HostMonitor on Windows | HostMonitor on Mac | HostMonitor on Android |
HostMonitor on Windows Mixed Reality | HostMonitor on Linux | 3D on Web |
3D on Web | HostMonitor on iPhone | How display work |
3D on Apple Watch | Wave on Apple Watch | Particle on iPhone |
開發群🔑:875721211 |