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: 8 months ago 
        JSON representation
    
✔️The smallest header-only GUI library(4 KLOC) for all platforms
- Host: GitHub
- URL: https://github.com/idea4good/GuiLite
- Owner: idea4good
- License: apache-2.0
- Created: 2017-09-15T03:40:38.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-22T09:30:41.000Z (almost 2 years ago)
- Last Synced: 2025-03-13T16:01:51.111Z (8 months ago)
- Topics: c, cpp, cross-platform, display, docker, embedded, graphics-library, gui, header-only, iot, iot-platform, mcu, microcontroller
- Language: C++
- Homepage: https://www.youtube.com/watch?v=grqXEz3bdC0
- Size: 77.1 MB
- Stars: 7,478
- Watchers: 247
- Forks: 809
- Open Issues: 17
- 
            Metadata Files:
            - Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
 
Awesome Lists containing this project
- awesome-game-engine-dev - GuiLite - Header-only, cross-platform gui library. (Libraries / C++)
- awesome-repositories - idea4good/GuiLite - - 5K lines code (Misc)
- awesome-list - GuiLite - only GUI library(4 KLOC) for all platforms | idea4good | 5620 | (C++)
- AwesomeCppGameDev - GuiLite - Fast-Injectable GUI library(5 KLOC) for all platforms (Graphics)
- awesome-practical-cpp - idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms.   (GUI)
- awesome-practical-cpp - idea4good/GuiLite - The smallest header-only GUI library(4 KLOC) for all platforms.   (Embedded)
README
          # 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://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