MCPcopy Index your code
hub / github.com/ImpulseAdventure/GUIslice

github.com/ImpulseAdventure/GUIslice @v0.17.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.2 ↗ · + Follow
819 symbols 2,395 edges 178 files 287 documented · 35%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GUIslice library

Build Status GitHub Issues Contributions welcome License

A lightweight GUI framework for embedded displays

Design your GUI with a drag & drop builder, then apply the same code to a wide range of displays, libraries and controllers with the cross-platform framework. Open source MIT license grants free commercial usage.

Example 1 Example 5 GUIslice Builder

Features

  • Pure C library, no dynamic memory allocation
  • Widgets:
  • text, images, buttons, checkboxes, radio buttons, sliders, custom keypads, listbox, radial controls, scrolling textbox / terminal, graphs, etc. plus extensions and multiple pages.
  • Cross-platform GUIslice Builder application to generate layouts
  • Platform-independent GUI core currently supports:
  • Adafruit-GFX, TFT_eSPI, mcufriend, UTFT, LCDGFX, SDL1.2, SDL2.0
  • Devices:
  • Raspberry Pi, Arduino, ATmega2560, ESP8266 / NodeMCU, ESP32, M5stack, Teensy 3 / T4, WIO Terminal, Feather M0 (Cortex-M0), nRF52 (Cortex-M4F), LINUX, Beaglebone Black, STM32, Due, etc.
  • Typical displays:
  • PiTFT, Adafruit TFT 3.5" / 2.8" / 2.4" / 2.2" / 1.44", FeatherWing TFT, OLED 0.96", mcufriend, BuyDisplay / EastRising 4.3" 5" 7", Waveshare, 4D Cape
  • Display drivers include:
  • ILI9341, ST7735, SSD1306, HX8347D, HX8357, PCD8544, RA8875, RA8876, ILI9225, ILI9341_t3, ILI9341_due
  • Touchscreen control including:
  • STMPE610, FT6206, FT5206, XPT2046, TSC2007, 4-wire, tslib, URTouch, Adafruit Seesaw
  • IDE Support:
  • GUIslice has been tested for use in the Arduino IDE and Platform IO environments, in addition to LINUX make
  • Foreign characters / UTF-8 encoding (in SDL mode), anti-aliased fonts (in TFT_eSPI mode)
  • Dynamic display rotation
  • GPIO / pin / keyboard / Adafruit Seesaw navigation for non-touchscreen devices

Screenshots

Example 3 Example 4 snap07_c

GUIslice Builder

  • Includes cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts
  • Please refer to GUIslice Builder wiki for documentation

Disclaimer

The Software is not designed for use in devices or situations where there may be physical injury if the Software has errors.

Core symbols most depended-on inside this repo

gslc_ElemSetRedraw
called by 108
src/GUIslice.c
gslc_GetElemFromRef
called by 97
src/GUIslice.c
gslc_ElemCreateTxt
called by 78
src/GUIslice.c
gslc_ElemSetCol
called by 73
src/GUIslice.c
gslc_GetXDataFromRef
called by 69
src/GUIslice.c
gslc_ElemSetTxtCol
called by 56
src/GUIslice.c
gslc_DrawLine
called by 47
src/GUIslice.c
gslc_GetElemFromRefD
called by 45
src/GUIslice.c

Shape

Function 718
Method 78
Class 20
Enum 3

Languages

C65%
C++35%

Modules by API surface

src/GUIslice.c190 symbols
src/GUIslice_drv_tft_espi.cpp51 symbols
src/GUIslice_drv_adagfx.cpp51 symbols
src/GUIslice_drv_m5stack.cpp43 symbols
src/GUIslice_drv_utft.cpp42 symbols
src/GUIslice_drv_sdl.c42 symbols
src/elem/XKeyPad.c36 symbols
src/elem/XListbox.c19 symbols
src/elem/XGauge.c11 symbols
src/GUIslice_th.cpp11 symbols
examples/wio/ex27_wio_alpha/EasyButton.cpp11 symbols
examples/wio/ex04_wio_ctrls/EasyButton.cpp11 symbols

For agents

$ claude mcp add GUIslice \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact