GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
GUIslice_ex
has been split into individual elements in /src/elem
.GUIslice_ex
into individual extended elements in /src/elem
, users are encouraged to replace the #include "GUIslice_ex.h"
with the components used by the user code. Please refer to Including Extended Elements
/configs
). Many supported displays and shields now pre-configured according to Table of TFT / OLED shields & breakout boards
INIT_MSG_DISABLE
)ElemCreateBtnImg()
/ ElemCreateImg()
changed to true to improve redraw performanceGUIslice_config_ard.h
or GUIslice_config_linux.h
. Please refer to How to Configure GUIslice
DRV_TOUCH_XPT2046
: Need to select DRV_TOUCH_XPT2046_STM
instead.DRV_TOUCH_SIMPLE
, DRV_TOUCH_STMPE610
, DRV_TOUCH_XPT2046*
) should run the new touch pin detection and calibration utilities. Please refer to Configuring Touch Support
DEBUG_ERR
set to 1.GUIslice Builder:
builder-win64-X.Y.Z.zip
builder-linux64-X.Y.Z.tar.gz
Major changes since v0.10.3:
GuiRotate()
and fixed rotation per GSLC_ROTATE
(#73, #72, #70, #55) and example ex17GSLC_TOUCH_ROTATE
, simplified configurationex19
DRV_TOUCH_HANDLER
(#64) and ex16
GSLC_DRV
and GSLC_TOUCH
)DRV_TOUCH_ADA_SIMPLE
) now adjusted in main configex05
to ex18
ex05
changed to simplified multi-page demoDRV_SDL_FIX_START
workaroundMigration notes:
GSLC_TOUCH_ROTATE
parameter is intended to replace the existing ADATOUCH_SWAP_XY
, ADATOUCH_FLIP_X
, ADATOUCH_FLIP_Y
parameters.Major changes since v0.10.0:
\n
) for #40ElemXCheckboxCreate_P()
to support radio buttons & checkboxes with backgrounds other than black. (Breaking API change)ElemCreateBtnTxt_P_R
)XTextbox
for #42XTextbox
Migration notes:
ElemXCheckboxCreate_P()
have added two new params (colFill,bFillEn
). Existing programs can insert GSLC_COL_BLACK,true
immediately before the radio group parameter (nGroup
) to match old default.Major changes since v0.9.2:
Migration notes:
tsElem*
to tsElemRef*
. Many API calls that didn't previously include tsGui*
will now require the addition of the GUI pointer as the first parameter.GUIslice_config.h
has now been replaced by two separate configurations, depending on the device platform (ie. GUIslice_config_ard.h
and GUIslice_config_linux.h
). The parameters within these configurations have changed in some cases, so one should update to the new defaults and then customize as required./tests
to /linux
Release notes for pre-existing release (v0.9.2 on 2018/01/06; changes from 0.9):
/arduino_min
DebugPrintf()
output of 0Migration Notes (since v0.9.0):
FontAdd()
API has changedDrvGetTxtSize()
API has changedGUIslice_config.h
: Added GSLC_TOUCH_MAX_EVT
, ADAGFX_ROTATE
gslc_DrawFillCircle()
)gslc_DrawLine()
for vertical/horizontal optimizationsDBG_DRIVER
to report SDL debug infoSDL_FULLSCREEN
modeDRV_SDL_RENDER_ACCEL
(select between software and hardware renderer for SDL2). Default to 1.DRV_SDL_FIX_START
to 0
Makefile
#define DRV_SDL_RENDER_ACCEL
to GUIslice_config.h
-lm
to Makefile linker optionsAs always, I welcome suggestions, feedback or code contributions! ([email protected])
GSLC_DEV_VID_DRV
from GUIslice_config.h
to set SDL_VIDEODRIVER
XSlider
control tick drawingGSLC_LDLIB_EXTRA
variableST7735
(eg. 0.96" OLED 128x64) using DRV_DISP_ADAGFX_ST7735
SSD1306
(eg. 1.44" SPI 128x128) using DRV_DISP_ADAGFX_SSD1306
. Fixesgslc_ElemCreateLine
)DRV_TOUCH_ADA_FT6206
)ADATOUCH_SWAP_XY
, ADATOUCH_FLIP_X
, ADATOUCH_FLIP_Y
)gslc_ElemXGaugeSetFlip
) and improved redraw. Fixed vertical gauge default orientation.DRV_DISP_SDL*
(eg. Raspberry Pi with HDMI display) using DRV_SDL_MOUSE_SHOW
.GUIslice_config.h
) updated to use more consistent notation with #define
.docs/GUIslice_config_guide.xlsx
) to demonstrate example CPU / board / display configuration settings.DRV_TOUCH_SDL
modeADAGFX_SPI_HW
, ADATOUCH_I2C_HW
, ADATOUCH_SPI_HW
, ADATOUCH_SPI_SW
, DRV_SDL_FIX_START
.