6d05b9899f | ||
---|---|---|
core | ||
core_include | ||
doc | ||
widgets | ||
widgets_include | ||
.gitignore | ||
.sync.sh | ||
1h-1cpp.sh | ||
CMakeLists.txt | ||
GuiLite.sln | ||
GuiLite.uvprojx | ||
GuiLite.vcxproj | ||
GuiLite.vcxproj.filters | ||
GuiLite.vcxproj.user | ||
LICENSE | ||
README.md | ||
README_zh.md | ||
sync_build.bat |
README.md
GuiLite - The smallest GUI library
Introduction
GuiLite is the smallest GUI library with 5000 lines of code, could run on all platforms(e.g, iOS, Android, Linux, Windows, macOS, Docker and MCU without OS), and work with many languages(e.g. Swift, Java, Javascript, C#, Golang).
- ✂️Small: 5,000 lines of C++ code, could be merged into 1 header & 1 source file(GuiLite.h/GuiLite.cpp) - Easy to build & port
- ⚡Fast: Render GUI within one invoking, independent of any OS and any third party library - Make GUI run quickly and smoothly
- 💉Inject: Run inside Qt/MFC/Winform/Cocoa/Web - Keep Qt/MFC code reusable, and speed it up by local GuiLite-optimization
- ⚙️️Hardware Minimum Requirment:
Processor | Disk/ROM space | Memory |
---|---|---|
24 MHZ | 29 KB | 9 KB |
🔥New feature:3D engine - Hello 3D
- Hardware requirment: 16K RAM, 36 MHZ
- Cross platform(e.g, Windows, Linux, MCU, Qt, MFC)
- Easy to build 3D object
- Could upgrade your UI experience
Features
Cross platform
ARM Linux | STM32 Without OS |
---|---|
Windows Mixed Reality | Android |
---|---|
macOS | iOS |
---|---|
GuiLite previewer(WYSIWYG extension for GuiLite)
GuiLite Previewer is a Visual Studio Code extension, could extract GUI information from C++ code and preview GUI at preview page(What you see is what you get)
Gorgeous UI
Multi-language:
IoT Solution & Code Telemetry
Support Docker
We build GuiLite demo as docker image, you can update/deploy/run the latest GuiLite demo on your device with single command below:
sudo docker run -it --privileged -v /dev:/dev-share idea4good/gui-lite:latest bash /run.sh
Inject GuiLite Samples into 3D Web
- Run GuiLite Samples(HelloParticle, HelloWave) on Web and 3D scenario
- Source code
Start with Demo
GuiLite is only a framework, could not create UI by itself. In order to show how to build UI App with it, We provide some samples for you.
- Sample code here.
- Sample introduction:
Sample name | Platform | Description | Build guidance | Diffculty level |
---|---|---|---|---|
HelloParticle | Windows, Linux, STM32F103, STM32F429 | Show how to develop particle effect | Build | ★ |
HelloStar | Windows, Linux, STM32F103, STM32F429 | Show how to develop star field effect | Build | ★ |
Hello3D | Windows, Linux, STM32F103 | Lightweight(MCU level) 3D engine base on GuiLite | Build | ★★ |
HelloNets | Windows, Linux, STM32F103 | Show how to build physics App with GuiLite | Build | ★★ |
HelloGuiLite | Windows, Linux | Show how to Initialize UI, load resource, layout UI | Build | ★★ |
HelloWidgets | Windows, Linux | Show how to use GuiLite widgets | Build | ★★ |
HelloMario | Windows, Linux, STM32F103, STM32F429 | Show how to develop multi-layer UI system | Build | ★★ |
HelloNavigation | Windows, Linux, STM32F103, STM32F429 | Show how to navigate/click widgets by hard button in non-touch GUI scenario | Build | ★★ |
HelloFont | Windows, Linux | Show how to use multi-language feature(UTF-8) | Build | ★★ |
HelloAnimation | Windows, Linux | Show how to make animation | Build | ★★ |
HelloSlide | Windows, Linux | Show how to use sliding pages | Build | ★★★ |
HelloWave | Windows, Linux, STM32F103, STM32F429 | Show how to use wave widget | Build | ★★★ |
HostMonitor | iOS, Mac, Android, Windows, Linux | Show how to build complex UI for all platforms | Build | ★★★★ |
Documents
GuiLite is the smallest and simplest GUI library.
- Just 5,000 line C++ code
- Only use basic C++ feature(class, virtual function), no complex syntax
- All rendering base on draw_pixel, no algorithm
- Full documents and small live demos for reference
How to learn?
- Build/Run GuiLite library
- Build/Run HelloXXX demos
- Read/Modify
HelloXXX/UIcode/UIcode.cpp
code - Read/Modify
gui
code - Read/Modify
core
code - Build your UI framework
Videos
Mirror repository
Thanks and Charity
- Thanks for the help from QQ group, you guys make GuiLite better! And welcome new friend to join us.
- Sponsor & Help sick kids