Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/idea4good/guilite

✔️The smallest header-only GUI library(4 KLOC) for all platforms
https://github.com/idea4good/guilite

c cpp cross-platform display docker embedded graphics-library gui header-only iot iot-platform mcu microcontroller

Last synced: 5 days ago
JSON representation

✔️The smallest header-only GUI library(4 KLOC) for all platforms

Awesome Lists containing this project

README

        

# Welcome to GUI-lite


Logo








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



Why GuiLite

- [中文](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://github.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.
- 🀄️[Mirror repository in China](https://gitee.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://github.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

---
### IoT feature
---



Monitor IoT device on cloud


Code Telemetry & Analysis in real time




Track IoT device over the world

---
### Multi-language, Design tool and video
---



Lattice Font


Freetype Font




Layout GUI


Render JPG file quickly




Play video with FFmpeg

---
### Widgets & Controller
---



Emulate Windows UI


Scroll widget




How to use widgets


3D Nets on Windows/Linux




Transparent dialog


Swipe view

---
### Cross platform
---



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

---
### Apple platform
---



3D on Apple Watch


Wave on Apple Watch


Particle on iPhone

## 📞Community Channel
Thanks for the help from the community, you all make GUI-lite better! And welcome to any new friend to join us.
- [**@Twitter**](https://twitter.com/idea4good)
- QQ group:



開發群🔑:875721211