GUIslice Ref
GUIslice Ref
0.17.0
1 GUIslice library 1
2 Todo List 3
3 Module Index 5
3.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Hierarchical Index 7
6 File Index 11
7 Module Documentation 13
7.1.2.1 gslc_DebugPrintf() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1.2.2 gslc_GetClipRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1.2.3 gslc_GetDriverDisp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1.2.4 gslc_GetDriverTouch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1.2.5 gslc_GetNameDisp() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1.2.6 gslc_GetNameTouch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
ii CONTENTS
7.1.2.7 gslc_GetVer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.2.8 gslc_GuiRotate() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.2.9 gslc_Init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1.2.10 gslc_InitDebug() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1.2.11 gslc_Quit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1.2.12 gslc_SetBkgndColor() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.1.2.13 gslc_SetBkgndImage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1.2.14 gslc_SetClipRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1.2.15 gslc_SetTransparentColor() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1.2.16 gslc_Update() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.2.2.1 gslc_ClipLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.2.2 gslc_ClipPt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.2.2.3 gslc_ClipRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2.2.4 gslc_ColorBlend2() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7.2.2.5 gslc_ColorBlend3() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2.2.6 gslc_ColorEqual() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.2.2.7 gslc_cosFX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2.2.8 gslc_ExpandRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2.2.9 gslc_GetImageFromFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2.2.10 gslc_GetImageFromProg() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.2.2.11 gslc_GetImageFromRam() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.2.2.12 gslc_GetImageFromSD() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.2.2.13 gslc_InvalidateRgnAdd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.2.2.14 gslc_InvalidateRgnPage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.2.2.15 gslc_InvalidateRgnReset() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2.2.16 gslc_InvalidateRgnScreen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.2.2.17 gslc_IsInRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Generated by Doxygen
CONTENTS iii
7.2.2.18 gslc_IsInWH() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.2.2.19 gslc_PolarToXY() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.2.2.20 gslc_sinFX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.2.2.21 gslc_UnionRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.3.2.1 gslc_DrawFillCircle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.3.2.2 gslc_DrawFillGradSector() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
7.3.2.3 gslc_DrawFillQuad() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.3.2.4 gslc_DrawFillRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3.2.5 gslc_DrawFillRoundRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3.2.6 gslc_DrawFillSector() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.3.2.7 gslc_DrawFillTriangle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7.3.2.8 gslc_DrawFrameCircle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3.2.9 gslc_DrawFrameQuad() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.3.2.10 gslc_DrawFrameRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.3.2.11 gslc_DrawFrameRoundRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7.3.2.12 gslc_DrawFrameTriangle() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.3.2.13 gslc_DrawLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.3.2.14 gslc_DrawLineH() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3.2.15 gslc_DrawLinePolar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3.2.16 gslc_DrawLineV() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.3.2.17 gslc_DrawSetPixel() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4.2.1 gslc_FontAdd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.4.2.2 gslc_FontGet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.4.2.3 gslc_FontSet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Generated by Doxygen
iv CONTENTS
7.4.2.4 gslc_FontSetMode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.5.2.1 gslc_GetPageCur() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.5.2.2 gslc_PageAdd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.5.2.3 gslc_PageFindElemById() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.5.2.4 gslc_PageRedrawGet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.5.2.5 gslc_PageRedrawSet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.5.2.6 gslc_PopupHide() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.5.2.7 gslc_PopupShow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.5.2.8 gslc_SetPageBase() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.5.2.9 gslc_SetPageCur() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.5.2.10 gslc_SetPageOverlay() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.5.2.11 gslc_SetStackPage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.5.2.12 gslc_SetStackState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.7.2.1 gslc_ElemCreateBox() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.7.2.2 gslc_ElemCreateBtnImg() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
7.7.2.3 gslc_ElemCreateBtnTxt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.7.2.4 gslc_ElemCreateImg() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.7.2.5 gslc_ElemCreateLine() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.7.2.6 gslc_ElemCreateTxt() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Generated by Doxygen
CONTENTS v
7.8.2.1 gslc_ElemGetId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.9.2.1 gslc_ElemCalcRectState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.9.2.2 gslc_ElemCalcResizeForFocus() . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.9.2.3 gslc_ElemGetEdit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.9.2.4 gslc_ElemGetFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7.9.2.5 gslc_ElemGetFocusEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.9.2.6 gslc_ElemGetGlow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.9.2.7 gslc_ElemGetGlowEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.9.2.8 gslc_ElemGetGroup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.9.2.9 gslc_ElemGetOnScreen() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.9.2.10 gslc_ElemGetRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.9.2.11 gslc_ElemGetRedraw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.9.2.12 gslc_ElemGetTxtStr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.9.2.13 gslc_ElemGetVisible() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.9.2.14 gslc_ElemGrowRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.9.2.15 gslc_ElemOwnsCoord() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.9.2.16 gslc_ElemSetClickEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.9.2.17 gslc_ElemSetCol() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.9.2.18 gslc_ElemSetDrawFunc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.9.2.19 gslc_ElemSetEdit() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.9.2.20 gslc_ElemSetFillEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.9.2.21 gslc_ElemSetFocus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.9.2.22 gslc_ElemSetFocusEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.9.2.23 gslc_ElemSetFrameEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.9.2.24 gslc_ElemSetGlow() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.9.2.25 gslc_ElemSetGlowCol() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.9.2.26 gslc_ElemSetGlowEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Generated by Doxygen
vi CONTENTS
7.9.2.27 gslc_ElemSetGroup() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.9.2.28 gslc_ElemSetRect() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.9.2.29 gslc_ElemSetRedraw() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.9.2.30 gslc_ElemSetRoundEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.9.2.31 gslc_ElemSetStyleFrom() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.9.2.32 gslc_ElemSetTickFunc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.9.2.33 gslc_ElemSetTouchFunc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.9.2.34 gslc_ElemSetTxtAlign() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.9.2.35 gslc_ElemSetTxtCol() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.9.2.36 gslc_ElemSetTxtEnc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.9.2.37 gslc_ElemSetTxtMargin() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
7.9.2.38 gslc_ElemSetTxtMarginXY() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.9.2.39 gslc_ElemSetTxtMem() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.9.2.40 gslc_ElemSetTxtStr() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.9.2.41 gslc_ElemSetVisible() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.9.2.42 gslc_ElemUpdateFont() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
7.9.2.43 gslc_ResetRectState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
7.9.2.44 gslc_StrCopy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Generated by Doxygen
CONTENTS vii
7.10.3.1 gslc_GetTouch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.10.3.2 gslc_InitTouch() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.10.3.3 gslc_SetTouchPressCal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.10.3.4 gslc_SetTouchRemapCal() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.10.3.5 gslc_SetTouchRemapEn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.10.3.6 gslc_SetTouchRemapYX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7.11.2.1 gslc_FocusElemGet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.11.2.2 gslc_FocusElemIndSet() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.11.2.3 gslc_FocusElemStep() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.11.2.4 gslc_FocusPageStep() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.11.2.5 gslc_FocusSetToTrackedElem() . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.11.2.6 gslc_InitInputMap() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.11.2.7 gslc_InputMapAdd() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.11.2.8 gslc_SetPinPollFunc() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.12.2.1 GSLC_DEBUG2_PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.12.2.2 GSLC_DEBUG2_PRINT_CONST . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.12.2.3 GSLC_DEBUG_PRINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.12.2.4 GSLC_DEBUG_PRINT_CONST . . . . . . . . . . . . . . . . . . . . . . . . . 96
7.13.2.1 gslc_ElemCreateBox_P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
7.13.2.2 gslc_ElemCreateBtnTxt_P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
7.13.2.3 gslc_ElemCreateLine_P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Generated by Doxygen
viii CONTENTS
7.13.2.4 gslc_ElemCreateTxt_P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.14.2.9 b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Generated by Doxygen
CONTENTS ix
7.14.2.44 g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.14.2.45 h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Generated by Doxygen
x CONTENTS
Generated by Doxygen
CONTENTS xi
7.14.2.99 nX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
7.14.2.100nY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.101pElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.102pElemRefParent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.103pElemRefTracked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.104pFname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.105pFocusElemRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.14.2.106pFocusPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.107pfuncPinPoll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.108pfuncXDraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.109pfuncXEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.110pfuncXTick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.111pfuncXTouch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.14.2.112pImgBuf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.14.2.113pStrBuf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.14.2.114pTxtFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Generated by Doxygen
xii CONTENTS
7.14.2.115pvData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.14.2.116pvDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.14.2.117pvFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.14.2.118pvImgRaw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.119pvScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.120pXData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.121r . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.122rBounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.123rElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.14.2.124rFocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.125rFull . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.126rInner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.127rInvalidateRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.128sCollect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.129sElemRefTmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.130sElemTmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.14.2.131sElemTmpProg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.132sEventPend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.133sEventTouchPend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.134sImgRefBkgnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.135sImgRefGlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.136sImgRefNorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
7.14.2.137sTransCol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7.14.2.138w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Generated by Doxygen
CONTENTS xiii
Generated by Doxygen
xiv CONTENTS
Generated by Doxygen
CONTENTS xv
Generated by Doxygen
xvi CONTENTS
Generated by Doxygen
CONTENTS xvii
Generated by Doxygen
xviii CONTENTS
Generated by Doxygen
CONTENTS xix
Generated by Doxygen
xx CONTENTS
Generated by Doxygen
CONTENTS xxi
Generated by Doxygen
xxii CONTENTS
Generated by Doxygen
CONTENTS xxiii
Generated by Doxygen
xxiv CONTENTS
Generated by Doxygen
CONTENTS xxv
Generated by Doxygen
xxvi CONTENTS
Generated by Doxygen
CONTENTS xxvii
Generated by Doxygen
xxviii CONTENTS
Generated by Doxygen
CONTENTS xxix
Generated by Doxygen
xxx CONTENTS
Generated by Doxygen
CONTENTS xxxi
Generated by Doxygen
xxxii CONTENTS
Generated by Doxygen
CONTENTS xxxiii
Generated by Doxygen
xxxiv CONTENTS
Generated by Doxygen
CONTENTS xxxv
Generated by Doxygen
xxxvi CONTENTS
Generated by Doxygen
CONTENTS xxxvii
Generated by Doxygen
xxxviii CONTENTS
Generated by Doxygen
CONTENTS xxxix
Generated by Doxygen
xl CONTENTS
Generated by Doxygen
CONTENTS xli
Generated by Doxygen
xlii CONTENTS
Generated by Doxygen
CONTENTS xliii
Generated by Doxygen
xliv CONTENTS
Generated by Doxygen
CONTENTS xlv
Generated by Doxygen
xlvi CONTENTS
Generated by Doxygen
CONTENTS xlvii
Generated by Doxygen
xlviii CONTENTS
Generated by Doxygen
CONTENTS xlix
Generated by Doxygen
l CONTENTS
Generated by Doxygen
CONTENTS li
Generated by Doxygen
lii CONTENTS
Generated by Doxygen
CONTENTS liii
Generated by Doxygen
liv CONTENTS
Generated by Doxygen
CONTENTS lv
Generated by Doxygen
lvi CONTENTS
Generated by Doxygen
CONTENTS lvii
Generated by Doxygen
lviii CONTENTS
Generated by Doxygen
CONTENTS lix
Generated by Doxygen
lx CONTENTS
Generated by Doxygen
CONTENTS lxi
Generated by Doxygen
lxii CONTENTS
Generated by Doxygen
CONTENTS lxiii
Generated by Doxygen
lxiv CONTENTS
Generated by Doxygen
Chapter 1
GUIslice library
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.
• Release history
• Website (www.impulseadventure.com)
Features
• Widgets:
– text, images, buttons, checkboxes, radio buttons, sliders, custom keypads, listbox, radial controls,
scrolling textbox / terminal, graphs, etc. plus extensions and multiple pages.
• 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:
2 GUIslice library
– 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
– ILI9341, ST7735, SSD1306, HX8347D, HX8357, PCD8544, RA8875, RA8876, ILI9225, ILI9341_t3,
ILI9341_due
• 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)
Screenshots
GUIslice Builder
• Includes cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts
Disclaimer
The Software is not designed for use in devices or situations where there may be physical injury if the Software has
errors.
Generated by Doxygen
Chapter 2
Todo List
Generated by Doxygen
Chapter 3
Module Index
3.1 Modules
General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Graphics General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Graphics Primitive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Font Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Page Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Element Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Element: Creation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Element: General Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Element: Update Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Touchscreen Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Input Mapping Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
General Purpose Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Flash-based Element Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Internal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Internal: Misc Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Internal: Element Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Internal: Page Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Internal: Element Collection Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Internal: Element Collection Event Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Internal: Tracking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Internal: Cleanup Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
6 Module Index
Generated by Doxygen
Chapter 4
Hierarchical Index
gslc_tsCollect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
gslc_tsColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
gslc_tsDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
gslc_tsElem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
gslc_tsElemRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
gslc_tsEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
gslc_tsEventTouch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
gslc_tsFont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
gslc_tsGui . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
gslc_tsImgRef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
gslc_tsInputMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
gslc_tsKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
gslc_tsLabelSpecial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
gslc_tsPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
gslc_tsPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
gslc_tsRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
gslc_tsRectState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
gslc_tsXCheckbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
gslc_tsXGauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
gslc_tsXGlowball . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
gslc_tsXGlowballRing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
gslc_tsXGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
gslc_tsXKeyPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
gslc_tsXKeyPadCfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
gslc_tsXKeyPadCfg_Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
gslc_tsXKeyPadCfg_Num . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
gslc_tsXKeyPadData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
gslc_tsXKeyPadResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
gslc_tsXListbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
gslc_tsXProgress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
gslc_tsXRadial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
gslc_tsXRamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
gslc_tsXRingGauge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
gslc_tsXSeekbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
gslc_tsXSelNum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
8 Hierarchical Index
gslc_tsXSlider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
gslc_tsXSpinner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
gslc_tsXTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
gslc_tsXTextbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
gslc_tsXTogglebtn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
gslc_tsXToggleImgbtn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
THPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
TouchHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
TouchHandler_XPT2046 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Generated by Doxygen
Chapter 5
gslc_tsCollect
Element collection struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
gslc_tsColor
Color structure. Defines RGB triplet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
gslc_tsDriver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
gslc_tsElem
Element Struct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
gslc_tsElemRef
Element reference structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
gslc_tsEvent
Event structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
gslc_tsEventTouch
Structure used to pass touch data through event . . . . . . . . . . . . . . . . . . . . . . . . . 171
gslc_tsFont
Font reference structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
gslc_tsGui
GUI structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
gslc_tsImgRef
Image reference structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
gslc_tsInputMap
Input mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
gslc_tsKey
Key information. Defines everything we need to know about a particular key . . . . . . . . . . 176
gslc_tsLabelSpecial
Key Label strings for special buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
gslc_tsPage
Page structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
gslc_tsPt
Define point coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
gslc_tsRect
Rectangular region. Defines X,Y corner coordinates plus dimensions . . . . . . . . . . . . . . 180
gslc_tsRectState
State associated with an element's region . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
gslc_tsXCheckbox
Extended data for Checkbox element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
10 Data Structure Index
gslc_tsXGauge
Extended data for Gauge element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
gslc_tsXGlowball
Extended data for Slider element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
gslc_tsXGlowballRing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
gslc_tsXGraph
Extended data for Graph element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
gslc_tsXKeyPad
Extended data for KeyPad element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
gslc_tsXKeyPadCfg
Configuration for the KeyPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
gslc_tsXKeyPadCfg_Alpha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
gslc_tsXKeyPadCfg_Num . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
gslc_tsXKeyPadData
Input callback data structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
gslc_tsXKeyPadResult
Return status for XKeyPad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
gslc_tsXListbox
Extended data for Listbox element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
gslc_tsXProgress
Extended data for Gauge element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
gslc_tsXRadial
Extended data for Gauge element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
gslc_tsXRamp
Extended data for Gauge element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
gslc_tsXRingGauge
Extended data for XRingGauge element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
gslc_tsXSeekbar
Extended data for Seekbar element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
gslc_tsXSelNum
Extended data for SelNum element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
gslc_tsXSlider
Extended data for Slider element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
gslc_tsXSpinner
Extended data for Spinner element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
gslc_tsXTemplate
Callback function for slider feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
gslc_tsXTextbox
Extended data for Textbox element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
gslc_tsXTogglebtn
Extended data for Togglebtn element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
gslc_tsXToggleImgbtn
Extended data for ToggleImgbtn element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
THPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
TouchHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
TouchHandler_XPT2046 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Generated by Doxygen
Chapter 6
File Index
src/GUIslice.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
src/GUIslice.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
src/GUIslice_config.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
src/GUIslice_drv.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
src/GUIslice_drv_adagfx.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
src/GUIslice_drv_adagfx.h
GUIslice library (driver layer for Adafruit-GFX) . . . . . . . . . . . . . . . . . . . . . . . . . . 574
src/GUIslice_drv_m5stack.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
src/GUIslice_drv_m5stack.h
GUIslice library (driver layer for M5stack) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
src/GUIslice_drv_sdl.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
src/GUIslice_drv_sdl.h
GUIslice library (driver layer for LINUX / SDL) . . . . . . . . . . . . . . . . . . . . . . . . . . 620
src/GUIslice_drv_tft_espi.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
src/GUIslice_drv_tft_espi.h
GUIslice library (driver layer for TFT-eSPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
src/GUIslice_drv_utft.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
src/GUIslice_drv_utft.h
GUIslice library (driver layer for UTFT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
src/GUIslice_ex.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
src/GUIslice_th.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
src/GUIslice_th.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
src/GUIslice_th_XPT2046.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
src/GUIslice_version.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
src/elem/XCheckbox.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
src/elem/XCheckbox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
src/elem/XGauge.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
src/elem/XGauge.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
src/elem/XGlowball.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
src/elem/XGlowball.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
src/elem/XGraph.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
src/elem/XGraph.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
src/elem/XKeyPad.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
src/elem/XKeyPad.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
src/elem/XKeyPad_Alpha-setup.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
12 File Index
src/elem/XKeyPad_Alpha.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
src/elem/XKeyPad_Alpha.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
src/elem/XKeyPad_Num-setup.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
src/elem/XKeyPad_Num.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
src/elem/XKeyPad_Num.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
src/elem/XListbox.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
src/elem/XListbox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
src/elem/XProgress.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
src/elem/XProgress.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
src/elem/XRadial.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
src/elem/XRadial.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
src/elem/XRamp.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
src/elem/XRamp.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
src/elem/XRingGauge.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
src/elem/XRingGauge.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
src/elem/XSeekbar.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
src/elem/XSeekbar.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
src/elem/XSelNum.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
src/elem/XSelNum.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
src/elem/XSlider.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
src/elem/XSlider.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
src/elem/XSpinner.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
src/elem/XSpinner.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
src/elem/XTemplate.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
src/elem/XTemplate.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
src/elem/XTextbox.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
src/elem/XTextbox.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
src/elem/XTogglebtn.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
src/elem/XTogglebtn.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
src/elem/XToggleImgbtn.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
src/elem/XToggleImgbtn.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
Generated by Doxygen
Chapter 7
Module Documentation
Functions
• char ∗ gslc_GetVer (gslc_tsGui ∗pGui)
Get the GUIslice version number.
• const char ∗ gslc_GetNameDisp (gslc_tsGui ∗pGui)
Get the GUIslice display driver name.
• const char ∗ gslc_GetNameTouch (gslc_tsGui ∗pGui)
Get the GUIslice touch driver name.
• void ∗ gslc_GetDriverDisp (gslc_tsGui ∗pGui)
Get the native display driver instance.
• void ∗ gslc_GetDriverTouch (gslc_tsGui ∗pGui)
Get the native touch driver instance.
• bool gslc_Init (gslc_tsGui ∗pGui, void ∗pvDriver, gslc_tsPage ∗asPage, uint8_t nMaxPage, gslc_tsFont ∗as←-
Font, uint8_t nMaxFont)
Initialize the GUIslice library.
• void gslc_InitDebug (GSLC_CB_DEBUG_OUT pfunc)
Initialize debug output.
• void gslc_DebugPrintf (const char ∗pFmt,...)
Optimized printf routine for GUIslice debug/error output.
• bool gslc_GuiRotate (gslc_tsGui ∗pGui, uint8_t nRotation)
Dynamically change rotation, automatically adapt touchscreen axes swap/flip.
• void gslc_Quit (gslc_tsGui ∗pGui)
Exit the GUIslice environment.
• void gslc_Update (gslc_tsGui ∗pGui)
Perform main GUIslice handling functions.
• bool gslc_SetBkgndImage (gslc_tsGui ∗pGui, gslc_tsImgRef sImgRef)
Configure the background to use a bitmap image.
• bool gslc_SetBkgndColor (gslc_tsGui ∗pGui, gslc_tsColor nCol)
Configure the background to use a solid color.
• bool gslc_SetTransparentColor (gslc_tsGui ∗pGui, gslc_tsColor nCol)
Configure the color to use for image transparency.
• gslc_tsRect gslc_GetClipRect (gslc_tsGui ∗pGui)
Get the current the clipping rectangle.
• bool gslc_SetClipRect (gslc_tsGui ∗pGui, gslc_tsRect ∗pRect)
Set the clipping rectangle for further drawing.
14 Module Documentation
7.1.2.1 gslc_DebugPrintf()
void gslc_DebugPrintf (
const char ∗ pFmt,
... )
Parameters
Returns
none
7.1.2.2 gslc_GetClipRect()
gslc_tsRect gslc_GetClipRect (
gslc_tsGui ∗ pGui )
Parameters
Returns
Generated by Doxygen
7.1 General Functions 15
7.1.2.3 gslc_GetDriverDisp()
void∗ gslc_GetDriverDisp (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
7.1.2.4 gslc_GetDriverTouch()
void∗ gslc_GetDriverTouch (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
7.1.2.5 gslc_GetNameDisp()
Generated by Doxygen
16 Module Documentation
Parameters
Returns
7.1.2.6 gslc_GetNameTouch()
Parameters
Returns
7.1.2.7 gslc_GetVer()
char∗ gslc_GetVer (
gslc_tsGui ∗ pGui )
Parameters
Returns
7.1.2.8 gslc_GuiRotate()
bool gslc_GuiRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Generated by Doxygen
7.1 General Functions 17
The function assumes that the touchscreen settings for swap and flip in the GUIslice config are valid for the config-
ured GSLC_ROTATE.
Parameters
Returns
7.1.2.9 gslc_Init()
bool gslc_Init (
gslc_tsGui ∗ pGui,
void ∗ pvDriver,
gslc_tsPage ∗ asPage,
uint8_t nMaxPage,
gslc_tsFont ∗ asFont,
uint8_t nMaxFont )
PRE:
Parameters
Returns
Generated by Doxygen
18 Module Documentation
7.1.2.10 gslc_InitDebug()
void gslc_InitDebug (
GSLC_CB_DEBUG_OUT pfunc )
Parameters
Returns
none
7.1.2.11 gslc_Quit()
void gslc_Quit (
gslc_tsGui ∗ pGui )
• Calls lower-level destructors to clean up any initialized subsystems and deletes any created elements or fonts
Parameters
Returns
None
7.1.2.12 gslc_SetBkgndColor()
bool gslc_SetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Generated by Doxygen
7.1 General Functions 19
Parameters
Returns
7.1.2.13 gslc_SetBkgndImage()
bool gslc_SetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
7.1.2.14 gslc_SetClipRect()
bool gslc_SetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Parameters
Generated by Doxygen
20 Module Documentation
Returns
7.1.2.15 gslc_SetTransparentColor()
bool gslc_SetTransparentColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
• Drawing a BMP with transparency enabled will cause regions in this specific color to appear transparent
Parameters
Returns
7.1.2.16 gslc_Update()
void gslc_Update (
gslc_tsGui ∗ pGui )
Parameters
Returns
None
Generated by Doxygen
7.2 Graphics General Functions 21
Functions
Generated by Doxygen
22 Module Documentation
7.2.2.1 gslc_ClipLine()
bool gslc_ClipLine (
gslc_tsRect ∗ pClipRect,
int16_t ∗ pnX0,
int16_t ∗ pnY0,
int16_t ∗ pnX1,
int16_t ∗ pnY1 )
Parameters
Returns
7.2.2.2 gslc_ClipPt()
bool gslc_ClipPt (
gslc_tsRect ∗ pClipRect,
int16_t nX,
int16_t nY )
Generated by Doxygen
7.2 Graphics General Functions 23
Parameters
Returns
7.2.2.3 gslc_ClipRect()
bool gslc_ClipRect (
gslc_tsRect ∗ pClipRect,
gslc_tsRect ∗ pRect )
Parameters
Returns
7.2.2.4 gslc_ColorBlend2()
gslc_tsColor gslc_ColorBlend2 (
gslc_tsColor colStart,
gslc_tsColor colEnd,
uint16_t nMidAmt,
uint16_t nBlendAmt )
Parameters
Returns
Blended color
7.2.2.5 gslc_ColorBlend3()
gslc_tsColor gslc_ColorBlend3 (
gslc_tsColor colStart,
gslc_tsColor colMid,
gslc_tsColor colEnd,
uint16_t nMidAmt,
uint16_t nBlendAmt )
Parameters
Returns
Blended color
7.2.2.6 gslc_ColorEqual()
bool gslc_ColorEqual (
gslc_tsColor a,
gslc_tsColor b )
Parameters
in a First color
in b Second color
Returns
Generated by Doxygen
7.2 Graphics General Functions 25
7.2.2.7 gslc_cosFX()
int16_t gslc_cosFX (
int16_t n64Ang )
• Depending on configuration, the result is derived from either floating point math library or fixed point lookup
table.
• gslc_cosFX(nAngDeg∗64)/32768.0 = cos(nAngDeg∗2pi/360)
Parameters
Returns
Fixed-point cosine result. Signed 16-bit; divide by 32768 to get the actual value.
7.2.2.8 gslc_ExpandRect()
gslc_tsRect gslc_ExpandRect (
gslc_tsRect rRect,
int16_t nExpandW,
int16_t nExpandH )
Expand or contract a rectangle in width and/or height (equal amounts on both side), based on the centerpoint of the
rectangle.
Parameters
Returns
7.2.2.9 gslc_GetImageFromFile()
gslc_tsImgRef gslc_GetImageFromFile (
const char ∗ pFname,
gslc_teImgRefFlags eFmt )
Generated by Doxygen
26 Module Documentation
Parameters
Returns
7.2.2.10 gslc_GetImageFromProg()
gslc_tsImgRef gslc_GetImageFromProg (
const unsigned char ∗ pImgBuf,
gslc_teImgRefFlags eFmt )
Parameters
Returns
7.2.2.11 gslc_GetImageFromRam()
gslc_tsImgRef gslc_GetImageFromRam (
unsigned char ∗ pImgBuf,
gslc_teImgRefFlags eFmt )
Parameters
Returns
Generated by Doxygen
7.2 Graphics General Functions 27
7.2.2.12 gslc_GetImageFromSD()
gslc_tsImgRef gslc_GetImageFromSD (
const char ∗ pFname,
gslc_teImgRefFlags eFmt )
Parameters
Returns
7.2.2.13 gslc_InvalidateRgnAdd()
void gslc_InvalidateRgnAdd (
gslc_tsGui ∗ pGui,
gslc_tsRect rAddRect )
Parameters
Returns
none
7.2.2.14 gslc_InvalidateRgnPage()
void gslc_InvalidateRgnPage (
gslc_tsGui ∗ pGui,
gslc_tsPage ∗ pPage )
Generated by Doxygen
28 Module Documentation
Parameters
Returns
none
7.2.2.15 gslc_InvalidateRgnReset()
void gslc_InvalidateRgnReset (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
7.2.2.16 gslc_InvalidateRgnScreen()
void gslc_InvalidateRgnScreen (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
7.2.2.17 gslc_IsInRect()
bool gslc_IsInRect (
int16_t nSelX,
Generated by Doxygen
7.2 Graphics General Functions 29
int16_t nSelY,
gslc_tsRect rRect )
Parameters
Returns
7.2.2.18 gslc_IsInWH()
bool gslc_IsInWH (
int16_t nSelX,
int16_t nSelY,
uint16_t nWidth,
uint16_t nHeight )
Parameters
Returns
7.2.2.19 gslc_PolarToXY()
void gslc_PolarToXY (
uint16_t nRad,
Generated by Doxygen
30 Module Documentation
int16_t n64Ang,
int16_t ∗ nDX,
int16_t ∗ nDY )
Parameters
Returns
none
7.2.2.20 gslc_sinFX()
int16_t gslc_sinFX (
int16_t n64Ang )
• Depending on configuration, the result is derived from either floating point math library or fixed point lookup
table.
• gslc_sinFX(nAngDeg∗64)/32768.0 = sin(nAngDeg∗2pi/360)
Parameters
Returns
Fixed-point sine result. Signed 16-bit; divide by 32768 to get the actual value.
7.2.2.21 gslc_UnionRect()
void gslc_UnionRect (
gslc_tsRect ∗ pRect,
gslc_tsRect rAddRect )
• This routine can be useful to modify an invalidation region to include another modified element
Generated by Doxygen
7.2 Graphics General Functions 31
Parameters
in pRect Initial rect region
in rAddRect Rectangle to add to the rect region
Returns
none
Generated by Doxygen
32 Module Documentation
Functions
• void gslc_DrawSetPixel (gslc_tsGui ∗pGui, int16_t nX, int16_t nY, gslc_tsColor nCol)
Set a pixel on the active screen to the given color with lock.
• void gslc_DrawLine (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, gslc_tsColor nCol)
Draw an arbitrary line using Bresenham's algorithm.
• void gslc_DrawLineH (gslc_tsGui ∗pGui, int16_t nX, int16_t nY, uint16_t nW, gslc_tsColor nCol)
Draw a horizontal line.
• void gslc_DrawLineV (gslc_tsGui ∗pGui, int16_t nX, int16_t nY, uint16_t nH, gslc_tsColor nCol)
Draw a vertical line.
• void gslc_DrawLinePolar (gslc_tsGui ∗pGui, int16_t nX, int16_t nY, uint16_t nRadStart, uint16_t nRadEnd,
int16_t n64Ang, gslc_tsColor nCol)
Draw a polar ray segment.
• void gslc_DrawFrameRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, gslc_tsColor nCol)
Draw a framed rectangle.
• void gslc_DrawFrameRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol)
Draw a framed rounded rectangle.
• void gslc_DrawFillRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, gslc_tsColor nCol)
Draw a filled rectangle.
• void gslc_DrawFillRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol)
Draw a filled rounded rectangle.
• void gslc_DrawFrameCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor
nCol)
Draw a framed circle.
• void gslc_DrawFillCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor n←-
Col)
Draw a filled circle.
• void gslc_DrawFrameTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t
nX2, int16_t nY2, gslc_tsColor nCol)
Draw a framed triangle.
• void gslc_DrawFillTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t nX2,
int16_t nY2, gslc_tsColor nCol)
Draw a filled triangle.
• void gslc_DrawFrameQuad (gslc_tsGui ∗pGui, gslc_tsPt ∗psPt, gslc_tsColor nCol)
Draw a framed quadrilateral.
• void gslc_DrawFillQuad (gslc_tsGui ∗pGui, gslc_tsPt ∗psPt, gslc_tsColor nCol)
Draw a filled quadrilateral.
• void gslc_DrawFillGradSector (gslc_tsGui ∗pGui, int16_t nQuality, int16_t nMidX, int16_t nMidY, int16_t n←-
Rad1, int16_t nRad2, gslc_tsColor cArcStart, gslc_tsColor cArcEnd, int16_t nAngSecStart, int16_t nAng←-
SecEnd, int16_t nAngGradStart, int16_t nAngGradRange)
Draw a gradient filled sector of a circle with support for inner and outer radius.
• void gslc_DrawFillSector (gslc_tsGui ∗pGui, int16_t nQuality, int16_t nMidX, int16_t nMidY, int16_t nRad1,
int16_t nRad2, gslc_tsColor cArc, int16_t nAngSecStart, int16_t nAngSecEnd)
Draw a flat filled sector of a circle with support for inner and outer radius.
Generated by Doxygen
7.3 Graphics Primitive Functions 33
7.3.2.1 gslc_DrawFillCircle()
void gslc_DrawFillCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.2 gslc_DrawFillGradSector()
void gslc_DrawFillGradSector (
gslc_tsGui ∗ pGui,
int16_t nQuality,
int16_t nMidX,
int16_t nMidY,
int16_t nRad1,
int16_t nRad2,
gslc_tsColor cArcStart,
gslc_tsColor cArcEnd,
int16_t nAngSecStart,
int16_t nAngSecEnd,
int16_t nAngGradStart,
int16_t nAngGradRange )
Draw a gradient filled sector of a circle with support for inner and outer radius.
Generated by Doxygen
34 Module Documentation
• Note that the gradient fill is defined by both the color stops (cArcStart..cArcEnd) as well as a gradient angular
range (nAngGradStart..nAngGradStart+nAngGradRange). This gradient angular range can be differeng from
the drawing angular range (nAngSegStart..nAngSecEnd) to enable more advanced control styling / updates.
Parameters
Returns
none
7.3.2.3 gslc_DrawFillQuad()
void gslc_DrawFillQuad (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ psPt,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
7.3 Graphics Primitive Functions 35
Returns
7.3.2.4 gslc_DrawFillRect()
void gslc_DrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.5 gslc_DrawFillRoundRect()
void gslc_DrawFillRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
none
Generated by Doxygen
36 Module Documentation
7.3.2.6 gslc_DrawFillSector()
void gslc_DrawFillSector (
gslc_tsGui ∗ pGui,
int16_t nQuality,
int16_t nMidX,
int16_t nMidY,
int16_t nRad1,
int16_t nRad2,
gslc_tsColor cArc,
int16_t nAngSecStart,
int16_t nAngSecEnd )
Draw a flat filled sector of a circle with support for inner and outer radius.
Parameters
Returns
none
7.3.2.7 gslc_DrawFillTriangle()
void gslc_DrawFillTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Generated by Doxygen
7.3 Graphics Primitive Functions 37
Parameters
Returns
7.3.2.8 gslc_DrawFrameCircle()
void gslc_DrawFrameCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.9 gslc_DrawFrameQuad()
void gslc_DrawFrameQuad (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ psPt,
gslc_tsColor nCol )
Generated by Doxygen
38 Module Documentation
Parameters
Returns
7.3.2.10 gslc_DrawFrameRect()
void gslc_DrawFrameRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.11 gslc_DrawFrameRoundRect()
void gslc_DrawFrameRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
7.3 Graphics Primitive Functions 39
Returns
none
7.3.2.12 gslc_DrawFrameTriangle()
void gslc_DrawFrameTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
7.3.2.13 gslc_DrawLine()
void gslc_DrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
40 Module Documentation
Parameters
Returns
none
7.3.2.14 gslc_DrawLineH()
void gslc_DrawLineH (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
uint16_t nW,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.15 gslc_DrawLinePolar()
void gslc_DrawLinePolar (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
Generated by Doxygen
7.3 Graphics Primitive Functions 41
uint16_t nRadStart,
uint16_t nRadEnd,
int16_t n64Ang,
gslc_tsColor nCol )
Parameters
Returns
none
7.3.2.16 gslc_DrawLineV()
void gslc_DrawLineV (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
uint16_t nH,
gslc_tsColor nCol )
Parameters
Returns
none
Generated by Doxygen
42 Module Documentation
7.3.2.17 gslc_DrawSetPixel()
void gslc_DrawSetPixel (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Set a pixel on the active screen to the given color with lock.
Parameters
Returns
none
Generated by Doxygen
7.4 Font Functions 43
Functions
• bool gslc_FontAdd (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefType eFontRefType, const void ∗pv←-
FontRef, uint16_t nFontSz)
Load a font into the local font cache and assign font ID (nFontId).
• bool gslc_FontSet (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefType eFontRefType, const void ∗pv←-
FontRef, uint16_t nFontSz)
Load a font into the local font cache and store as font ID (nFontId)
• gslc_tsFont ∗ gslc_FontGet (gslc_tsGui ∗pGui, int16_t nFontId)
Fetch a font from its ID value.
• bool gslc_FontSetMode (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefMode eFontMode)
Set the font operating mode.
7.4.2.1 gslc_FontAdd()
bool gslc_FontAdd (
gslc_tsGui ∗ pGui,
int16_t nFontId,
gslc_teFontRefType eFontRefType,
const void ∗ pvFontRef,
uint16_t nFontSz )
Load a font into the local font cache and assign font ID (nFontId).
Parameters
Returns
7.4.2.2 gslc_FontGet()
gslc_tsFont∗ gslc_FontGet (
gslc_tsGui ∗ pGui,
int16_t nFontId )
Parameters
Returns
7.4.2.3 gslc_FontSet()
bool gslc_FontSet (
gslc_tsGui ∗ pGui,
int16_t nFontId,
gslc_teFontRefType eFontRefType,
const void ∗ pvFontRef,
uint16_t nFontSz )
Load a font into the local font cache and store as font ID (nFontId)
• Font is stored into index nFontId, so nFontId must be from separate font enum (0-based).
Parameters
Generated by Doxygen
7.4 Font Functions 45
Returns
7.4.2.4 gslc_FontSetMode()
bool gslc_FontSetMode (
gslc_tsGui ∗ pGui,
int16_t nFontId,
gslc_teFontRefMode eFontMode )
Parameters
Returns
true if success
Generated by Doxygen
46 Module Documentation
Functions
7.5.2.1 gslc_GetPageCur()
int gslc_GetPageCur (
gslc_tsGui ∗ pGui )
Generated by Doxygen
7.5 Page Functions 47
Parameters
Returns
Page ID
7.5.2.2 gslc_PageAdd()
void gslc_PageAdd (
gslc_tsGui ∗ pGui,
int16_t nPageId,
gslc_tsElem ∗ psElem,
uint16_t nMaxElem,
gslc_tsElemRef ∗ psElemRef,
uint16_t nMaxElemRef )
• This call associates an element array with the collection within the page
• Once a page has been added to the GUI, elements can be added to the page by specifying the same page
ID
Parameters
Returns
none
7.5.2.3 gslc_PageFindElemById()
gslc_tsElemRef∗ gslc_PageFindElemById (
gslc_tsGui ∗ pGui,
Generated by Doxygen
48 Module Documentation
int16_t nPageId,
int16_t nElemId )
Parameters
Returns
7.5.2.4 gslc_PageRedrawGet()
bool gslc_PageRedrawGet (
gslc_tsGui ∗ pGui )
Parameters
Returns
7.5.2.5 gslc_PageRedrawSet()
void gslc_PageRedrawSet (
gslc_tsGui ∗ pGui,
bool bRedraw )
Parameters
Generated by Doxygen
7.5 Page Functions 49
Returns
none
7.5.2.6 gslc_PopupHide()
void gslc_PopupHide (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
7.5.2.7 gslc_PopupShow()
void gslc_PopupShow (
gslc_tsGui ∗ pGui,
int16_t nPageId,
bool bModal )
Parameters
Returns
none
Generated by Doxygen
50 Module Documentation
7.5.2.8 gslc_SetPageBase()
void gslc_SetPageBase (
gslc_tsGui ∗ pGui,
int16_t nPageId )
Parameters
Returns
none
7.5.2.9 gslc_SetPageCur()
void gslc_SetPageCur (
gslc_tsGui ∗ pGui,
int16_t nPageId )
Parameters
Returns
none
7.5.2.10 gslc_SetPageOverlay()
void gslc_SetPageOverlay (
gslc_tsGui ∗ pGui,
int16_t nPageId )
Generated by Doxygen
7.5 Page Functions 51
Parameters
Returns
none
7.5.2.11 gslc_SetStackPage()
void gslc_SetStackPage (
gslc_tsGui ∗ pGui,
uint8_t nStackPos,
int16_t nPageId )
Parameters
Returns
none
7.5.2.12 gslc_SetStackState()
void gslc_SetStackState (
gslc_tsGui ∗ pGui,
uint8_t nStackPos,
bool bActive,
bool bDoDraw )
Parameters
Returns
none
Generated by Doxygen
7.6 Element Functions 53
Modules
Generated by Doxygen
54 Module Documentation
Functions
• gslc_tsElemRef ∗ gslc_ElemCreateTxt (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsRect rElem,
char ∗pStrBuf, uint8_t nStrBufMax, int16_t nFontId)
Create a Text Element.
• gslc_tsElemRef ∗ gslc_ElemCreateBtnTxt (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsRect
rElem, char ∗pStrBuf, uint8_t nStrBufMax, int16_t nFontId, GSLC_CB_TOUCH cbTouch)
Create a textual Button Element.
• gslc_tsElemRef ∗ gslc_ElemCreateBtnImg (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsRect
rElem, gslc_tsImgRef sImgRef, gslc_tsImgRef sImgRefSel, GSLC_CB_TOUCH cbTouch)
Create a graphical Button Element.
• gslc_tsElemRef ∗ gslc_ElemCreateBox (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsRect r←-
Elem)
Create a Box Element.
• gslc_tsElemRef ∗ gslc_ElemCreateLine (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, int16_t nX0,
int16_t nY0, int16_t nX1, int16_t nY1)
Create a Line Element.
• gslc_tsElemRef ∗ gslc_ElemCreateImg (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsRect r←-
Elem, gslc_tsImgRef sImgRef)
Create an image Element.
Generated by Doxygen
7.7 Element: Creation Functions 55
7.7.2.1 gslc_ElemCreateBox()
gslc_tsElemRef∗ gslc_ElemCreateBox (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsRect rElem )
Generated by Doxygen
56 Module Documentation
Parameters
Returns
7.7.2.2 gslc_ElemCreateBtnImg()
gslc_tsElemRef∗ gslc_ElemCreateBtnImg (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsRect rElem,
gslc_tsImgRef sImgRef,
gslc_tsImgRef sImgRefSel,
GSLC_CB_TOUCH cbTouch )
• Creates a clickable element that uses a BMP image with no frame or fill
Parameters
Returns
Generated by Doxygen
7.7 Element: Creation Functions 57
7.7.2.3 gslc_ElemCreateBtnTxt()
gslc_tsElemRef∗ gslc_ElemCreateBtnTxt (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId,
GSLC_CB_TOUCH cbTouch )
• Creates a clickable element that has a textual label with frame and fill
Parameters
Returns
7.7.2.4 gslc_ElemCreateImg()
gslc_tsElemRef∗ gslc_ElemCreateImg (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsRect rElem,
gslc_tsImgRef sImgRef )
• Draws an image
Generated by Doxygen
58 Module Documentation
Parameters
Returns
7.7.2.5 gslc_ElemCreateLine()
gslc_tsElemRef∗ gslc_ElemCreateLine (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1 )
Parameters
Returns
Generated by Doxygen
7.7 Element: Creation Functions 59
7.7.2.6 gslc_ElemCreateTxt()
gslc_tsElemRef∗ gslc_ElemCreateTxt (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Parameters
Returns
Generated by Doxygen
60 Module Documentation
Functions
7.8.2.1 gslc_ElemGetId()
int gslc_ElemGetId (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Generated by Doxygen
7.9 Element: Update Functions 61
Functions
Generated by Doxygen
62 Module Documentation
Generated by Doxygen
7.9 Element: Update Functions 63
7.9.2.1 gslc_ElemCalcRectState()
void gslc_ElemCalcRectState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsRectState ∗ pState )
• Determines the color of various parts of the element (focus rect, frame, text, fll, etc.)
• The region state is calculated based upon the element's attributes, including the frame enable, ability to
support focus, whether the contents can be shrunk to accommodate a frame, and the current state of fo-
cus/edit/etc.
Parameters
Returns
none
Generated by Doxygen
64 Module Documentation
7.9.2.2 gslc_ElemCalcResizeForFocus()
int8_t gslc_ElemCalcResizeForFocus (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Calculate the change in dimensions of an element to account for any change in focus and/or frame attributes.
It also takes into account the "NoShrink" attribute which indicates that an element's contents can't be reduced in
size (eg. because they contain a fixed-sized image).
• This routine is usually called whenever an element is created and also whenever size-impacting features are
adjusted (eg. ElemSetFrameEn).
Parameters
Returns
7.9.2.3 gslc_ElemGetEdit()
bool gslc_ElemGetEdit (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
7.9.2.4 gslc_ElemGetFocus()
bool gslc_ElemGetFocus (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
7.9 Element: Update Functions 65
Parameters
Returns
7.9.2.5 gslc_ElemGetFocusEn()
bool gslc_ElemGetFocusEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Todo Doc
7.9.2.6 gslc_ElemGetGlow()
bool gslc_ElemGetGlow (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Generated by Doxygen
66 Module Documentation
Returns
7.9.2.7 gslc_ElemGetGlowEn()
bool gslc_ElemGetGlowEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
7.9.2.8 gslc_ElemGetGroup()
int gslc_ElemGetGroup (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
7.9.2.9 gslc_ElemGetOnScreen()
bool gslc_ElemGetOnScreen (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
7.9 Element: Update Functions 67
• This function takes into account both the element's "Visible" state as well as whether the element's associated
page is active in the page stack.
Parameters
Returns
7.9.2.10 gslc_ElemGetRect()
gslc_tsRect gslc_ElemGetRect (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
7.9.2.11 gslc_ElemGetRedraw()
gslc_teRedrawType gslc_ElemGetRedraw (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Generated by Doxygen
68 Module Documentation
Returns
Redraw status
7.9.2.12 gslc_ElemGetTxtStr()
char∗ gslc_ElemGetTxtStr (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
7.9.2.13 gslc_ElemGetVisible()
bool gslc_ElemGetVisible (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
• Note that the visibility state is independent of whether or not the page associated with the element is actively
displayed.
Parameters
Returns
Generated by Doxygen
7.9 Element: Update Functions 69
7.9.2.14 gslc_ElemGrowRect()
void gslc_ElemGrowRect (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nDelta )
Parameters
Returns
none
7.9.2.15 gslc_ElemOwnsCoord()
bool gslc_ElemOwnsCoord (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nX,
int16_t nY,
bool bOnlyClickEn )
Parameters
Returns
Generated by Doxygen
70 Module Documentation
7.9.2.16 gslc_ElemSetClickEn()
void gslc_ElemSetClickEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bClickEn )
Parameters
Returns
none
7.9.2.17 gslc_ElemSetCol()
void gslc_ElemSetCol (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colFrame,
gslc_tsColor colFill,
gslc_tsColor colFillGlow )
Parameters
Returns
none
7.9.2.18 gslc_ElemSetDrawFunc()
void gslc_ElemSetDrawFunc (
gslc_tsGui ∗ pGui,
Generated by Doxygen
7.9 Element: Update Functions 71
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_DRAW funcCb )
• This allows the user to override the default rendering for an element, enabling the creation of a custom
element
Parameters
Returns
none
7.9.2.19 gslc_ElemSetEdit()
void gslc_ElemSetEdit (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bEditing )
Parameters
Returns
none
7.9.2.20 gslc_ElemSetFillEn()
void gslc_ElemSetFillEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFillEn )
Generated by Doxygen
72 Module Documentation
• If not filled, the element can support transparency against an arbitrary background, but this can require full
screen redraws if the element is updated.
Parameters
Returns
none
7.9.2.21 gslc_ElemSetFocus()
void gslc_ElemSetFocus (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFocused )
Parameters
Returns
none
7.9.2.22 gslc_ElemSetFocusEn()
void gslc_ElemSetFocusEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFocusEn )
Generated by Doxygen
7.9 Element: Update Functions 73
Parameters
Returns
none
Todo Doc
7.9.2.23 gslc_ElemSetFrameEn()
void gslc_ElemSetFrameEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFrameEn )
Parameters
Returns
none
7.9.2.24 gslc_ElemSetGlow()
void gslc_ElemSetGlow (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bGlowing )
Parameters
Generated by Doxygen
74 Module Documentation
Returns
none
7.9.2.25 gslc_ElemSetGlowCol()
void gslc_ElemSetGlowCol (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colFrameGlow,
gslc_tsColor colFillGlow,
gslc_tsColor colTxtGlow )
Parameters
Returns
none
7.9.2.26 gslc_ElemSetGlowEn()
void gslc_ElemSetGlowEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bGlowEn )
Parameters
Returns
none
Generated by Doxygen
7.9 Element: Update Functions 75
7.9.2.27 gslc_ElemSetGroup()
void gslc_ElemSetGroup (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int nGroupId )
Parameters
Returns
none
7.9.2.28 gslc_ElemSetRect()
void gslc_ElemSetRect (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsRect rElem )
• This updates the element's rectangular region, which can be used to relocate or resize an element at runtime
Parameters
Returns
none
Generated by Doxygen
76 Module Documentation
7.9.2.29 gslc_ElemSetRedraw()
void gslc_ElemSetRedraw (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
none
7.9.2.30 gslc_ElemSetRoundEn()
void gslc_ElemSetRoundEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bRoundEn )
Parameters
Returns
none
7.9.2.31 gslc_ElemSetStyleFrom()
void gslc_ElemSetStyleFrom (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRefSrc,
gslc_tsElemRef ∗ pElemRefDest )
Generated by Doxygen
7.9 Element: Update Functions 77
Parameters
Returns
none
7.9.2.32 gslc_ElemSetTickFunc()
void gslc_ElemSetTickFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_TICK funcCb )
• This allows the user to provide background updates to an element triggered by the main loop call to gslc_←-
Update()
Parameters
Returns
none
7.9.2.33 gslc_ElemSetTouchFunc()
void gslc_ElemSetTouchFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_TOUCH funcCb )
Parameters
Returns
none
7.9.2.34 gslc_ElemSetTxtAlign()
void gslc_ElemSetTxtAlign (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
unsigned nAlign )
Parameters
• GSLC_ALIGN_TOP_LEFT
• GSLC_ALIGN_TOP_MID
• GSLC_ALIGN_TOP_RIGHT
• GSLC_ALIGN_MID_LEFT
• GSLC_ALIGN_MID_MID
• GSLC_ALIGN_MID_RIGHT
• GSLC_ALIGN_BOT_LEFT
• GSLC_ALIGN_BOT_MID
• GSLC_ALIGN_BOT_RIGHT
Returns
none
7.9.2.35 gslc_ElemSetTxtCol()
void gslc_ElemSetTxtCol (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colVal )
Generated by Doxygen
7.9 Element: Update Functions 79
Parameters
Returns
none
7.9.2.36 gslc_ElemSetTxtEnc()
void gslc_ElemSetTxtEnc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teTxtFlags eFlags )
• This function can be used to indicate that the element's text string is encoded in UTF-8, which supports
extended / foreign character maps
Parameters
Returns
none
7.9.2.37 gslc_ElemSetTxtMargin()
void gslc_ElemSetTxtMargin (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
unsigned nMargin )
Parameters
Returns
none
7.9.2.38 gslc_ElemSetTxtMarginXY()
void gslc_ElemSetTxtMarginXY (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nMarginX,
int8_t nMarginY )
Set the margin around of a textual element (X & Y offsets can be different)
Parameters
Returns
none
7.9.2.39 gslc_ElemSetTxtMem()
void gslc_ElemSetTxtMem (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teTxtFlags eFlags )
Parameters
Returns
none
Generated by Doxygen
7.9 Element: Update Functions 81
7.9.2.40 gslc_ElemSetTxtStr()
void gslc_ElemSetTxtStr (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
const char ∗ pStr )
Parameters
Returns
none
7.9.2.41 gslc_ElemSetVisible()
void gslc_ElemSetVisible (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bVisible )
Parameters
Returns
none
7.9.2.42 gslc_ElemUpdateFont()
void gslc_ElemUpdateFont (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int nFontId )
Generated by Doxygen
82 Module Documentation
Parameters
Returns
none
7.9.2.43 gslc_ResetRectState()
void gslc_ResetRectState (
gslc_tsRectState ∗ pState )
Parameters
Returns
none
7.9.2.44 gslc_StrCopy()
void gslc_StrCopy (
char ∗ pDstStr,
const char ∗ pSrcStr,
uint16_t nDstLen )
• Includes termination
Parameters
Returns
none
Generated by Doxygen
84 Module Documentation
Macros
• #define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
• #define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
• #define TOUCH_ROTATION_SWAPXY(rotation)
• #define TOUCH_ROTATION_SWAPXY(rotation)
• #define TOUCH_ROTATION_FLIPX(rotation)
• #define TOUCH_ROTATION_FLIPX(rotation)
• #define TOUCH_ROTATION_FLIPY(rotation)
• #define TOUCH_ROTATION_FLIPY(rotation)
Functions
Generated by Doxygen
7.10 Touchscreen Functions 85
#define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
#define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
#define TOUCH_ROTATION_FLIPX(
rotation )
#define TOUCH_ROTATION_FLIPX(
rotation )
#define TOUCH_ROTATION_FLIPY(
rotation )
#define TOUCH_ROTATION_FLIPY(
rotation )
Generated by Doxygen
86 Module Documentation
#define TOUCH_ROTATION_SWAPXY(
rotation )
#define TOUCH_ROTATION_SWAPXY(
rotation )
7.10.3.1 gslc_GetTouch()
bool gslc_GetTouch (
gslc_tsGui ∗ pGui,
int16_t ∗ pnX,
int16_t ∗ pnY,
uint16_t ∗ pnPress,
gslc_teInputRawEvent ∗ peInputEvent,
int16_t ∗ pnInputVal )
Parameters
Returns
7.10.3.2 gslc_InitTouch()
bool gslc_InitTouch (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Generated by Doxygen
7.10 Touchscreen Functions 87
Parameters
Returns
true if successful
7.10.3.3 gslc_SetTouchPressCal()
void gslc_SetTouchPressCal (
gslc_tsGui ∗ pGui,
uint16_t nPressMin,
uint16_t nPressMax )
Parameters
Returns
none
7.10.3.4 gslc_SetTouchRemapCal()
void gslc_SetTouchRemapCal (
gslc_tsGui ∗ pGui,
uint16_t nXMin,
uint16_t nXMax,
uint16_t nYMin,
uint16_t nYMax )
Generated by Doxygen
88 Module Documentation
Parameters
Returns
none
7.10.3.5 gslc_SetTouchRemapEn()
void gslc_SetTouchRemapEn (
gslc_tsGui ∗ pGui,
bool bEn )
Parameters
Returns
none
7.10.3.6 gslc_SetTouchRemapYX()
void gslc_SetTouchRemapYX (
gslc_tsGui ∗ pGui,
bool bSwap )
Parameters
Generated by Doxygen
7.10 Touchscreen Functions 89
Returns
none
Generated by Doxygen
90 Module Documentation
Functions
7.11.2.1 gslc_FocusElemGet()
gslc_tsElemRef∗ gslc_FocusElemGet (
gslc_tsGui ∗ pGui )
Parameters
Returns
Generated by Doxygen
7.11 Input Mapping Functions 91
7.11.2.2 gslc_FocusElemIndSet()
void gslc_FocusElemIndSet (
gslc_tsGui ∗ pGui,
int16_t nPageInd,
int16_t nElemInd,
bool bFocus )
Parameters
Returns
none
7.11.2.3 gslc_FocusElemStep()
int16_t gslc_FocusElemStep (
gslc_tsGui ∗ pGui,
bool bNext )
Parameters
Returns
none
Generated by Doxygen
92 Module Documentation
7.11.2.4 gslc_FocusPageStep()
void gslc_FocusPageStep (
gslc_tsGui ∗ pGui,
bool bNext )
Parameters
Returns
none
7.11.2.5 gslc_FocusSetToTrackedElem()
void gslc_FocusSetToTrackedElem (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect )
Parameters
Returns
none
7.11.2.6 gslc_InitInputMap()
void gslc_InitInputMap (
gslc_tsGui ∗ pGui,
gslc_tsInputMap ∗ asInputMap,
uint8_t nInputMapMax )
Specify the mapping between external pin inputs (fetched by the SetPinPollFunc() callback and the GUI actions.
• This is used to enable external controls to navigate and manipulate the GUI.
Generated by Doxygen
7.11 Input Mapping Functions 93
Parameters
Returns
none
7.11.2.7 gslc_InputMapAdd()
void gslc_InputMapAdd (
gslc_tsGui ∗ pGui,
gslc_teInputRawEvent eInputEvent,
int16_t nInputVal,
gslc_teAction eAction,
int16_t nActionVal )
Parameters
Returns
none
7.11.2.8 gslc_SetPinPollFunc()
void gslc_SetPinPollFunc (
gslc_tsGui ∗ pGui,
GSLC_CB_PIN_POLL pfunc )
Specify the callback function that is used to collect the state of any external inputs (eg.
Generated by Doxygen
94 Module Documentation
Parameters
Returns
none
Generated by Doxygen
7.12 General Purpose Macros 95
Macros
• #define GSLC_DEBUG_PRINT(sFmt, ...)
Macro to enable optional debug output.
• #define GSLC_DEBUG2_PRINT(sFmt, ...)
• #define GSLC_DEBUG_PRINT_CONST(sFmt, ...)
• #define GSLC_DEBUG2_PRINT_CONST(sFmt, ...)
7.12.2.1 GSLC_DEBUG2_PRINT
#define GSLC_DEBUG2_PRINT(
sFmt,
... )
7.12.2.2 GSLC_DEBUG2_PRINT_CONST
#define GSLC_DEBUG2_PRINT_CONST(
sFmt,
... )
7.12.2.3 GSLC_DEBUG_PRINT
#define GSLC_DEBUG_PRINT(
sFmt,
... )
• Note that at least one variable argument must be provided to the macro after the format string. This is a
limitation of the macro definition. If no parameters are needed, then simply pass 0. For example: GSLC_D←-
EBUG_PRINT("Loaded OK",0);
Generated by Doxygen
96 Module Documentation
Parameters
7.12.2.4 GSLC_DEBUG_PRINT_CONST
#define GSLC_DEBUG_PRINT_CONST(
sFmt,
... )
Generated by Doxygen
7.13 Flash-based Element Macros 97
Macros
• #define gslc_ElemCreateTxt_P(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, pFont, colTxt, colFrame, col←-
Fill, nAlignTxt, bFrameEn, bFillEn)
Create a read-only text element.
• #define gslc_ElemCreateTxt_P_R(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, strLength, pFont, colTxt,
colFrame, colFill, nAlignTxt, bFrameEn, bFillEn)
Create a read-write text element (element in Flash, string in RAM)
• #define gslc_ElemCreateTxt_P_R_ext(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, strLength, pFont, col←-
Txt, colTxtGlow, colFrame, colFill, nAlignTxt, nMarginX, nMarginY, bFrameEn, bFillEn, bClickEn, bGlowEn,
pfuncXEvent, pfuncXDraw, pfuncXTouch, pfuncXTick)
Create a read-write text element (element in Flash, string in RAM) with extended customization options.
• #define gslc_ElemCreateBox_P(pGui, nElemId, nPage, nX, nY, nW, nH, colFrame, colFill, bFrameEn, bFillEn,
pfuncXDraw, pfuncXTick)
Create a read-only box element.
• #define gslc_ElemCreateLine_P(pGui, nElemId, nPage, nX0, nY0, nX1, nY1, colFill)
Create a read-only line element.
• #define gslc_ElemCreateBtnTxt_P(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, pFont, colTxt, colFrame,
colFill, colFrameGlow, colFillGlow, nAlignTxt, bFrameEn, bFillEn, callFunc, extraData)
Create a text button element.
7.13.2.1 gslc_ElemCreateBox_P
#define gslc_ElemCreateBox_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
colFrame,
colFill,
bFrameEn,
bFillEn,
pfuncXDraw,
pfuncXTick )
Generated by Doxygen
98 Module Documentation
Parameters
7.13.2.2 gslc_ElemCreateBtnTxt_P
#define gslc_ElemCreateBtnTxt_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
strTxt,
pFont,
colTxt,
colFrame,
colFill,
colFrameGlow,
colFillGlow,
nAlignTxt,
bFrameEn,
bFillEn,
callFunc,
extraData )
Parameters
Generated by Doxygen
7.13 Flash-based Element Macros 99
Parameters
in strTxt Text string to display
in pFont Pointer to font resource
in colTxt Color for the text
in colFrame Color for the frame
in colFill Color for the fill
in colFrameGlow Color for the frame when glowing
in colFillGlow Color for the fill when glowing
in nAlignTxt Text alignment
in bFrameEn True if framed, false otherwise
in bFillEn True if filled, false otherwise
in callFunc Callback function for button press
in extraData Ptr to extended data structure
7.13.2.3 gslc_ElemCreateLine_P
#define gslc_ElemCreateLine_P(
pGui,
nElemId,
nPage,
nX0,
nY0,
nX1,
nY1,
colFill )
Parameters
7.13.2.4 gslc_ElemCreateTxt_P
#define gslc_ElemCreateTxt_P(
pGui,
Generated by Doxygen
100 Module Documentation
nElemId,
nPage,
nX,
nY,
nW,
nH,
strTxt,
pFont,
colTxt,
colFrame,
colFill,
nAlignTxt,
bFrameEn,
bFillEn )
Parameters
7.13.2.5 gslc_ElemCreateTxt_P_R
#define gslc_ElemCreateTxt_P_R(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
strTxt,
strLength,
pFont,
colTxt,
colFrame,
colFill,
Generated by Doxygen
7.13 Flash-based Element Macros 101
nAlignTxt,
bFrameEn,
bFillEn )
Parameters
7.13.2.6 gslc_ElemCreateTxt_P_R_ext
#define gslc_ElemCreateTxt_P_R_ext(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
strTxt,
strLength,
pFont,
colTxt,
colTxtGlow,
colFrame,
colFill,
nAlignTxt,
nMarginX,
nMarginY,
bFrameEn,
bFillEn,
bClickEn,
bGlowEn,
pfuncXEvent,
pfuncXDraw,
Generated by Doxygen
102 Module Documentation
pfuncXTouch,
pfuncXTick )
Create a read-write text element (element in Flash, string in RAM) with extended customization options.
Parameters
Generated by Doxygen
7.14 Internal Functions 103
These functions are internal to the GUIslice implementation and are not intended to be called by user code and
subject to change even in minor releases.
Internal: Tracking
Functions
Modules
Variables
• int16_t gslc_tsRect::x
X coordinate of corner.
• int16_t gslc_tsRect::y
Generated by Doxygen
104 Module Documentation
Y coordinate of corner.
• uint16_t gslc_tsRect::w
Width of region.
• uint16_t gslc_tsRect::h
Height of region.
• int16_t gslc_tsPt::x
X coordinate.
• int16_t gslc_tsPt::y
Y coordinate.
• uint8_t gslc_tsColor::r
RGB red value.
• uint8_t gslc_tsColor::g
RGB green value.
• uint8_t gslc_tsColor::b
RGB blue value.
• gslc_tsRect gslc_tsRectState::rFocus
• gslc_tsRect gslc_tsRectState::rFull
• gslc_tsRect gslc_tsRectState::rInner
• gslc_tsColor gslc_tsRectState::colFocus
• gslc_tsColor gslc_tsRectState::colFrm
• gslc_tsColor gslc_tsRectState::colInner
• gslc_tsColor gslc_tsRectState::colBack
• gslc_tsColor gslc_tsRectState::colTxtFore
• gslc_tsColor gslc_tsRectState::colTxtBack
• gslc_teEventType gslc_tsEvent::eType
Event type.
• uint8_t gslc_tsEvent::nSubType
Event sub-type.
• void ∗ gslc_tsEvent::pvScope
Event target scope (eg. Page,Collection,Event)
• void ∗ gslc_tsEvent::pvData
Generic data pointer for event.
• gslc_teTouch gslc_tsEventTouch::eTouch
Touch state.
• int16_t gslc_tsEventTouch::nX
Touch X coordinate (or param1)
• int16_t gslc_tsEventTouch::nY
Touch Y coordinate (or param2)
• int16_t gslc_tsFont::nId
Font ID specified by user.
• gslc_teFontRefType gslc_tsFont::eFontRefType
Font reference type.
• gslc_teFontRefMode gslc_tsFont::eFontRefMode
Font reference mode.
• const void ∗ gslc_tsFont::pvFont
Void ptr to the font reference (type defined by driver)
• uint16_t gslc_tsFont::nSize
Font size.
• const unsigned char ∗ gslc_tsImgRef::pImgBuf
Pointer to input image buffer in memory [RAM,FLASH].
• const char ∗ gslc_tsImgRef::pFname
Generated by Doxygen
7.14 Internal Functions 105
Generated by Doxygen
106 Module Documentation
• void ∗ gslc_tsElem::pXData
Ptr to extended data structure.
• GSLC_CB_EVENT gslc_tsElem::pfuncXEvent
UNUSED: Callback func ptr for event tree (draw,touch,tick)
• GSLC_CB_DRAW gslc_tsElem::pfuncXDraw
Callback func ptr for custom drawing.
• GSLC_CB_TOUCH gslc_tsElem::pfuncXTouch
Callback func ptr for touch.
• GSLC_CB_TICK gslc_tsElem::pfuncXTick
Callback func ptr for timer/main loop tick.
• gslc_tsElem ∗ gslc_tsCollect::asElem
Array of elements.
• uint16_t gslc_tsCollect::nElemMax
Maximum number of elements to allocate (in RAM)
• uint16_t gslc_tsCollect::nElemCnt
Number of elements allocated.
• int16_t gslc_tsCollect::nElemAutoIdNext
Next Element ID for auto-assignment.
• gslc_tsElemRef ∗ gslc_tsCollect::asElemRef
Array of element references.
• uint16_t gslc_tsCollect::nElemRefMax
Maximum number of element references to allocate.
• uint16_t gslc_tsCollect::nElemRefCnt
Number of element references allocated.
• gslc_tsElemRef ∗ gslc_tsCollect::pElemRefTracked
Element reference currently being touch-tracked (NULL for none)
• int16_t gslc_tsCollect::nElemIndTracked
Element index currently being touch-tracked (GSLC_IND_NONE for none)
• gslc_tsCollect gslc_tsPage::sCollect
Collection of elements on page.
• int16_t gslc_tsPage::nPageId
Page identifier.
• gslc_tsRect gslc_tsPage::rBounds
Bounding rect for page elements.
• gslc_teInputRawEvent gslc_tsInputMap::eEvent
The input event.
• int16_t gslc_tsInputMap::nVal
The value associated with the input event.
• gslc_teAction gslc_tsInputMap::eAction
Resulting action.
• int16_t gslc_tsInputMap::nActionVal
The value for the output action.
• uint16_t gslc_tsGui::nDispW
Width of the display (pixels)
• uint16_t gslc_tsGui::nDispH
Height of the display (pixels)
• uint16_t gslc_tsGui::nDisp0W
Width of the display (pixels) in native orientation.
• uint16_t gslc_tsGui::nDisp0H
Height of the display (pixels) in native orientation.
• uint8_t gslc_tsGui::nDispDepth
Generated by Doxygen
7.14 Internal Functions 107
Generated by Doxygen
108 Module Documentation
• void ∗ gslc_tsGui::pvDriver
Driver-specific members (gslc_tsDriver∗)
• bool gslc_tsGui::bRedrawNeeded
Does anything on page require redraw?
• bool gslc_tsGui::bRedrawPartialEn
Driver supports partial page redraw.
• bool gslc_tsGui::bEventPending
Is there an event pending?
• gslc_tsEventTouch gslc_tsGui::sEventTouchPend
A touch event that has been deferred (if bEventPending=true)
• gslc_tsEvent gslc_tsGui::sEventPend
An event that has been deferred (if bEventPending=true)
• gslc_tsImgRef gslc_tsGui::sImgRefBkgnd
Image reference for background.
• uint8_t gslc_tsGui::nFrameRateCnt
Diagnostic frame rate count.
• uint8_t gslc_tsGui::nFrameRateStart
Diagnostic frame rate timestamp.
• gslc_tsPage ∗ gslc_tsGui::asPage
Array of all pages defined in system.
• uint8_t gslc_tsGui::nPageMax
Maximum number of pages that can be defined.
• uint8_t gslc_tsGui::nPageCnt
Current number of pages defined.
• gslc_tsPage ∗ gslc_tsGui::apPageStack [GSLC_STACK__MAX]
Stack of pages.
• bool gslc_tsGui::abPageStackActive [GSLC_STACK__MAX]
Whether page in stack can receive touch events.
• bool gslc_tsGui::abPageStackDoDraw [GSLC_STACK__MAX]
Whether page in stack is still actively drawn.
• bool gslc_tsGui::bScreenNeedRedraw
Screen requires a redraw.
• bool gslc_tsGui::bScreenNeedFlip
Screen requires a page flip.
• bool gslc_tsGui::bInvalidateEn
A region of the display has been invalidated.
• gslc_tsRect gslc_tsGui::rInvalidateRect
The rect region that has been invalidated.
• GSLC_CB_PIN_POLL gslc_tsGui::pfuncPinPoll
Callback func ptr for pin polling.
• gslc_tsInputMap ∗ gslc_tsGui::asInputMap
Array of input maps.
• uint8_t gslc_tsGui::nInputMapMax
Maximum number of input maps.
• uint8_t gslc_tsGui::nInputMapCnt
Current number of input maps.
• uint8_t gslc_tsGui::nInputMode
Input mode: 0=navigate, 1=edit.
• int16_t gslc_tsGui::nFocusPageInd
Index of page in stack currently in focus.
• gslc_tsPage ∗ gslc_tsGui::pFocusPage
Generated by Doxygen
7.14 Internal Functions 109
These functions are internal to the GUIslice implementation and are not intended to be called by user code and
subject to change even in minor releases.
• The following functions are generally not required for typical users of GUIslice. However, for advanced usage
more direct access may be required.
7.14.2.1 abPageStackActive
bool gslc_tsGui::abPageStackActive[GSLC_STACK__MAX]
7.14.2.2 abPageStackDoDraw
bool gslc_tsGui::abPageStackDoDraw[GSLC_STACK__MAX]
Generated by Doxygen
110 Module Documentation
7.14.2.3 apPageStack
gslc_tsPage∗ gslc_tsGui::apPageStack[GSLC_STACK__MAX]
Stack of pages.
7.14.2.4 asElem
gslc_tsElem∗ gslc_tsCollect::asElem
Array of elements.
7.14.2.5 asElemRef
gslc_tsElemRef∗ gslc_tsCollect::asElemRef
7.14.2.6 asFont
gslc_tsFont∗ gslc_tsGui::asFont
7.14.2.7 asInputMap
gslc_tsInputMap∗ gslc_tsGui::asInputMap
7.14.2.8 asPage
gslc_tsPage∗ gslc_tsGui::asPage
Generated by Doxygen
7.14 Internal Functions 111
7.14.2.9 b
uint8_t gslc_tsColor::b
7.14.2.10 bEventPending
bool gslc_tsGui::bEventPending
7.14.2.11 bInvalidateEn
bool gslc_tsGui::bInvalidateEn
7.14.2.12 bRedrawNeeded
bool gslc_tsGui::bRedrawNeeded
7.14.2.13 bRedrawPartialEn
bool gslc_tsGui::bRedrawPartialEn
If true, only changed elements are redrawn during next page redraw command. If false, entire page is redrawn when
any element has been updated prior to next page redraw command.
7.14.2.14 bScreenNeedFlip
bool gslc_tsGui::bScreenNeedFlip
Generated by Doxygen
112 Module Documentation
7.14.2.15 bScreenNeedRedraw
bool gslc_tsGui::bScreenNeedRedraw
7.14.2.16 bTouchRemapEn
bool gslc_tsGui::bTouchRemapEn
7.14.2.17 bTouchRemapYX
bool gslc_tsGui::bTouchRemapYX
7.14.2.18 colBack
gslc_tsColor gslc_tsRectState::colBack
7.14.2.19 colElemFill
gslc_tsColor gslc_tsElem::colElemFill
7.14.2.20 colElemFillGlow
gslc_tsColor gslc_tsElem::colElemFillGlow
Generated by Doxygen
7.14 Internal Functions 113
7.14.2.21 colElemFrame
gslc_tsColor gslc_tsElem::colElemFrame
7.14.2.22 colElemFrameGlow
gslc_tsColor gslc_tsElem::colElemFrameGlow
7.14.2.23 colElemText
gslc_tsColor gslc_tsElem::colElemText
7.14.2.24 colElemTextGlow
gslc_tsColor gslc_tsElem::colElemTextGlow
gslc_tsColor gslc_tsRectState::colFocus
gslc_tsColor gslc_tsGui::colFocus
Generated by Doxygen
114 Module Documentation
7.14.2.27 colFocusEdit
gslc_tsColor gslc_tsGui::colFocusEdit
7.14.2.28 colFocusNone
gslc_tsColor gslc_tsGui::colFocusNone
7.14.2.29 colFrm
gslc_tsColor gslc_tsRectState::colFrm
7.14.2.30 colInner
gslc_tsColor gslc_tsRectState::colInner
7.14.2.31 colTxtBack
gslc_tsColor gslc_tsRectState::colTxtBack
7.14.2.32 colTxtFore
gslc_tsColor gslc_tsRectState::colTxtFore
7.14.2.33 eAction
gslc_teAction gslc_tsInputMap::eAction
Resulting action.
Generated by Doxygen
7.14 Internal Functions 115
7.14.2.34 eElemFlags
gslc_teElemRefFlags gslc_tsElemRef::eElemFlags
7.14.2.35 eEvent
gslc_teInputRawEvent gslc_tsInputMap::eEvent
7.14.2.36 eFontRefMode
gslc_teFontRefMode gslc_tsFont::eFontRefMode
7.14.2.37 eFontRefType
gslc_teFontRefType gslc_tsFont::eFontRefType
7.14.2.38 eImgFlags
gslc_teImgRefFlags gslc_tsImgRef::eImgFlags
7.14.2.39 eInitStatTouch
gslc_teInitStat gslc_tsGui::eInitStatTouch
Generated by Doxygen
116 Module Documentation
7.14.2.40 eTouch
gslc_teTouch gslc_tsEventTouch::eTouch
Touch state.
7.14.2.41 eTxtAlign
int8_t gslc_tsElem::eTxtAlign
7.14.2.42 eTxtFlags
gslc_teTxtFlags gslc_tsElem::eTxtFlags
7.14.2.43 eType
gslc_teEventType gslc_tsEvent::eType
Event type.
7.14.2.44 g
uint8_t gslc_tsColor::g
7.14.2.45 h
uint16_t gslc_tsRect::h
Height of region.
Generated by Doxygen
7.14 Internal Functions 117
7.14.2.46 nActionVal
int16_t gslc_tsInputMap::nActionVal
7.14.2.47 nDisp0H
uint16_t gslc_tsGui::nDisp0H
7.14.2.48 nDisp0W
uint16_t gslc_tsGui::nDisp0W
7.14.2.49 nDispDepth
uint8_t gslc_tsGui::nDispDepth
7.14.2.50 nDispH
uint16_t gslc_tsGui::nDispH
7.14.2.51 nDispW
uint16_t gslc_tsGui::nDispW
Generated by Doxygen
118 Module Documentation
7.14.2.52 nElemAutoIdNext
int16_t gslc_tsCollect::nElemAutoIdNext
7.14.2.53 nElemCnt
uint16_t gslc_tsCollect::nElemCnt
7.14.2.54 nElemIndTracked
int16_t gslc_tsCollect::nElemIndTracked
7.14.2.55 nElemMax
uint16_t gslc_tsCollect::nElemMax
7.14.2.56 nElemRefCnt
uint16_t gslc_tsCollect::nElemRefCnt
7.14.2.57 nElemRefMax
uint16_t gslc_tsCollect::nElemRefMax
Generated by Doxygen
7.14 Internal Functions 119
7.14.2.58 nFeatures
uint16_t gslc_tsElem::nFeatures
7.14.2.59 nFlipX
uint8_t gslc_tsGui::nFlipX
7.14.2.60 nFlipY
uint8_t gslc_tsGui::nFlipY
7.14.2.61 nFocusElemInd
int16_t gslc_tsGui::nFocusElemInd
7.14.2.62 nFocusElemMax
int16_t gslc_tsGui::nFocusElemMax
7.14.2.63 nFocusPageInd
int16_t gslc_tsGui::nFocusPageInd
Generated by Doxygen
120 Module Documentation
7.14.2.64 nFocusSavedElemInd
int16_t gslc_tsGui::nFocusSavedElemInd
7.14.2.65 nFocusSavedPageInd
int16_t gslc_tsGui::nFocusSavedPageInd
7.14.2.66 nFontCnt
uint8_t gslc_tsGui::nFontCnt
7.14.2.67 nFontMax
uint8_t gslc_tsGui::nFontMax
7.14.2.68 nFrameRateCnt
uint8_t gslc_tsGui::nFrameRateCnt
7.14.2.69 nFrameRateStart
uint8_t gslc_tsGui::nFrameRateStart
Generated by Doxygen
7.14 Internal Functions 121
7.14.2.70 nGroup
int16_t gslc_tsElem::nGroup
int16_t gslc_tsFont::nId
int16_t gslc_tsElem::nId
7.14.2.73 nInputMapCnt
uint8_t gslc_tsGui::nInputMapCnt
7.14.2.74 nInputMapMax
uint8_t gslc_tsGui::nInputMapMax
7.14.2.75 nInputMode
uint8_t gslc_tsGui::nInputMode
Generated by Doxygen
122 Module Documentation
7.14.2.76 nPageCnt
uint8_t gslc_tsGui::nPageCnt
7.14.2.77 nPageId
int16_t gslc_tsPage::nPageId
Page identifier.
7.14.2.78 nPageMax
uint8_t gslc_tsGui::nPageMax
7.14.2.79 nRotation
uint8_t gslc_tsGui::nRotation
7.14.2.80 nRoundRadius
uint8_t gslc_tsGui::nRoundRadius
7.14.2.81 nSize
uint16_t gslc_tsFont::nSize
Font size.
Generated by Doxygen
7.14 Internal Functions 123
7.14.2.82 nStrBufMax
uint8_t gslc_tsElem::nStrBufMax
7.14.2.83 nSubType
uint8_t gslc_tsEvent::nSubType
Event sub-type.
7.14.2.84 nSwapXY
uint8_t gslc_tsGui::nSwapXY
7.14.2.85 nTouchCalPressMax
int16_t gslc_tsGui::nTouchCalPressMax
7.14.2.86 nTouchCalPressMin
int16_t gslc_tsGui::nTouchCalPressMin
7.14.2.87 nTouchCalXMax
int16_t gslc_tsGui::nTouchCalXMax
Generated by Doxygen
124 Module Documentation
7.14.2.88 nTouchCalXMin
int16_t gslc_tsGui::nTouchCalXMin
7.14.2.89 nTouchCalYMax
int16_t gslc_tsGui::nTouchCalYMax
7.14.2.90 nTouchCalYMin
int16_t gslc_tsGui::nTouchCalYMin
7.14.2.91 nTouchLastPress
uint16_t gslc_tsGui::nTouchLastPress
7.14.2.92 nTouchLastX
int16_t gslc_tsGui::nTouchLastX
7.14.2.93 nTouchLastY
int16_t gslc_tsGui::nTouchLastY
Generated by Doxygen
7.14 Internal Functions 125
7.14.2.94 nTouchRotation
uint8_t gslc_tsGui::nTouchRotation
7.14.2.95 nTxtMarginX
int8_t gslc_tsElem::nTxtMarginX
7.14.2.96 nTxtMarginY
int8_t gslc_tsElem::nTxtMarginY
7.14.2.97 nType
int16_t gslc_tsElem::nType
7.14.2.98 nVal
int16_t gslc_tsInputMap::nVal
7.14.2.99 nX
int16_t gslc_tsEventTouch::nX
Generated by Doxygen
126 Module Documentation
7.14.2.100 nY
int16_t gslc_tsEventTouch::nY
7.14.2.101 pElem
gslc_tsElem∗ gslc_tsElemRef::pElem
7.14.2.102 pElemRefParent
gslc_tsElemRef∗ gslc_tsElem::pElemRefParent
Used during redraw to notify parent elements that they require redraw as well. Primary usage is in compound
elements. NOTE: Although this field is only used in GLSC_COMPOUND mode, it is not wrapped in an ifdef because
the ElemCreate∗_P() function macros currently initialize this field.
7.14.2.103 pElemRefTracked
gslc_tsElemRef∗ gslc_tsCollect::pElemRefTracked
7.14.2.104 pFname
7.14.2.105 pFocusElemRef
gslc_tsElemRef∗ gslc_tsGui::pFocusElemRef
Generated by Doxygen
7.14 Internal Functions 127
7.14.2.106 pFocusPage
gslc_tsPage∗ gslc_tsGui::pFocusPage
7.14.2.107 pfuncPinPoll
GSLC_CB_PIN_POLL gslc_tsGui::pfuncPinPoll
7.14.2.108 pfuncXDraw
GSLC_CB_DRAW gslc_tsElem::pfuncXDraw
7.14.2.109 pfuncXEvent
GSLC_CB_EVENT gslc_tsElem::pfuncXEvent
7.14.2.110 pfuncXTick
GSLC_CB_TICK gslc_tsElem::pfuncXTick
7.14.2.111 pfuncXTouch
GSLC_CB_TOUCH gslc_tsElem::pfuncXTouch
Generated by Doxygen
128 Module Documentation
7.14.2.112 pImgBuf
7.14.2.113 pStrBuf
char∗ gslc_tsElem::pStrBuf
7.14.2.114 pTxtFont
gslc_tsFont∗ gslc_tsElem::pTxtFont
7.14.2.115 pvData
void∗ gslc_tsEvent::pvData
This member is used to either pass a pointer to a simple data datatype (such as Element or Collection) or to a
another structure that contains multiple fields.
7.14.2.116 pvDriver
void∗ gslc_tsGui::pvDriver
7.14.2.117 pvFont
Generated by Doxygen
7.14 Internal Functions 129
7.14.2.118 pvImgRaw
void∗ gslc_tsImgRef::pvImgRaw
7.14.2.119 pvScope
void∗ gslc_tsEvent::pvScope
7.14.2.120 pXData
void∗ gslc_tsElem::pXData
7.14.2.121 r
uint8_t gslc_tsColor::r
7.14.2.122 rBounds
gslc_tsRect gslc_tsPage::rBounds
7.14.2.123 rElem
gslc_tsRect gslc_tsElem::rElem
Generated by Doxygen
130 Module Documentation
7.14.2.124 rFocus
gslc_tsRect gslc_tsRectState::rFocus
7.14.2.125 rFull
gslc_tsRect gslc_tsRectState::rFull
7.14.2.126 rInner
gslc_tsRect gslc_tsRectState::rInner
7.14.2.127 rInvalidateRect
gslc_tsRect gslc_tsGui::rInvalidateRect
7.14.2.128 sCollect
gslc_tsCollect gslc_tsPage::sCollect
7.14.2.129 sElemRefTmp
gslc_tsElemRef gslc_tsGui::sElemRefTmp
7.14.2.130 sElemTmp
gslc_tsElem gslc_tsGui::sElemTmp
Temporary element.
Generated by Doxygen
7.14 Internal Functions 131
7.14.2.131 sElemTmpProg
gslc_tsElem gslc_tsGui::sElemTmpProg
7.14.2.132 sEventPend
gslc_tsEvent gslc_tsGui::sEventPend
7.14.2.133 sEventTouchPend
gslc_tsEventTouch gslc_tsGui::sEventTouchPend
7.14.2.134 sImgRefBkgnd
gslc_tsImgRef gslc_tsGui::sImgRefBkgnd
7.14.2.135 sImgRefGlow
gslc_tsImgRef gslc_tsElem::sImgRefGlow
7.14.2.136 sImgRefNorm
gslc_tsImgRef gslc_tsElem::sImgRefNorm
Generated by Doxygen
132 Module Documentation
7.14.2.137 sTransCol
gslc_tsColor gslc_tsGui::sTransCol
7.14.2.138 w
uint16_t gslc_tsRect::w
Width of region.
7.14.2.139 x [1/2]
int16_t gslc_tsRect::x
X coordinate of corner.
7.14.2.140 x [2/2]
int16_t gslc_tsPt::x
X coordinate.
7.14.2.141 y [1/2]
int16_t gslc_tsRect::y
Y coordinate of corner.
7.14.2.142 y [2/2]
int16_t gslc_tsPt::y
Y coordinate.
Generated by Doxygen
7.15 Internal: Misc Functions 133
Functions
• gslc_tsImgRef gslc_ResetImage ()
Create a blank image reference structure.
7.15.2.1 gslc_ResetImage()
gslc_tsImgRef gslc_ResetImage ( )
Returns
Generated by Doxygen
134 Module Documentation
Functions
• gslc_tsElem gslc_ElemCreate (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPageId, int16_t nType, gslc_ts←-
Rect rElem, char ∗pStrBuf, uint8_t nStrBufMax, int16_t nFontId)
Create a new element with default styling.
• gslc_tsElemRef ∗ gslc_ElemAdd (gslc_tsGui ∗pGui, int16_t nPageId, gslc_tsElem ∗pElem, gslc_teElem←-
RefFlags eFlags)
Add the Element to the list of generated elements in the GUI environment.
• uint8_t gslc_GetElemRefFlag (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, uint8_t nFlagMask)
Get the flags associated with an element reference.
• void gslc_SetElemRefFlag (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, uint8_t nFlagMask, uint8_t n←-
FlagVal)
Set the flags associated with an element reference.
• gslc_tsElem ∗ gslc_GetElemFromRef (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef)
Returns a pointer to an element from an element reference, copying from FLASH to RAM if element is stored in
PROGMEM.
• gslc_tsElem ∗ gslc_GetElemFromRefD (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, int16_t nLineNum)
Returns a pointer to an element from an element reference.
• void ∗ gslc_GetXDataFromRef (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, int16_t nType, int16_t nLine←-
Num)
Returns a pointer to the data structure associated with an extended element.
• void gslc_ElemSetImage (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_tsImgRef sImgRef, gslc_ts←-
ImgRef sImgRefSel)
Set an element to use a bitmap image.
• bool gslc_ElemDrawByRef (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_teRedrawType eRedraw)
Draw an element to the active display.
• void gslc_ElemDraw (gslc_tsGui ∗pGui, int16_t nPageId, int16_t nElemId)
Draw an element to the active display.
• void gslc_DrawTxtBase (gslc_tsGui ∗pGui, char ∗pStrBuf, gslc_tsRect rTxt, gslc_tsFont ∗pTxtFont, gslc←-
_teTxtFlags eTxtFlags, int8_t eTxtAlign, gslc_tsColor colTxt, gslc_tsColor colBg, int16_t nMarginW, int16_t
nMarginH)
Draw text with full text justification.
• void gslc_SetRoundRadius (gslc_tsGui ∗pGui, uint8_t nRadius)
Set the global rounded radius.
• void gslc_SetFocusCol (gslc_tsGui ∗pGui, gslc_tsColor colFocusNone, gslc_tsColor colFocus, gslc_tsColor
colFocusEdit)
Set the global focus color choices.
Generated by Doxygen
7.16 Internal: Element Functions 135
7.16.2.1 gslc_DrawTxtBase()
void gslc_DrawTxtBase (
gslc_tsGui ∗ pGui,
char ∗ pStrBuf,
gslc_tsRect rTxt,
gslc_tsFont ∗ pTxtFont,
gslc_teTxtFlags eTxtFlags,
int8_t eTxtAlign,
gslc_tsColor colTxt,
gslc_tsColor colBg,
int16_t nMarginW,
int16_t nMarginH )
• This function is usually only required by internal GUIslice rendering operations but is made available for
custom element usage as well
Parameters
Returns
none
7.16.2.2 gslc_ElemAdd()
gslc_tsElemRef∗ gslc_ElemAdd (
gslc_tsGui ∗ pGui,
Generated by Doxygen
136 Module Documentation
int16_t nPageId,
gslc_tsElem ∗ pElem,
gslc_teElemRefFlags eFlags )
Add the Element to the list of generated elements in the GUI environment.
• NOTE: The content of pElem is copied so the pointer can be released after the call.
Parameters
Returns
7.16.2.3 gslc_ElemCreate()
gslc_tsElem gslc_ElemCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPageId,
int16_t nType,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Parameters
Generated by Doxygen
7.16 Internal: Element Functions 137
Returns
Initialized structure
7.16.2.4 gslc_ElemDraw()
void gslc_ElemDraw (
gslc_tsGui ∗ pGui,
int16_t nPageId,
int16_t nElemId )
• Provides similar functionality as ElemDrawByRef() but accepts page and element IDs
Parameters
Returns
none
7.16.2.5 gslc_ElemDrawByRef()
bool gslc_ElemDrawByRef (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Generated by Doxygen
138 Module Documentation
Returns
7.16.2.6 gslc_ElemSetImage()
void gslc_ElemSetImage (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsImgRef sImgRef,
gslc_tsImgRef sImgRefSel )
Parameters
Returns
none
7.16.2.7 gslc_GetElemFromRef()
gslc_tsElem∗ gslc_GetElemFromRef (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Returns a pointer to an element from an element reference, copying from FLASH to RAM if element is stored in
PROGMEM.
This function enables all APIs to work with Elements irrespective of whether they were created in RAM or Flash.
Parameters
Returns
Generated by Doxygen
7.16 Internal: Element Functions 139
7.16.2.8 gslc_GetElemFromRefD()
gslc_tsElem∗ gslc_GetElemFromRefD (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nLineNum )
This is a wrapper for GetElemFromRef() including debug checking for invalid pointers.
Parameters
Returns
7.16.2.9 gslc_GetElemRefFlag()
uint8_t gslc_GetElemRefFlag (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nFlagMask )
Parameters
Returns
Values associated with the element reference flags (subject to the flag mask)
7.16.2.10 gslc_GetXDataFromRef()
void∗ gslc_GetXDataFromRef (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
Generated by Doxygen
140 Module Documentation
int16_t nType,
int16_t nLineNum )
Parameters
Returns
Void pointer to extended data (pXData), or NULL if error. Needs to be typecasted accordingly.
7.16.2.11 gslc_SetElemRefFlag()
void gslc_SetElemRefFlag (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nFlagMask,
uint8_t nFlagVal )
Parameters
Returns
none
7.16.2.12 gslc_SetFocusCol()
void gslc_SetFocusCol (
gslc_tsGui ∗ pGui,
Generated by Doxygen
7.16 Internal: Element Functions 141
gslc_tsColor colFocusNone,
gslc_tsColor colFocus,
gslc_tsColor colFocusEdit )
• These colors will be used when depicting focus frames around elements
Parameters
Returns
none
7.16.2.13 gslc_SetRoundRadius()
void gslc_SetRoundRadius (
gslc_tsGui ∗ pGui,
uint8_t nRadius )
Parameters
Returns
none
Generated by Doxygen
142 Module Documentation
Functions
• bool gslc_PageEvent (void ∗pvGui, gslc_tsEvent sEvent)
Common event handler function for a page.
• void gslc_PageRedrawGo (gslc_tsGui ∗pGui)
Redraw all elements on the active page.
• void gslc_PageFlipSet (gslc_tsGui ∗pGui, bool bNeeded)
Indicate whether the screen requires page flip.
• bool gslc_PageFlipGet (gslc_tsGui ∗pGui)
Get state of pending page flip state.
• void gslc_PageFlipGo (gslc_tsGui ∗pGui)
Update the visible screen if page has been marked for flipping.
• gslc_tsPage ∗ gslc_PageFindById (gslc_tsGui ∗pGui, int16_t nPageId)
Find a page in the GUI by its ID.
• void gslc_PageRedrawCalc (gslc_tsGui ∗pGui)
Perform a redraw calculation on the page to determine if additional elements should also be redrawn.
• gslc_tsEvent gslc_EventCreate (gslc_tsGui ∗pGui, gslc_teEventType eType, uint8_t nSubType, void ∗pv←-
Scope, void ∗pvData)
Create an event structure.
• bool gslc_ElemEvent (void ∗pvGui, gslc_tsEvent sEvent)
Common event handler function for an element.
• bool gslc_ElemSendEventTouch (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRefTracked, gslc_teTouch e←-
Touch, int16_t nX, int16_t nY)
Trigger an element's touch event.
7.17.2.1 gslc_ElemEvent()
bool gslc_ElemEvent (
void ∗ pvGui,
gslc_tsEvent sEvent )
Generated by Doxygen
7.17 Internal: Page Functions 143
Parameters
Returns
7.17.2.2 gslc_ElemSendEventTouch()
bool gslc_ElemSendEventTouch (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRefTracked,
gslc_teTouch eTouch,
int16_t nX,
int16_t nY )
Parameters
Returns
7.17.2.3 gslc_EventCreate()
gslc_tsEvent gslc_EventCreate (
gslc_tsGui ∗ pGui,
gslc_teEventType eType,
uint8_t nSubType,
void ∗ pvScope,
void ∗ pvData )
Generated by Doxygen
144 Module Documentation
Parameters
Returns
None
7.17.2.4 gslc_PageEvent()
bool gslc_PageEvent (
void ∗ pvGui,
gslc_tsEvent sEvent )
Parameters
Returns
7.17.2.5 gslc_PageFindById()
gslc_tsPage∗ gslc_PageFindById (
gslc_tsGui ∗ pGui,
int16_t nPageId )
Parameters
Generated by Doxygen
7.17 Internal: Page Functions 145
Returns
7.17.2.6 gslc_PageFlipGet()
bool gslc_PageFlipGet (
gslc_tsGui ∗ pGui )
Parameters
Returns
7.17.2.7 gslc_PageFlipGo()
void gslc_PageFlipGo (
gslc_tsGui ∗ pGui )
Update the visible screen if page has been marked for flipping.
Parameters
Returns
None
7.17.2.8 gslc_PageFlipSet()
void gslc_PageFlipSet (
gslc_tsGui ∗ pGui,
bool bNeeded )
Generated by Doxygen
146 Module Documentation
• This is generally called with bNeeded=true whenever drawing has been done to the active page. Page flip is
actually performed later when calling PageFlipGo().
Parameters
Returns
None
7.17.2.9 gslc_PageRedrawCalc()
void gslc_PageRedrawCalc (
gslc_tsGui ∗ pGui )
Perform a redraw calculation on the page to determine if additional elements should also be redrawn.
This routine checks to see if any transparent elements have been marked as needing redraw. If so, the whole page
may be marked as needing redraw (or at least the other elements that have been exposed underneath).
Parameters
Returns
none
7.17.2.10 gslc_PageRedrawGo()
void gslc_PageRedrawGo (
gslc_tsGui ∗ pGui )
Only the elements that have been marked as needing redraw are rendered unless the entire page has been marked
as needing redraw (in which case everything is drawn)
Parameters
Generated by Doxygen
7.17 Internal: Page Functions 147
Returns
none
Generated by Doxygen
148 Module Documentation
Functions
Generated by Doxygen
7.18 Internal: Element Collection Functions 149
7.18.2.1 gslc_CollectElemAdd()
gslc_tsElemRef∗ gslc_CollectElemAdd (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
const gslc_tsElem ∗ pElem,
gslc_teElemRefFlags eFlags )
• Note that the contents of pElem are copied to the collection's element array so the pElem pointer can be
discarded are the call is complete.
Parameters
Returns
Pointer to the element reference in the collection that has been added or NULL if there was an error
7.18.2.2 gslc_CollectFindElemById()
gslc_tsElemRef∗ gslc_CollectFindElemById (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
int16_t nElemId )
Parameters
Returns
Pointer to the element reference in the collection that was found or NULL if no matches found
Generated by Doxygen
150 Module Documentation
7.18.2.3 gslc_CollectFindElemFromCoord()
gslc_tsElemRef∗ gslc_CollectFindElemFromCoord (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
int16_t nX,
int16_t nY,
int16_t ∗ pnElemInd )
• A match is found if the element is "clickable" (bClickEn=true) and the coordinate falls within the element's
bounds (rElem).
Parameters
Returns
Pointer to the element reference in the collection that was found or NULL if no matches found
7.18.2.4 gslc_CollectGetElemRefTracked()
gslc_tsElemRef∗ gslc_CollectGetElemRefTracked (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect )
Parameters
Returns
Pointer to the element reference in the collection that is currently being tracked or NULL if no elements are
being tracked
Generated by Doxygen
7.18 Internal: Element Collection Functions 151
7.18.2.5 gslc_CollectGetNextId()
int gslc_CollectGetNextId (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect )
Parameters
Returns
7.18.2.6 gslc_CollectGetRedraw()
bool gslc_CollectGetRedraw (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect )
Parameters
Returns
7.18.2.7 gslc_CollectReset()
void gslc_CollectReset (
gslc_tsCollect ∗ pCollect,
gslc_tsElem ∗ asElem,
uint16_t nElemMax,
gslc_tsElemRef ∗ asElemRef,
uint16_t nElemRefMax )
Generated by Doxygen
152 Module Documentation
Parameters
Returns
none
7.18.2.8 gslc_CollectSetElemTracked()
void gslc_CollectSetElemTracked (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
gslc_tsElemRef ∗ pElemRef,
int16_t nElemInd )
Parameters
Returns
none
7.18.2.9 gslc_CollectSetParent()
void gslc_CollectSetParent (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
gslc_tsElemRef ∗ pElemRefParent )
Generated by Doxygen
7.18 Internal: Element Collection Functions 153
• This is generally used in the case of compound elements where updates to a sub-element should cause the
parent (compound element) to be redrawn as well.)
Parameters
Returns
none
Generated by Doxygen
154 Module Documentation
Functions
7.19.2.1 gslc_CollectEvent()
bool gslc_CollectEvent (
void ∗ pvGui,
gslc_tsEvent sEvent )
Parameters
Generated by Doxygen
7.19 Internal: Element Collection Event Functions 155
Returns
7.19.2.2 gslc_CollectInput()
void gslc_CollectInput (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
gslc_tsEventTouch ∗ pEventTouch )
Parameters
Returns
none
7.19.2.3 gslc_CollectTouch()
void gslc_CollectTouch (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
gslc_tsEventTouch ∗ pEventTouch )
Parameters
Returns
none
Generated by Doxygen
156 Module Documentation
7.19.2.4 gslc_CollectTouchCompound()
bool gslc_CollectTouchCompound (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY,
gslc_tsCollect ∗ pCollect )
Parameters
Returns
Generated by Doxygen
7.20 Internal: Tracking Functions 157
Internal: Tracking
Internal Functions
Functions
Functions
• void gslc_TrackTouch (gslc_tsGui ∗pGui, gslc_tsPage ∗pPage, int16_t nX, int16_t nY, uint16_t nPress)
Handles a touch event and performs the necessary tracking, glowing and selection actions depending on the press
state.
• void gslc_TrackInput (gslc_tsGui ∗pGui, gslc_teInputRawEvent eInputEvent, int16_t nInputVal)
Handles a direct input event and performs the necessary tracking, glowing and selection actions depending on the
state.
• bool gslc_InputMapLookup (gslc_tsGui ∗pGui, gslc_teInputRawEvent eInputEvent, int16_t nInputVal, gslc←-
_teAction ∗peAction, int16_t ∗pnActionVal)
7.20.2.1 gslc_InputMapLookup()
bool gslc_InputMapLookup (
gslc_tsGui ∗ pGui,
gslc_teInputRawEvent eInputEvent,
int16_t nInputVal,
gslc_teAction ∗ peAction,
int16_t ∗ pnActionVal )
Todo Doc.
• Use the InputMap table to determine the action to take as a result of the external input event.
Generated by Doxygen
158 Module Documentation
Parameters
Returns
7.20.2.2 gslc_TrackInput()
void gslc_TrackInput (
gslc_tsGui ∗ pGui,
gslc_teInputRawEvent eInputEvent,
int16_t nInputVal )
Handles a direct input event and performs the necessary tracking, glowing and selection actions depending on the
state.
Parameters
Returns
none
7.20.2.3 gslc_TrackTouch()
void gslc_TrackTouch (
gslc_tsGui ∗ pGui,
gslc_tsPage ∗ pPage,
int16_t nX,
int16_t nY,
uint16_t nPress )
Handles a touch event and performs the necessary tracking, glowing and selection actions depending on the press
state.
Generated by Doxygen
7.20 Internal: Tracking Functions 159
Parameters
Returns
none
Generated by Doxygen
160 Module Documentation
Functions
7.21.2.1 gslc_CollectDestruct()
void gslc_CollectDestruct (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect )
Parameters
Generated by Doxygen
7.21 Internal: Cleanup Functions 161
Returns
none
7.21.2.2 gslc_ElemDestruct()
void gslc_ElemDestruct (
gslc_tsElem ∗ pElem )
Parameters
in pElem Pointer to element
Returns
none
7.21.2.3 gslc_GuiDestruct()
void gslc_GuiDestruct (
gslc_tsGui ∗ pGui )
Free up any surfaces associated with the GUI, pages, collections and elements.
• Called by gslc_Quit()
Parameters
Returns
none
7.21.2.4 gslc_PageDestruct()
void gslc_PageDestruct (
gslc_tsGui ∗ pGui,
gslc_tsPage ∗ pPage )
Generated by Doxygen
162 Module Documentation
Generated by Doxygen
7.21 Internal: Cleanup Functions 163
Parameters
Returns
none
7.21.2.5 gslc_ResetElem()
void gslc_ResetElem (
gslc_tsElem ∗ pElem )
Parameters
in pElem Pointer to Element
Returns
none
7.21.2.6 gslc_ResetFont()
void gslc_ResetFont (
gslc_tsFont ∗ pFont )
Parameters
in pFont Pointer to Font
Returns
none
Generated by Doxygen
164 Module Documentation
Generated by Doxygen
Chapter 8
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pElemRefParent pElem pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
pElemRefTracked
gslc_tsElem
asElemRef
asElem
gslc_tsCollect
Data Fields
• gslc_tsElem ∗ asElem
Array of elements.
• uint16_t nElemMax
Maximum number of elements to allocate (in RAM)
• uint16_t nElemCnt
Number of elements allocated.
• int16_t nElemAutoIdNext
Next Element ID for auto-assignment.
• gslc_tsElemRef ∗ asElemRef
Array of element references.
• uint16_t nElemRefMax
Maximum number of element references to allocate.
• uint16_t nElemRefCnt
Number of element references allocated.
• gslc_tsElemRef ∗ pElemRefTracked
Element reference currently being touch-tracked (NULL for none)
• int16_t nElemIndTracked
Element index currently being touch-tracked (GSLC_IND_NONE for none)
166 Data Structure Documentation
• Collections are used to maintain a list of elements and any touch tracking status.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Data Fields
• uint8_t r
RGB red value.
• uint8_t g
RGB green value.
• uint8_t b
RGB blue value.
• src/GUIslice.h
#include <GUIslice_drv_adagfx.h>
Collaboration diagram for gslc_tsDriver:
gslc_tsRect gslc_tsColor
rClipRect nColBkgnd
gslc_tsDriver
Generated by Doxygen
8.3 gslc_tsDriver Struct Reference 167
Data Fields
• gslc_tsColor nColBkgnd
Background color (if not image-based)
• gslc_tsRect rClipRect
Clipping rectangle.
• const void ∗ pvFontLast
Last loadFont() reference.
8.3.1.1 nColBkgnd
gslc_tsColor gslc_tsDriver::nColBkgnd
8.3.1.2 pvFontLast
8.3.1.3 rClipRect
gslc_tsRect gslc_tsDriver::rClipRect
Clipping rectangle.
The documentation for this struct was generated from the following files:
• src/GUIslice_drv_adagfx.h
• src/GUIslice_drv_m5stack.h
• src/GUIslice_drv_sdl.h
• src/GUIslice_drv_tft_espi.h
• src/GUIslice_drv_utft.h
Generated by Doxygen
168 Data Structure Documentation
Element Struct.
#include <GUIslice.h>
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
gslc_tsElem
pElem pElemRefParent
gslc_tsElemRef
Data Fields
• int16_t nId
Element ID specified by user.
• uint16_t nFeatures
Element feature vector (appearance/behavior))
• int16_t nType
Element type enumeration.
• gslc_tsRect rElem
Rect region containing element.
• int16_t nGroup
Group ID that the element belongs to.
• gslc_tsColor colElemFrame
Color for frame.
• gslc_tsColor colElemFill
Color for background fill.
• gslc_tsColor colElemFrameGlow
Color to use for frame when glowing.
• gslc_tsColor colElemFillGlow
Color to use for fill when glowing.
• gslc_tsImgRef sImgRefNorm
Image reference to draw (normal)
• gslc_tsImgRef sImgRefGlow
Image reference to draw (glowing)
• gslc_tsElemRef ∗ pElemRefParent
Parent element reference.
• char ∗ pStrBuf
Generated by Doxygen
8.4 gslc_tsElem Struct Reference 169
Element Struct.
• Each element is created with a user-specified ID for further accesses (or GSLC_ID_AUTO for it to be auto-
generated)
• Extensions to the core element types is provided through the pXData reference and pfuncX∗ callback func-
tions.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Generated by Doxygen
170 Data Structure Documentation
#include <GUIslice.h>
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pElemRefParent pElem pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
gslc_tsElem
Data Fields
• gslc_tsElem ∗ pElem
Pointer to element in memory [RAM,FLASH].
• gslc_teElemRefFlags eElemFlags
Element reference flags.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Event structure.
#include <GUIslice.h>
Data Fields
• gslc_teEventType eType
Event type.
• uint8_t nSubType
Event sub-type.
• void ∗ pvScope
Event target scope (eg. Page,Collection,Event)
• void ∗ pvData
Generic data pointer for event.
Generated by Doxygen
8.7 gslc_tsEventTouch Struct Reference 171
Event structure.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
#include <GUIslice.h>
Data Fields
• gslc_teTouch eTouch
Touch state.
• int16_t nX
Touch X coordinate (or param1)
• int16_t nY
Touch Y coordinate (or param2)
The documentation for this struct was generated from the following file:
• src/GUIslice.h
#include <GUIslice.h>
Data Fields
• int16_t nId
Font ID specified by user.
• gslc_teFontRefType eFontRefType
Font reference type.
• gslc_teFontRefMode eFontRefMode
Font reference mode.
• const void ∗ pvFont
Void ptr to the font reference (type defined by driver)
• uint16_t nSize
Font size.
Generated by Doxygen
172 Data Structure Documentation
The documentation for this struct was generated from the following file:
• src/GUIslice.h
GUI structure.
#include <GUIslice.h>
sEventPend
gslc_tsEvent sEventTouchPend
pfuncXEvent gslc_tsEventTouch
asFont
gslc_tsFont
pTxtFont
gslc_tsInputMap asInputMap
sElemTmpProg
colElemFill sElemTmp
colElemFillGlow
colElemFrame pFocusElemRef gslc_tsGui
colElemTextGlow sElemRefTmp
pElem
colElemText gslc_tsElemRef pElemRefTracked
colElemFrameGlow gslc_tsElem pElemRefParent asElemRef
pFocusPage
gslc_tsColor asElem apPageStack
rElem asPage
sCollect
gslc_tsCollect gslc_tsPage
colFocusEdit
sTransCol
colFocus
colFocusNone
sImgRefGlow
sImgRefNorm
rBounds
gslc_tsRect
rInvalidateRect
gslc_tsImgRef
sImgRefBkgnd
Data Fields
• uint16_t nDispW
Width of the display (pixels)
• uint16_t nDispH
Height of the display (pixels)
• uint16_t nDisp0W
Width of the display (pixels) in native orientation.
• uint16_t nDisp0H
Height of the display (pixels) in native orientation.
• uint8_t nDispDepth
Bit depth of display (bits per pixel)
• uint8_t nRotation
Adafruit GFX Rotation of display.
• uint8_t nTouchRotation
Touchscreen rotation offset vs display.
• uint8_t nSwapXY
Adafruit GFX Touch Swap x and y axes.
• uint8_t nFlipX
Generated by Doxygen
8.9 gslc_tsGui Struct Reference 173
Generated by Doxygen
174 Data Structure Documentation
• gslc_tsEventTouch sEventTouchPend
A touch event that has been deferred (if bEventPending=true)
• gslc_tsEvent sEventPend
An event that has been deferred (if bEventPending=true)
• gslc_tsImgRef sImgRefBkgnd
Image reference for background.
• uint8_t nFrameRateCnt
Diagnostic frame rate count.
• uint8_t nFrameRateStart
Diagnostic frame rate timestamp.
• gslc_tsPage ∗ asPage
Array of all pages defined in system.
• uint8_t nPageMax
Maximum number of pages that can be defined.
• uint8_t nPageCnt
Current number of pages defined.
• gslc_tsPage ∗ apPageStack [GSLC_STACK__MAX]
Stack of pages.
• bool abPageStackActive [GSLC_STACK__MAX]
Whether page in stack can receive touch events.
• bool abPageStackDoDraw [GSLC_STACK__MAX]
Whether page in stack is still actively drawn.
• bool bScreenNeedRedraw
Screen requires a redraw.
• bool bScreenNeedFlip
Screen requires a page flip.
• bool bInvalidateEn
A region of the display has been invalidated.
• gslc_tsRect rInvalidateRect
The rect region that has been invalidated.
• GSLC_CB_PIN_POLL pfuncPinPoll
Callback func ptr for pin polling.
• gslc_tsInputMap ∗ asInputMap
Array of input maps.
• uint8_t nInputMapMax
Maximum number of input maps.
• uint8_t nInputMapCnt
Current number of input maps.
• uint8_t nInputMode
Input mode: 0=navigate, 1=edit.
• int16_t nFocusPageInd
Index of page in stack currently in focus.
• gslc_tsPage ∗ pFocusPage
Page ptr currently in focus.
• gslc_tsElemRef ∗ pFocusElemRef
Reference to element in focus.
• int16_t nFocusElemInd
Index of element in page currently in focus.
• int16_t nFocusElemMax
Max number of elements in page in focus.
• gslc_tsColor colFocusNone
Generated by Doxygen
8.10 gslc_tsImgRef Struct Reference 175
GUI structure.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
#include <GUIslice.h>
Data Fields
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Generated by Doxygen
176 Data Structure Documentation
Input mapping.
#include <GUIslice.h>
Data Fields
• gslc_teInputRawEvent eEvent
The input event.
• int16_t nVal
The value associated with the input event.
• gslc_teAction eAction
Resulting action.
• int16_t nActionVal
The value for the output action.
Input mapping.
• Describes mapping from keyboard or GPIO input to a GUI action (such as changing the current element
focus)
• This is generally used to support keyboard or GPIO control over the GUI operation
The documentation for this struct was generated from the following file:
• src/GUIslice.h
#include <XKeyPad.h>
Data Fields
• uint8_t nId
Unique identifier.
• uint8_t nRow
Row to place the key (0 is top-most)
• uint8_t nCol
Column to place the key (0 is left-most)
• uint8_t nRowSpan
Number of rows that key takes up (in units of nButtonSzH pixels)
• uint8_t nColSpan
Number of columns that key takes up (in units of nButtonSzW pixels)
• uint8_t nType
Key type.
Generated by Doxygen
8.12 gslc_tsKey Struct Reference 177
8.12.2.1 nCol
uint8_t gslc_tsKey::nCol
8.12.2.2 nColSpan
uint8_t gslc_tsKey::nColSpan
8.12.2.3 nId
uint8_t gslc_tsKey::nId
Unique identifier.
8.12.2.4 nRow
uint8_t gslc_tsKey::nRow
8.12.2.5 nRowSpan
uint8_t gslc_tsKey::nRowSpan
Generated by Doxygen
178 Data Structure Documentation
8.12.2.6 nType
uint8_t gslc_tsKey::nType
Key type.
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
#include <XKeyPad.h>
Data Fields
• uint8_t nId
• const char ∗ pLabel
Unique key ID.
8.13.2.1 nId
uint8_t gslc_tsLabelSpecial::nId
8.13.2.2 pLabel
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
Generated by Doxygen
8.14 gslc_tsPage Struct Reference 179
Page structure.
#include <GUIslice.h>
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
rElem pfuncXEvent pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
gslc_tsElem
pElem pElemRefParent
pElemRefTracked
asElemRef
gslc_tsCollect
sCollect
gslc_tsPage
Data Fields
• gslc_tsCollect sCollect
Collection of elements on page.
• int16_t nPageId
Page identifier.
• gslc_tsRect rBounds
Bounding rect for page elements.
Page structure.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Generated by Doxygen
180 Data Structure Documentation
#include <GUIslice.h>
Data Fields
• int16_t x
X coordinate.
• int16_t y
Y coordinate.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
#include <GUIslice.h>
Data Fields
• int16_t x
X coordinate of corner.
• int16_t y
Y coordinate of corner.
• uint16_t w
Width of region.
• uint16_t h
Height of region.
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Generated by Doxygen
8.17 gslc_tsRectState Struct Reference 181
#include <GUIslice.h>
gslc_tsRect gslc_tsColor
colFrm
colFocus
rInner
colTxtBack
rFull
colInner
rFocus
colTxtFore
colBack
gslc_tsRectState
Data Fields
• gslc_tsRect rFocus
• gslc_tsRect rFull
• gslc_tsRect rInner
• gslc_tsColor colFocus
• gslc_tsColor colFrm
• gslc_tsColor colInner
• gslc_tsColor colBack
• gslc_tsColor colTxtFore
• gslc_tsColor colTxtBack
• Accounts for various rects including focus, frame and internal content
The documentation for this struct was generated from the following file:
• src/GUIslice.h
Generated by Doxygen
182 Data Structure Documentation
#include <XCheckbox.h>
gslc_tsColor
colCheck
gslc_tsXCheckbox
Data Fields
• bool bRadio
Radio-button operation if true.
• gslc_teXCheckboxStyle nStyle
Drawing style for element.
• bool bChecked
Indicates if it is selected (checked)
• gslc_tsColor colCheck
Color of checked inner fill.
• GSLC_CB_XCHECKBOX pfuncXToggle
Callback event to say element has changed.
8.18.2.1 bChecked
bool gslc_tsXCheckbox::bChecked
Generated by Doxygen
8.19 gslc_tsXGauge Struct Reference 183
8.18.2.2 bRadio
bool gslc_tsXCheckbox::bRadio
8.18.2.3 colCheck
gslc_tsColor gslc_tsXCheckbox::colCheck
8.18.2.4 nStyle
gslc_teXCheckboxStyle gslc_tsXCheckbox::nStyle
8.18.2.5 pfuncXToggle
GSLC_CB_XCHECKBOX gslc_tsXCheckbox::pfuncXToggle
The documentation for this struct was generated from the following file:
• src/elem/XCheckbox.h
#include <XGauge.h>
Collaboration diagram for gslc_tsXGauge:
gslc_tsColor
colGauge
colTick
gslc_tsXGauge
Generated by Doxygen
184 Data Structure Documentation
Data Fields
• int16_t nMin
Minimum control value.
• int16_t nMax
Maximum control value.
• int16_t nVal
Current control value.
• int16_t nValLast
Last value.
• bool bValLastValid
Last value valid?
• gslc_teXGaugeStyle nStyle
Gauge sub-type.
• gslc_tsColor colGauge
Color of gauge fill bar.
• gslc_tsColor colTick
Color of gauge tick marks.
• uint16_t nTickCnt
Number of gauge tick marks.
• uint16_t nTickLen
Length of gauge tick marks.
• bool bVert
Vertical if true, else Horizontal.
• bool bFlip
Reverse direction of gauge.
• uint16_t nIndicLen
Indicator length.
• uint16_t nIndicTip
Size of tip at end of indicator.
• bool bIndicFill
Fill the indicator if true.
8.19.2.1 bFlip
bool gslc_tsXGauge::bFlip
Generated by Doxygen
8.19 gslc_tsXGauge Struct Reference 185
8.19.2.2 bIndicFill
bool gslc_tsXGauge::bIndicFill
8.19.2.3 bValLastValid
bool gslc_tsXGauge::bValLastValid
8.19.2.4 bVert
bool gslc_tsXGauge::bVert
8.19.2.5 colGauge
gslc_tsColor gslc_tsXGauge::colGauge
8.19.2.6 colTick
gslc_tsColor gslc_tsXGauge::colTick
8.19.2.7 nIndicLen
uint16_t gslc_tsXGauge::nIndicLen
Indicator length.
Generated by Doxygen
186 Data Structure Documentation
8.19.2.8 nIndicTip
uint16_t gslc_tsXGauge::nIndicTip
8.19.2.9 nMax
int16_t gslc_tsXGauge::nMax
8.19.2.10 nMin
int16_t gslc_tsXGauge::nMin
8.19.2.11 nStyle
gslc_teXGaugeStyle gslc_tsXGauge::nStyle
Gauge sub-type.
8.19.2.12 nTickCnt
uint16_t gslc_tsXGauge::nTickCnt
8.19.2.13 nTickLen
uint16_t gslc_tsXGauge::nTickLen
Generated by Doxygen
8.20 gslc_tsXGlowball Struct Reference 187
8.19.2.14 nVal
int16_t gslc_tsXGauge::nVal
8.19.2.15 nValLast
int16_t gslc_tsXGauge::nValLast
Last value.
The documentation for this struct was generated from the following file:
• src/elem/XGauge.h
#include <XGlowball.h>
gslc_tsColor
cCol
colBg gslc_tsXGlowballRing
pRings
gslc_tsXGlowball
Generated by Doxygen
188 Data Structure Documentation
Data Fields
• int16_t nMidX
Gauge midpoint X coord.
• int16_t nMidY
Gauge midpoint Y coord.
• gslc_tsXGlowballRing ∗ pRings
Ring definition array.
• uint8_t nNumRings
Number of rings in definition.
• uint16_t nQuality
Rendering quality (number of segments / rotation)
• int16_t nAngStart
Starting angle (0..510 degrees)
• int16_t nAngEnd
Ending angle (0..510 degrees)
• gslc_tsColor colBg
Background color (for redraw)
• int16_t nVal
Current value.
• int16_t nValLast
Previous value.
8.20.2.1 colBg
gslc_tsColor gslc_tsXGlowball::colBg
8.20.2.2 nAngEnd
int16_t gslc_tsXGlowball::nAngEnd
Generated by Doxygen
8.20 gslc_tsXGlowball Struct Reference 189
8.20.2.3 nAngStart
int16_t gslc_tsXGlowball::nAngStart
8.20.2.4 nMidX
int16_t gslc_tsXGlowball::nMidX
8.20.2.5 nMidY
int16_t gslc_tsXGlowball::nMidY
8.20.2.6 nNumRings
uint8_t gslc_tsXGlowball::nNumRings
8.20.2.7 nQuality
uint16_t gslc_tsXGlowball::nQuality
8.20.2.8 nVal
int16_t gslc_tsXGlowball::nVal
Current value.
Generated by Doxygen
190 Data Structure Documentation
8.20.2.9 nValLast
int16_t gslc_tsXGlowball::nValLast
Previous value.
8.20.2.10 pRings
gslc_tsXGlowballRing∗ gslc_tsXGlowball::pRings
The documentation for this struct was generated from the following file:
• src/elem/XGlowball.h
#include <XGlowball.h>
gslc_tsColor
cCol
gslc_tsXGlowballRing
Data Fields
• uint8_t nRad1
• uint8_t nRad2
• gslc_tsColor cCol
Generated by Doxygen
8.22 gslc_tsXGraph Struct Reference 191
8.21.1.1 cCol
gslc_tsColor gslc_tsXGlowballRing::cCol
8.21.1.2 nRad1
uint8_t gslc_tsXGlowballRing::nRad1
8.21.1.3 nRad2
uint8_t gslc_tsXGlowballRing::nRad2
The documentation for this struct was generated from the following file:
• src/elem/XGlowball.h
#include <XGraph.h>
gslc_tsColor
colGraph
gslc_tsXGraph
Generated by Doxygen
192 Data Structure Documentation
Data Fields
• int16_t ∗ pBuf
Ptr to the data buffer (circular buffer))
• uint8_t nMargin
Margin for graph area within element rect.
• gslc_tsColor colGraph
Color of the graph.
• gslc_teXGraphStyle eStyle
Style of the graph.
• uint16_t nBufMax
Maximum number of points in buffer.
• bool bScrollEn
Enable for scrollbar.
• uint16_t nScrollPos
Current scrollbar position.
• uint16_t nWndHeight
Visible window height.
• uint16_t nWndWidth
Visible window width.
• int16_t nPlotValMax
Visible window maximum value.
• int16_t nPlotValMin
Visible window minimum value.
• uint16_t nPlotIndMax
Number of data points to show in window.
• uint16_t nBufCnt
Number of points in buffer.
• uint16_t nPlotIndStart
First row of current window.
8.22.2.1 bScrollEn
bool gslc_tsXGraph::bScrollEn
Generated by Doxygen
8.22 gslc_tsXGraph Struct Reference 193
8.22.2.2 colGraph
gslc_tsColor gslc_tsXGraph::colGraph
8.22.2.3 eStyle
gslc_teXGraphStyle gslc_tsXGraph::eStyle
8.22.2.4 nBufCnt
uint16_t gslc_tsXGraph::nBufCnt
8.22.2.5 nBufMax
uint16_t gslc_tsXGraph::nBufMax
8.22.2.6 nMargin
uint8_t gslc_tsXGraph::nMargin
8.22.2.7 nPlotIndMax
uint16_t gslc_tsXGraph::nPlotIndMax
Generated by Doxygen
194 Data Structure Documentation
8.22.2.8 nPlotIndStart
uint16_t gslc_tsXGraph::nPlotIndStart
8.22.2.9 nPlotValMax
int16_t gslc_tsXGraph::nPlotValMax
8.22.2.10 nPlotValMin
int16_t gslc_tsXGraph::nPlotValMin
8.22.2.11 nScrollPos
uint16_t gslc_tsXGraph::nScrollPos
8.22.2.12 nWndHeight
uint16_t gslc_tsXGraph::nWndHeight
8.22.2.13 nWndWidth
uint16_t gslc_tsXGraph::nWndWidth
Generated by Doxygen
8.23 gslc_tsXKeyPad Struct Reference 195
8.22.2.14 pBuf
int16_t∗ gslc_tsXGraph::pBuf
• src/elem/XGraph.h
colElemFill
colElemFillGlow
colElemFrame sImgRefGlow
rElem pTxtFont pfuncXEvent
colElemTextGlow sImgRefNorm
colElemText
colElemFrameGlow
pLayouts
pfuncBtnEvt pElem pElemRefParent
pLayout
pConfig pTargetRef
gslc_tsXKeyPad
Data Fields
• uint8_t nBufferMax
Maximum number of characters stored in edit value string.
• uint8_t nBufferLen
Current number of characters stored in edit value string.
• char acBuffer [XKEYPAD_BUF_MAX]
Buffer storage for edit value string.
• uint8_t nCursorPos
Cursor position within the buffer.
• uint8_t nScrollPos
Display offset within the buffer.
• gslc_tsXKeyPadResult sRedraw
Pending redraw state.
• int16_t nFocusKeyInd
Indicate key in focus (GSLC_IND_NONE if none)
• int16_t nGlowKeyInd
Indicate key in glow (GSLC_IND_NONE if none)
• gslc_tsXKeyPadCfg ∗ pConfig
Ptr to config struct (may be derived variant)
• GSLC_CB_INPUT pfuncCb
Callback function for KeyPad actions.
• gslc_tsElemRef ∗ pTargetRef
Target element ref associated with keypad (GSLC_CB_INPUT)
Generated by Doxygen
196 Data Structure Documentation
8.23.2.1 acBuffer
char gslc_tsXKeyPad::acBuffer[XKEYPAD_BUF_MAX]
8.23.2.2 nBufferLen
uint8_t gslc_tsXKeyPad::nBufferLen
8.23.2.3 nBufferMax
uint8_t gslc_tsXKeyPad::nBufferMax
8.23.2.4 nCursorPos
uint8_t gslc_tsXKeyPad::nCursorPos
8.23.2.5 nFocusKeyInd
int16_t gslc_tsXKeyPad::nFocusKeyInd
Generated by Doxygen
8.23 gslc_tsXKeyPad Struct Reference 197
8.23.2.6 nGlowKeyInd
int16_t gslc_tsXKeyPad::nGlowKeyInd
8.23.2.7 nScrollPos
uint8_t gslc_tsXKeyPad::nScrollPos
8.23.2.8 pConfig
gslc_tsXKeyPadCfg∗ gslc_tsXKeyPad::pConfig
8.23.2.9 pfuncCb
GSLC_CB_INPUT gslc_tsXKeyPad::pfuncCb
8.23.2.10 pTargetRef
gslc_tsElemRef∗ gslc_tsXKeyPad::pTargetRef
8.23.2.11 sRedraw
gslc_tsXKeyPadResult gslc_tsXKeyPad::sRedraw
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
Generated by Doxygen
198 Data Structure Documentation
#include <XKeyPad.h>
pLayouts
pfuncBtnEvt pfuncStyleGet
pLayout
gslc_tsXKeyPadCfg
Data Fields
• uint8_t nDispMax
Maximum length to display.
• bool bRoundEn
Enable rounded corners.
• int8_t nButtonSzW
Button width (in pixels)
• int8_t nButtonSzH
Button height (in pixels)
• int8_t nButtonSpaceX
Button X spacing (in pixels)
• int8_t nButtonSpaceY
Button Y spacing (in pixels)
• gslc_tsKey ∗ pLayout
Current selected layout.
• gslc_tsKey ∗∗ pLayouts
Key Positions for each KeyPad layout.
• int8_t eLayoutDef
Default KeyPad layout (type gslc_teXKeyPadSel)
• int8_t eLayoutSel
Current KeyPad layout (type gslc_teXKeyPadSel)
• int16_t nFontId
Configured font for KeyPad labels.
• int16_t nOffsetX
Configured offset (X direction) for buttons from parent container.
• int16_t nOffsetY
Configured offset (Y direction) for buttons from parent container.
Generated by Doxygen
8.24 gslc_tsXKeyPadCfg Struct Reference 199
• int8_t nFrameMargin
Margin around text value field.
• uint8_t nMaxCols
Maximum number of columns to occupy.
• uint8_t nMaxRows
Maximum number of rows to occupy.
• GSLC_CB_XKEYPAD_RESET pfuncReset
Callback function whenever keypad needs to be reset.
• GSLC_CB_XKEYPAD_TXT_INIT pfuncTxtInit
Callback function whenever text string initialized.
• GSLC_CB_XKEYPAD_LABEL_GET pfuncLabelGet
Callback function to get a key label.
• GSLC_CB_XKEYPAD_SYTLE_GET pfuncStyleGet
Callback function to get a key's style.
• GSLC_CB_XKEYPAD_BTN_EVT pfuncBtnEvt
Callback function to handle a key.
8.24.2.1 bRoundEn
bool gslc_tsXKeyPadCfg::bRoundEn
8.24.2.2 eLayoutDef
int8_t gslc_tsXKeyPadCfg::eLayoutDef
8.24.2.3 eLayoutSel
int8_t gslc_tsXKeyPadCfg::eLayoutSel
Generated by Doxygen
200 Data Structure Documentation
8.24.2.4 nButtonSpaceX
int8_t gslc_tsXKeyPadCfg::nButtonSpaceX
8.24.2.5 nButtonSpaceY
int8_t gslc_tsXKeyPadCfg::nButtonSpaceY
8.24.2.6 nButtonSzH
int8_t gslc_tsXKeyPadCfg::nButtonSzH
8.24.2.7 nButtonSzW
int8_t gslc_tsXKeyPadCfg::nButtonSzW
8.24.2.8 nDispMax
uint8_t gslc_tsXKeyPadCfg::nDispMax
8.24.2.9 nFontId
int16_t gslc_tsXKeyPadCfg::nFontId
Generated by Doxygen
8.24 gslc_tsXKeyPadCfg Struct Reference 201
8.24.2.10 nFrameMargin
int8_t gslc_tsXKeyPadCfg::nFrameMargin
8.24.2.11 nMaxCols
uint8_t gslc_tsXKeyPadCfg::nMaxCols
8.24.2.12 nMaxRows
uint8_t gslc_tsXKeyPadCfg::nMaxRows
8.24.2.13 nOffsetX
int16_t gslc_tsXKeyPadCfg::nOffsetX
8.24.2.14 nOffsetY
int16_t gslc_tsXKeyPadCfg::nOffsetY
8.24.2.15 pfuncBtnEvt
GSLC_CB_XKEYPAD_BTN_EVT gslc_tsXKeyPadCfg::pfuncBtnEvt
Generated by Doxygen
202 Data Structure Documentation
8.24.2.16 pfuncLabelGet
GSLC_CB_XKEYPAD_LABEL_GET gslc_tsXKeyPadCfg::pfuncLabelGet
8.24.2.17 pfuncReset
GSLC_CB_XKEYPAD_RESET gslc_tsXKeyPadCfg::pfuncReset
8.24.2.18 pfuncStyleGet
GSLC_CB_XKEYPAD_SYTLE_GET gslc_tsXKeyPadCfg::pfuncStyleGet
8.24.2.19 pfuncTxtInit
GSLC_CB_XKEYPAD_TXT_INIT gslc_tsXKeyPadCfg::pfuncTxtInit
8.24.2.20 pLayout
gslc_tsKey∗ gslc_tsXKeyPadCfg::pLayout
8.24.2.21 pLayouts
gslc_tsKey∗∗ gslc_tsXKeyPadCfg::pLayouts
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
Generated by Doxygen
8.25 gslc_tsXKeyPadCfg_Alpha Struct Reference 203
#include <XKeyPad_Alpha.h>
pLayouts
pfuncBtnEvt pfuncStyleGet
pLayout
gslc_tsXKeyPadCfg
sBaseCfg
gslc_tsXKeyPadCfg_Alpha
Data Fields
• gslc_tsXKeyPadCfg sBaseCfg
KeyPad base config struct.
8.25.1.1 sBaseCfg
gslc_tsXKeyPadCfg gslc_tsXKeyPadCfg_Alpha::sBaseCfg
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad_Alpha.h
Generated by Doxygen
204 Data Structure Documentation
#include <XKeyPad_Num.h>
pLayouts
pfuncBtnEvt pfuncStyleGet
pLayout
gslc_tsXKeyPadCfg
sBaseCfg
gslc_tsXKeyPadCfg_Num
Data Fields
• gslc_tsXKeyPadCfg sBaseCfg
KeyPad base config struct.
• bool bFloatEn
Enable floating point (ie. decimal point)
• bool bSignEn
Enable negative numbers.
• bool bValPositive
Is the current value positive? (1=positive, 0=negative)
• bool bValDecimalPt
Does the current value include a decimal point?
8.26.1.1 bFloatEn
bool gslc_tsXKeyPadCfg_Num::bFloatEn
Generated by Doxygen
8.27 gslc_tsXKeyPadData Struct Reference 205
8.26.1.2 bSignEn
bool gslc_tsXKeyPadCfg_Num::bSignEn
8.26.1.3 bValDecimalPt
bool gslc_tsXKeyPadCfg_Num::bValDecimalPt
8.26.1.4 bValPositive
bool gslc_tsXKeyPadCfg_Num::bValPositive
8.26.1.5 sBaseCfg
gslc_tsXKeyPadCfg gslc_tsXKeyPadCfg_Num::sBaseCfg
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad_Num.h
#include <XKeyPad.h>
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pTargetRef pElemRefParent pElem pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
gslc_tsXKeyPadData gslc_tsElem
Generated by Doxygen
206 Data Structure Documentation
Data Fields
• char ∗ pStr
Final value of edited value field.
• gslc_tsElemRef ∗ pTargetRef
Target element reference to receive the value.
• This struct is returned in GSLC_CB_INPUT when the KeyPad edits are complete, and is used to provide the
resulting edited value.
8.27.2.1 pStr
char∗ gslc_tsXKeyPadData::pStr
8.27.2.2 pTargetRef
gslc_tsElemRef∗ gslc_tsXKeyPadData::pTargetRef
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
#include <XKeyPad.h>
Generated by Doxygen
8.28 gslc_tsXKeyPadResult Struct Reference 207
Data Fields
• int16_t eRedrawState
XKeyPad pending redraw state.
• int16_t nRedrawKeyId1
XKeyPad specific key (#1) to redraw (-1 for none)
• int16_t nRedrawKeyId2
XKeyPad specific key (#2) to redraw (-1 for none)
8.28.2.1 eRedrawState
int16_t gslc_tsXKeyPadResult::eRedrawState
8.28.2.2 nRedrawKeyId1
int16_t gslc_tsXKeyPadResult::nRedrawKeyId1
8.28.2.3 nRedrawKeyId2
int16_t gslc_tsXKeyPadResult::nRedrawKeyId2
The documentation for this struct was generated from the following file:
• src/elem/XKeyPad.h
Generated by Doxygen
208 Data Structure Documentation
#include <XListbox.h>
gslc_tsColor
colGap
gslc_tsXListbox
Data Fields
• uint8_t ∗ pBufItems
Buffer containing items.
• uint16_t nBufItemsMax
Max size of buffer containing items.
• uint16_t nBufItemsPos
Current buffer position.
• int16_t nItemCnt
Number of items in the list.
• int8_t nCols
Number of columns.
• int8_t nRows
Number of columns (or XLSITBOX_SIZE_AUTO to calculate)
• bool bNeedRecalc
Determine if sizing may need recalc.
• int8_t nMarginW
Margin inside main listbox area (X offset)
• int8_t nMarginH
Margin inside main listbox area (Y offset)
• int16_t nItemW
Width of listbox item.
• int16_t nItemH
Height of listbox item.
• int8_t nItemGap
Gap between listbox items.
• gslc_tsColor colGap
Gap color.
Generated by Doxygen
8.29 gslc_tsXListbox Struct Reference 209
• bool bItemAutoSizeW
Enable auto-sizing of items (in width)
• bool bItemAutoSizeH
Enable auto-sizing of items (in height)
• int16_t nItemCurSel
Currently selected item (XLISTBOX_SEL_NONE for none)
• int16_t nItemCurSelLast
Old selected item to redraw (XLISTBOX_SEL_NONE for none)
• int16_t nItemSavedSel
Persistent selected item (ie. saved selection)
• int16_t nItemTop
Item to show at top of list after scrolling (0 is default)
• bool bGlowLast
Last glow state.
• bool bFocusLast
Last focus state // TODO: Merge with bGlowLast.
• GSLC_CB_XLISTBOX_SEL pfuncXSel
Callback func ptr for selection update.
8.29.2.1 bFocusLast
bool gslc_tsXListbox::bFocusLast
8.29.2.2 bGlowLast
bool gslc_tsXListbox::bGlowLast
8.29.2.3 bItemAutoSizeH
bool gslc_tsXListbox::bItemAutoSizeH
Generated by Doxygen
210 Data Structure Documentation
8.29.2.4 bItemAutoSizeW
bool gslc_tsXListbox::bItemAutoSizeW
8.29.2.5 bNeedRecalc
bool gslc_tsXListbox::bNeedRecalc
8.29.2.6 colGap
gslc_tsColor gslc_tsXListbox::colGap
Gap color.
8.29.2.7 nBufItemsMax
uint16_t gslc_tsXListbox::nBufItemsMax
8.29.2.8 nBufItemsPos
uint16_t gslc_tsXListbox::nBufItemsPos
8.29.2.9 nCols
int8_t gslc_tsXListbox::nCols
Number of columns.
Generated by Doxygen
8.29 gslc_tsXListbox Struct Reference 211
8.29.2.10 nItemCnt
int16_t gslc_tsXListbox::nItemCnt
8.29.2.11 nItemCurSel
int16_t gslc_tsXListbox::nItemCurSel
8.29.2.12 nItemCurSelLast
int16_t gslc_tsXListbox::nItemCurSelLast
8.29.2.13 nItemGap
int8_t gslc_tsXListbox::nItemGap
8.29.2.14 nItemH
int16_t gslc_tsXListbox::nItemH
8.29.2.15 nItemSavedSel
int16_t gslc_tsXListbox::nItemSavedSel
Generated by Doxygen
212 Data Structure Documentation
8.29.2.16 nItemTop
int16_t gslc_tsXListbox::nItemTop
8.29.2.17 nItemW
int16_t gslc_tsXListbox::nItemW
8.29.2.18 nMarginH
int8_t gslc_tsXListbox::nMarginH
8.29.2.19 nMarginW
int8_t gslc_tsXListbox::nMarginW
8.29.2.20 nRows
int8_t gslc_tsXListbox::nRows
8.29.2.21 pBufItems
uint8_t∗ gslc_tsXListbox::pBufItems
Generated by Doxygen
8.30 gslc_tsXProgress Struct Reference 213
8.29.2.22 pfuncXSel
GSLC_CB_XLISTBOX_SEL gslc_tsXListbox::pfuncXSel
The documentation for this struct was generated from the following file:
• src/elem/XListbox.h
#include <XProgress.h>
gslc_tsColor
colGauge
gslc_tsXProgress
Data Fields
• int16_t nMin
Minimum control value.
• int16_t nMax
Maximum control value.
• int16_t nVal
Current control value.
• int16_t nValLast
Last value.
• bool bValLastValid
Last value valid?
• gslc_tsColor colGauge
Color of gauge fill bar.
• bool bVert
Vertical if true, else Horizontal.
• bool bFlip
Reverse direction of gauge.
Generated by Doxygen
214 Data Structure Documentation
8.30.2.1 bFlip
bool gslc_tsXProgress::bFlip
8.30.2.2 bValLastValid
bool gslc_tsXProgress::bValLastValid
8.30.2.3 bVert
bool gslc_tsXProgress::bVert
8.30.2.4 colGauge
gslc_tsColor gslc_tsXProgress::colGauge
8.30.2.5 nMax
int16_t gslc_tsXProgress::nMax
Generated by Doxygen
8.31 gslc_tsXRadial Struct Reference 215
8.30.2.6 nMin
int16_t gslc_tsXProgress::nMin
8.30.2.7 nVal
int16_t gslc_tsXProgress::nVal
8.30.2.8 nValLast
int16_t gslc_tsXProgress::nValLast
Last value.
The documentation for this struct was generated from the following file:
• src/elem/XProgress.h
#include <XRadial.h>
gslc_tsColor
colGauge
colTick
gslc_tsXRadial
Generated by Doxygen
216 Data Structure Documentation
Data Fields
• int16_t nMin
Minimum control value.
• int16_t nMax
Maximum control value.
• int16_t nVal
Current control value.
• int16_t nValLast
Last value.
• bool bValLastValid
Last value valid?
• gslc_tsColor colGauge
Color of gauge fill bar.
• gslc_tsColor colTick
Color of gauge tick marks.
• uint16_t nTickCnt
Number of gauge tick marks.
• uint16_t nTickLen
Length of gauge tick marks.
• bool bFlip
Reverse direction of gauge.
• uint16_t nIndicLen
Indicator length.
• uint16_t nIndicTip
Size of tip at end of indicator.
• bool bIndicFill
Fill the indicator if true.
8.31.2.1 bFlip
bool gslc_tsXRadial::bFlip
Generated by Doxygen
8.31 gslc_tsXRadial Struct Reference 217
8.31.2.2 bIndicFill
bool gslc_tsXRadial::bIndicFill
8.31.2.3 bValLastValid
bool gslc_tsXRadial::bValLastValid
8.31.2.4 colGauge
gslc_tsColor gslc_tsXRadial::colGauge
8.31.2.5 colTick
gslc_tsColor gslc_tsXRadial::colTick
8.31.2.6 nIndicLen
uint16_t gslc_tsXRadial::nIndicLen
Indicator length.
8.31.2.7 nIndicTip
uint16_t gslc_tsXRadial::nIndicTip
Generated by Doxygen
218 Data Structure Documentation
8.31.2.8 nMax
int16_t gslc_tsXRadial::nMax
8.31.2.9 nMin
int16_t gslc_tsXRadial::nMin
8.31.2.10 nTickCnt
uint16_t gslc_tsXRadial::nTickCnt
8.31.2.11 nTickLen
uint16_t gslc_tsXRadial::nTickLen
8.31.2.12 nVal
int16_t gslc_tsXRadial::nVal
8.31.2.13 nValLast
int16_t gslc_tsXRadial::nValLast
Last value.
The documentation for this struct was generated from the following file:
• src/elem/XRadial.h
Generated by Doxygen
8.32 gslc_tsXRamp Struct Reference 219
#include <XRamp.h>
Data Fields
• int16_t nMin
Minimum control value.
• int16_t nMax
Maximum control value.
• int16_t nVal
Current control value.
• int16_t nValLast
Last value.
• bool bValLastValid
Last value valid?
8.32.2.1 bValLastValid
bool gslc_tsXRamp::bValLastValid
8.32.2.2 nMax
int16_t gslc_tsXRamp::nMax
Generated by Doxygen
220 Data Structure Documentation
8.32.2.3 nMin
int16_t gslc_tsXRamp::nMin
8.32.2.4 nVal
int16_t gslc_tsXRamp::nVal
8.32.2.5 nValLast
int16_t gslc_tsXRamp::nValLast
Last value.
The documentation for this struct was generated from the following file:
• src/elem/XRamp.h
#include <XRingGauge.h>
gslc_tsColor
colRing1
colRingRemain
colRing2
gslc_tsXRingGauge
Generated by Doxygen
8.33 gslc_tsXRingGauge Struct Reference 221
Data Fields
• int16_t nValMin
• int16_t nValMax
• int16_t nAngStart
• int16_t nAngRange
• int16_t nQuality
• int8_t nThickness
• bool bGradient
• uint8_t nSegGap
• gslc_tsColor colRing1
• gslc_tsColor colRing2
• gslc_tsColor colRingRemain
• int16_t nVal
Current position value.
• int16_t nValLast
Previous position value.
• char acStrLast [XRING_STR_MAX]
8.33.2.1 acStrLast
char gslc_tsXRingGauge::acStrLast[XRING_STR_MAX]
8.33.2.2 bGradient
bool gslc_tsXRingGauge::bGradient
8.33.2.3 colRing1
gslc_tsColor gslc_tsXRingGauge::colRing1
Generated by Doxygen
222 Data Structure Documentation
8.33.2.4 colRing2
gslc_tsColor gslc_tsXRingGauge::colRing2
8.33.2.5 colRingRemain
gslc_tsColor gslc_tsXRingGauge::colRingRemain
8.33.2.6 nAngRange
int16_t gslc_tsXRingGauge::nAngRange
8.33.2.7 nAngStart
int16_t gslc_tsXRingGauge::nAngStart
8.33.2.8 nQuality
int16_t gslc_tsXRingGauge::nQuality
8.33.2.9 nSegGap
uint8_t gslc_tsXRingGauge::nSegGap
8.33.2.10 nThickness
int8_t gslc_tsXRingGauge::nThickness
Generated by Doxygen
8.34 gslc_tsXSeekbar Struct Reference 223
8.33.2.11 nVal
int16_t gslc_tsXRingGauge::nVal
8.33.2.12 nValLast
int16_t gslc_tsXRingGauge::nValLast
8.33.2.13 nValMax
int16_t gslc_tsXRingGauge::nValMax
8.33.2.14 nValMin
int16_t gslc_tsXRingGauge::nValMin
The documentation for this struct was generated from the following file:
• src/elem/XRingGauge.h
#include <XSeekbar.h>
Collaboration diagram for gslc_tsXSeekbar:
gslc_tsColor
colRemain
colTrim
colTick
colThumb
colFrame
colProgress
gslc_tsXSeekbar
Generated by Doxygen
224 Data Structure Documentation
Data Fields
• bool bVert
Orientation: true if vertical, else horizontal.
• uint8_t nProgressW
Width of progress track.
• uint8_t nRemainW
Width of remaining track.
• uint8_t nThumbSz
Size of the thumb control.
• int16_t nPosMin
Minimum position value of the slider.
• int16_t nPosMax
Maximum position value of the slider.
• gslc_tsColor colProgress
Style: color of progress fill bar.
• gslc_tsColor colRemain
Style: color remaining fill bar.
• gslc_tsColor colThumb
Style: color of thumb.
• uint16_t nTickDiv
Style: number of tickmark divisions (0 for none)
• int16_t nTickLen
Style: length of tickmarks.
• gslc_tsColor colTick
Style: color of ticks.
• bool bTrimThumb
Style: show a trim color for thumb.
• gslc_tsColor colTrim
Style: color of trim.
• bool bFrameThumb
Style: draw frame around thumb.
• gslc_tsColor colFrame
Style: color of trim.
• int16_t nPos
Current position value of the slider.
• GSLC_CB_XSEEKBAR_POS pfuncXPos
Callback func ptr for position update.
Generated by Doxygen
8.34 gslc_tsXSeekbar Struct Reference 225
8.34.2.1 bFrameThumb
bool gslc_tsXSeekbar::bFrameThumb
8.34.2.2 bTrimThumb
bool gslc_tsXSeekbar::bTrimThumb
8.34.2.3 bVert
bool gslc_tsXSeekbar::bVert
8.34.2.4 colFrame
gslc_tsColor gslc_tsXSeekbar::colFrame
8.34.2.5 colProgress
gslc_tsColor gslc_tsXSeekbar::colProgress
8.34.2.6 colRemain
gslc_tsColor gslc_tsXSeekbar::colRemain
Generated by Doxygen
226 Data Structure Documentation
8.34.2.7 colThumb
gslc_tsColor gslc_tsXSeekbar::colThumb
8.34.2.8 colTick
gslc_tsColor gslc_tsXSeekbar::colTick
8.34.2.9 colTrim
gslc_tsColor gslc_tsXSeekbar::colTrim
8.34.2.10 nPos
int16_t gslc_tsXSeekbar::nPos
8.34.2.11 nPosMax
int16_t gslc_tsXSeekbar::nPosMax
8.34.2.12 nPosMin
int16_t gslc_tsXSeekbar::nPosMin
Generated by Doxygen
8.34 gslc_tsXSeekbar Struct Reference 227
8.34.2.13 nProgressW
uint8_t gslc_tsXSeekbar::nProgressW
8.34.2.14 nRemainW
uint8_t gslc_tsXSeekbar::nRemainW
8.34.2.15 nThumbSz
uint8_t gslc_tsXSeekbar::nThumbSz
8.34.2.16 nTickDiv
uint16_t gslc_tsXSeekbar::nTickDiv
8.34.2.17 nTickLen
int16_t gslc_tsXSeekbar::nTickLen
8.34.2.18 pfuncXPos
GSLC_CB_XSEEKBAR_POS gslc_tsXSeekbar::pfuncXPos
The documentation for this struct was generated from the following file:
• src/elem/XSeekbar.h
Generated by Doxygen
228 Data Structure Documentation
#include <XSelNum.h>
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pElem pElemRefParent pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
pElemRefTracked
gslc_tsElem
asElemRef
asElemRef asElem
gslc_tsCollect asElem
sCollect
gslc_tsXSelNum
Data Fields
• int16_t nCounter
Counter for demo purposes.
• gslc_tsCollect sCollect
Collection management for sub-elements.
• gslc_tsElemRef asElemRef [4]
Storage for sub-element references.
• gslc_tsElem asElem [4]
Storage for sub-elements.
• char acElemTxt [4][SELNUM_STR_LEN]
Storage for strings.
8.35.2.1 acElemTxt
char gslc_tsXSelNum::acElemTxt[4][SELNUM_STR_LEN]
Generated by Doxygen
8.36 gslc_tsXSlider Struct Reference 229
8.35.2.2 asElem
gslc_tsElem gslc_tsXSelNum::asElem[4]
8.35.2.3 asElemRef
gslc_tsElemRef gslc_tsXSelNum::asElemRef[4]
8.35.2.4 nCounter
int16_t gslc_tsXSelNum::nCounter
8.35.2.5 sCollect
gslc_tsCollect gslc_tsXSelNum::sCollect
The documentation for this struct was generated from the following file:
• src/elem/XSelNum.h
#include <XSlider.h>
Collaboration diagram for gslc_tsXSlider:
gslc_tsColor
colTrim
colTick
gslc_tsXSlider
Generated by Doxygen
230 Data Structure Documentation
Data Fields
• bool bVert
Orientation: true if vertical, else horizontal.
• bool bSnapEn
Enable for touch snap behavior.
• int16_t nThumbSz
Size of the thumb control.
• int16_t nPosMin
Minimum position value of the slider.
• int16_t nPosMax
Maximum position value of the slider.
• uint16_t nTickDiv
Style: number of tickmark divisions (0 for none)
• int16_t nTickLen
Style: length of tickmarks.
• gslc_tsColor colTick
Style: color of ticks.
• bool bTrim
Style: show a trim color.
• gslc_tsColor colTrim
Style: color of trim.
• int16_t nPos
Current position value of the slider.
• GSLC_CB_XSLIDER_POS pfuncXPos
Callback func ptr for position update.
8.36.2.1 bSnapEn
bool gslc_tsXSlider::bSnapEn
8.36.2.2 bTrim
bool gslc_tsXSlider::bTrim
Generated by Doxygen
8.36 gslc_tsXSlider Struct Reference 231
8.36.2.3 bVert
bool gslc_tsXSlider::bVert
8.36.2.4 colTick
gslc_tsColor gslc_tsXSlider::colTick
8.36.2.5 colTrim
gslc_tsColor gslc_tsXSlider::colTrim
8.36.2.6 nPos
int16_t gslc_tsXSlider::nPos
8.36.2.7 nPosMax
int16_t gslc_tsXSlider::nPosMax
8.36.2.8 nPosMin
int16_t gslc_tsXSlider::nPosMin
Generated by Doxygen
232 Data Structure Documentation
8.36.2.9 nThumbSz
int16_t gslc_tsXSlider::nThumbSz
8.36.2.10 nTickDiv
uint16_t gslc_tsXSlider::nTickDiv
8.36.2.11 nTickLen
int16_t gslc_tsXSlider::nTickLen
8.36.2.12 pfuncXPos
GSLC_CB_XSLIDER_POS gslc_tsXSlider::pfuncXPos
The documentation for this struct was generated from the following file:
• src/elem/XSlider.h
#include <XSpinner.h>
Collaboration diagram for gslc_tsXSpinner:
colElemFill
colElemFillGlow
sImgRefGlow colElemFrame
pElem pElemRefParent pfuncXEvent rElem pTxtFont
sImgRefNorm colElemTextGlow
colElemText
colElemFrameGlow
pElemRefTracked
gslc_tsElem
asElemRef
pElemRef
asElem
asElemRef
gslc_tsCollect asElem
sCollect
gslc_tsXSpinner
Generated by Doxygen
8.37 gslc_tsXSpinner Struct Reference 233
Data Fields
• int16_t nMin
Minimum control value.
• int16_t nMax
Maximum control value.
• int16_t nIncr
Increment by value.
• int16_t nCounter
Current value.
• GSLC_CB_INPUT pfuncXInput
Callback func ptr for input ready.
• gslc_tsElemRef ∗ pElemRef
Save our ElemRef for the callback.
• gslc_tsCollect sCollect
Collection management for sub-elements.
• gslc_tsElemRef asElemRef [XSPINNER_COMP_CNT]
Storage for sub-element references.
• gslc_tsElem asElem [XSPINNER_COMP_CNT]
Storage for sub-elements.
• char acElemTxt [1][XSPINNER_STR_LEN]
Storage for strings.
• char acIncr [2]
Increment character string.
• char acDecr [2]
Decrement character string.
8.37.2.1 acDecr
char gslc_tsXSpinner::acDecr[2]
8.37.2.2 acElemTxt
char gslc_tsXSpinner::acElemTxt[1][XSPINNER_STR_LEN]
Generated by Doxygen
234 Data Structure Documentation
8.37.2.3 acIncr
char gslc_tsXSpinner::acIncr[2]
8.37.2.4 asElem
gslc_tsElem gslc_tsXSpinner::asElem[XSPINNER_COMP_CNT]
8.37.2.5 asElemRef
gslc_tsElemRef gslc_tsXSpinner::asElemRef[XSPINNER_COMP_CNT]
8.37.2.6 nCounter
int16_t gslc_tsXSpinner::nCounter
Current value.
8.37.2.7 nIncr
int16_t gslc_tsXSpinner::nIncr
Increment by value.
8.37.2.8 nMax
int16_t gslc_tsXSpinner::nMax
Generated by Doxygen
8.38 gslc_tsXTemplate Struct Reference 235
8.37.2.9 nMin
int16_t gslc_tsXSpinner::nMin
8.37.2.10 pElemRef
gslc_tsElemRef∗ gslc_tsXSpinner::pElemRef
8.37.2.11 pfuncXInput
GSLC_CB_INPUT gslc_tsXSpinner::pfuncXInput
8.37.2.12 sCollect
gslc_tsCollect gslc_tsXSpinner::sCollect
The documentation for this struct was generated from the following file:
• src/elem/XSpinner.h
#include <XTemplate.h>
The documentation for this struct was generated from the following file:
• src/elem/XTemplate.h
Generated by Doxygen
236 Data Structure Documentation
#include <XTextbox.h>
Data Fields
• char ∗ pBuf
Ptr to the text buffer (circular buffer))
• int8_t nMarginX
Margin for text area within element rect (X)
• int8_t nMarginY
Margin for text area within element rect (Y)
• bool bWrapEn
Enable for line wrapping.
• uint16_t nBufRows
Number of rows in buffer.
• uint16_t nBufCols
Number of columns in buffer.
• bool bScrollEn
Enable for scrollbar.
• uint16_t nScrollPos
Current scrollbar position.
• uint8_t nChSizeX
Width of characters (pixels)
• uint8_t nChSizeY
Height of characters (pixels)
• uint8_t nWndCols
Window X size.
• uint8_t nWndRows
Window Y size.
• uint8_t nCurPosX
Cursor X position.
• uint8_t nCurPosY
Cursor Y position.
• uint8_t nBufPosX
Buffer X position.
• uint8_t nBufPosY
Buffer Y position.
• uint8_t nWndRowStart
First row of current window.
• int16_t nRedrawRow
Specific row to update in redraw (if not -1)
Generated by Doxygen
8.39 gslc_tsXTextbox Struct Reference 237
8.39.2.1 bScrollEn
bool gslc_tsXTextbox::bScrollEn
8.39.2.2 bWrapEn
bool gslc_tsXTextbox::bWrapEn
8.39.2.3 nBufCols
uint16_t gslc_tsXTextbox::nBufCols
8.39.2.4 nBufPosX
uint8_t gslc_tsXTextbox::nBufPosX
Buffer X position.
8.39.2.5 nBufPosY
uint8_t gslc_tsXTextbox::nBufPosY
Buffer Y position.
Generated by Doxygen
238 Data Structure Documentation
8.39.2.6 nBufRows
uint16_t gslc_tsXTextbox::nBufRows
8.39.2.7 nChSizeX
uint8_t gslc_tsXTextbox::nChSizeX
8.39.2.8 nChSizeY
uint8_t gslc_tsXTextbox::nChSizeY
8.39.2.9 nCurPosX
uint8_t gslc_tsXTextbox::nCurPosX
Cursor X position.
8.39.2.10 nCurPosY
uint8_t gslc_tsXTextbox::nCurPosY
Cursor Y position.
8.39.2.11 nMarginX
int8_t gslc_tsXTextbox::nMarginX
Generated by Doxygen
8.39 gslc_tsXTextbox Struct Reference 239
8.39.2.12 nMarginY
int8_t gslc_tsXTextbox::nMarginY
8.39.2.13 nRedrawRow
int16_t gslc_tsXTextbox::nRedrawRow
8.39.2.14 nScrollPos
uint16_t gslc_tsXTextbox::nScrollPos
8.39.2.15 nWndCols
uint8_t gslc_tsXTextbox::nWndCols
Window X size.
8.39.2.16 nWndRows
uint8_t gslc_tsXTextbox::nWndRows
Window Y size.
8.39.2.17 nWndRowStart
uint8_t gslc_tsXTextbox::nWndRowStart
Generated by Doxygen
240 Data Structure Documentation
8.39.2.18 pBuf
char∗ gslc_tsXTextbox::pBuf
The documentation for this struct was generated from the following file:
• src/elem/XTextbox.h
#include <XTogglebtn.h>
gslc_tsColor
colOffState
colOnState
colThumb
gslc_tsXTogglebtn
Data Fields
• bool bOn
Indicates if button is ON or OFF.
• int16_t nMyPageId
We need to track our page in case of grouping elements on a non current layer, like base layer.
• gslc_tsColor colThumb
Color of thumb.
• gslc_tsColor colOnState
Color of button in ON state.
• gslc_tsColor colOffState
Color of button in OFF state.
• bool bCircular
Style of the toggle button circular or rectangular.
• GSLC_CB_TOUCH pfunctUser
User's Callback event to say element has changed.
Generated by Doxygen
8.40 gslc_tsXTogglebtn Struct Reference 241
8.40.2.1 bCircular
bool gslc_tsXTogglebtn::bCircular
8.40.2.2 bOn
bool gslc_tsXTogglebtn::bOn
8.40.2.3 colOffState
gslc_tsColor gslc_tsXTogglebtn::colOffState
8.40.2.4 colOnState
gslc_tsColor gslc_tsXTogglebtn::colOnState
8.40.2.5 colThumb
gslc_tsColor gslc_tsXTogglebtn::colThumb
Color of thumb.
Generated by Doxygen
242 Data Structure Documentation
8.40.2.6 nMyPageId
int16_t gslc_tsXTogglebtn::nMyPageId
We need to track our page in case of grouping elements on a non current layer, like base layer.
8.40.2.7 pfunctUser
GSLC_CB_TOUCH gslc_tsXTogglebtn::pfunctUser
The documentation for this struct was generated from the following file:
• src/elem/XTogglebtn.h
#include <XToggleImgbtn.h>
Data Fields
• bool bOn
Indicates if button is ON or OFF.
• int16_t nMyPageId
We need to track our page in case of grouping elements on a non current layer, like base layer.
• GSLC_CB_TOUCH pfunctUser
User's Callback event to say element has changed.
8.41.2.1 bOn
bool gslc_tsXToggleImgbtn::bOn
Generated by Doxygen
8.42 THPoint Class Reference 243
8.41.2.2 nMyPageId
int16_t gslc_tsXToggleImgbtn::nMyPageId
We need to track our page in case of grouping elements on a non current layer, like base layer.
8.41.2.3 pfunctUser
GSLC_CB_TOUCH gslc_tsXToggleImgbtn::pfunctUser
The documentation for this struct was generated from the following file:
• src/elem/XToggleImgbtn.h
#include <GUIslice_th.h>
• THPoint (void)
• THPoint (uint16_t x, uint16_t y, uint16_t z)
• bool operator== (THPoint)
• bool operator!= (THPoint)
Data Fields
• uint16_t x
• uint16_t y
• uint16_t z
THPoint::THPoint (
void )
Generated by Doxygen
244 Data Structure Documentation
THPoint::THPoint (
uint16_t x,
uint16_t y,
uint16_t z )
8.42.2.1 operator"!=()
bool THPoint::operator!= (
THPoint p1 )
8.42.2.2 operator==()
bool THPoint::operator== (
THPoint p1 )
8.42.3.1 x
uint16_t THPoint::x
8.42.3.2 y
uint16_t THPoint::y
8.42.3.3 z
uint16_t THPoint::z
The documentation for this class was generated from the following files:
• src/GUIslice_th.h
• src/GUIslice_th.cpp
Generated by Doxygen
8.43 TouchHandler Class Reference 245
#include <GUIslice_th.h>
TouchHandler
TouchHandler_XPT2046
• TouchHandler ()
• void setSize (uint16_t _disp_xSize, uint16_t _disp_ySize)
• void setCalibration (uint16_t ts_xMin, uint16_t ts_xMax, uint16_t ts_yMin, uint16_t ts_yMax)
• void setSwapFlip (bool _swapXY, bool _flipX, bool _flipY)
• THPoint scale (THPoint pIn)
• virtual void begin (void)
• virtual THPoint getPoint (void)
8.43.1.1 TouchHandler()
TouchHandler::TouchHandler ( ) [inline]
8.43.2.1 begin()
void TouchHandler::begin (
void ) [virtual]
Reimplemented in TouchHandler_XPT2046.
Generated by Doxygen
246 Data Structure Documentation
8.43.2.2 getPoint()
THPoint TouchHandler::getPoint (
void ) [virtual]
Reimplemented in TouchHandler_XPT2046.
8.43.2.3 scale()
THPoint TouchHandler::scale (
THPoint pIn )
8.43.2.4 setCalibration()
void TouchHandler::setCalibration (
uint16_t ts_xMin,
uint16_t ts_xMax,
uint16_t ts_yMin,
uint16_t ts_yMax )
8.43.2.5 setSize()
void TouchHandler::setSize (
uint16_t _disp_xSize,
uint16_t _disp_ySize )
8.43.2.6 setSwapFlip()
void TouchHandler::setSwapFlip (
bool _swapXY,
bool _flipX,
bool _flipY )
The documentation for this class was generated from the following files:
• src/GUIslice_th.h
• src/GUIslice_th.cpp
Generated by Doxygen
8.44 TouchHandler_XPT2046 Class Reference 247
#include <GUIslice_th_XPT2046.h>
TouchHandler
TouchHandler_XPT2046
TouchHandler
TouchHandler_XPT2046
Data Fields
• SPIClass spi
• XPT2046_touch touchDriver
Generated by Doxygen
248 Data Structure Documentation
8.44.1.1 TouchHandler_XPT2046()
TouchHandler_XPT2046::TouchHandler_XPT2046 (
SPIClass & spi,
uint8_t spi_cs_pin ) [inline]
8.44.2.1 begin()
void TouchHandler_XPT2046::begin (
void ) [inline], [virtual]
8.44.2.2 getPoint()
THPoint TouchHandler_XPT2046::getPoint (
void ) [inline], [virtual]
8.44.3.1 spi
SPIClass TouchHandler_XPT2046::spi
8.44.3.2 touchDriver
XPT2046_touch TouchHandler_XPT2046::touchDriver
The documentation for this class was generated from the following file:
• src/GUIslice_th_XPT2046.h
Generated by Doxygen
Chapter 9
File Documentation
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XCheckbox.h"
#include <stdio.h>
Include dependency graph for XCheckbox.c:
src/elem/XCheckbox.c
GUIslice_drv.h elem/XCheckbox.h
GUIslice.h
Functions
Variables
9.2.1.1 gslc_ElemXCheckboxCreate()
gslc_tsElemRef∗ gslc_ElemXCheckboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXCheckbox ∗ pXData,
gslc_tsRect rElem,
bool bRadio,
gslc_teXCheckboxStyle nStyle,
gslc_tsColor colCheck,
bool bChecked )
Parameters
Returns
9.2.1.2 gslc_ElemXCheckboxDraw()
bool gslc_ElemXCheckboxDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.2.1.3 gslc_ElemXCheckboxFindChecked()
gslc_tsElemRef∗ gslc_ElemXCheckboxFindChecked (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Parameters
Returns
Generated by Doxygen
252 File Documentation
9.2.1.4 gslc_ElemXCheckboxGetState()
bool gslc_ElemXCheckboxGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Current state
9.2.1.5 gslc_ElemXCheckboxSetState()
void gslc_ElemXCheckboxSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bChecked )
Parameters
Returns
none
9.2.1.6 gslc_ElemXCheckboxSetStateFunc()
void gslc_ElemXCheckboxSetStateFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XCHECKBOX pfuncCb )
Generated by Doxygen
9.2 src/elem/XCheckbox.c File Reference 253
Parameters
Returns
none
9.2.1.7 gslc_ElemXCheckboxSetStateHelp()
void gslc_ElemXCheckboxSetStateHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bChecked,
bool bDoCb )
9.2.1.8 gslc_ElemXCheckboxToggleState()
void gslc_ElemXCheckboxToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.2.1.9 gslc_ElemXCheckboxTouch()
bool gslc_ElemXCheckboxTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Generated by Doxygen
254 File Documentation
Parameters
Returns
9.2.2.1 ERRSTR_NULL
9.2.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XCheckbox.h:
src/elem/XCheckbox.h
GUIslice.h
Generated by Doxygen
9.3 src/elem/XCheckbox.h File Reference 255
This graph shows which files directly or indirectly include this file:
src/elem/XCheckbox.h
src/elem/XCheckbox.c src/GUIslice_ex.h
Data Structures
• struct gslc_tsXCheckbox
Extended data for Checkbox element.
Macros
• #define GSLC_TYPEX_CHECKBOX
• #define gslc_ElemXCheckboxCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, colFill, bFillEn, nGroup, b←-
Radio_, nStyle_, colCheck_, bChecked_)
Create a Checkbox or Radio button Element in Flash.
Typedefs
• typedef bool(∗ GSLC_CB_XCHECKBOX) (void ∗pvGui, void ∗pvElemRef, int16_t nSelId, bool bChecked)
Callback function for checkbox/radio element state change.
Enumerations
Functions
Generated by Doxygen
256 File Documentation
9.3.1.1 gslc_ElemXCheckboxCreate_P
#define gslc_ElemXCheckboxCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
colFill,
bFillEn,
nGroup,
bRadio_,
nStyle_,
colCheck_,
bChecked_ )
Parameters
Generated by Doxygen
9.3 src/elem/XCheckbox.h File Reference 257
Parameters
Returns
none
9.3.1.2 GSLC_TYPEX_CHECKBOX
#define GSLC_TYPEX_CHECKBOX
9.3.2.1 GSLC_CB_XCHECKBOX
typedef bool(∗ GSLC_CB_XCHECKBOX) (void ∗pvGui, void ∗pvElemRef, int16_t nSelId, bool bChecked)
9.3.3.1 gslc_teXCheckboxStyle
enum gslc_teXCheckboxStyle
Enumerator
9.3.4.1 gslc_ElemXCheckboxCreate()
gslc_tsElemRef∗ gslc_ElemXCheckboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXCheckbox ∗ pXData,
gslc_tsRect rElem,
bool bRadio,
gslc_teXCheckboxStyle nStyle,
gslc_tsColor colCheck,
bool bChecked )
Parameters
Returns
9.3.4.2 gslc_ElemXCheckboxDraw()
bool gslc_ElemXCheckboxDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.3 src/elem/XCheckbox.h File Reference 259
Parameters
Returns
9.3.4.3 gslc_ElemXCheckboxFindChecked()
gslc_tsElemRef∗ gslc_ElemXCheckboxFindChecked (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Parameters
Returns
9.3.4.4 gslc_ElemXCheckboxGetState()
bool gslc_ElemXCheckboxGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Current state
Generated by Doxygen
260 File Documentation
9.3.4.5 gslc_ElemXCheckboxSetState()
void gslc_ElemXCheckboxSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bChecked )
Parameters
Returns
none
9.3.4.6 gslc_ElemXCheckboxSetStateFunc()
void gslc_ElemXCheckboxSetStateFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XCHECKBOX pfuncCb )
Parameters
Returns
none
9.3.4.7 gslc_ElemXCheckboxToggleState()
void gslc_ElemXCheckboxToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
9.4 src/elem/XGauge.c File Reference 261
Parameters
Returns
none
9.3.4.8 gslc_ElemXCheckboxTouch()
bool gslc_ElemXCheckboxTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XGauge.h"
#include <stdio.h>
#include <math.h>
Generated by Doxygen
262 File Documentation
src/elem/XGauge.c
GUIslice.h
Functions
Variables
Generated by Doxygen
9.4 src/elem/XGauge.c File Reference 263
9.4.1.1 gslc_ElemXGaugeCreate()
gslc_tsElemRef∗ gslc_ElemXGaugeCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGauge ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
• Default appearance is a horizontal progress bar, but can be changed with gslc_ElemXGaugeSetStyle())
Parameters
Returns
9.4.1.2 gslc_ElemXGaugeDraw()
bool gslc_ElemXGaugeDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
264 File Documentation
Parameters
Returns
9.4.1.3 gslc_ElemXGaugeDrawProgressBar()
bool gslc_ElemXGaugeDrawProgressBar (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.4.1.4 gslc_ElemXGaugeSetFlip()
void gslc_ElemXGaugeSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Generated by Doxygen
9.4 src/elem/XGauge.c File Reference 265
Parameters
Returns
none
9.4.1.5 gslc_ElemXGaugeSetIndicator()
void gslc_ElemXGaugeSetIndicator (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge,
uint16_t nIndicLen,
uint16_t nIndicTip,
bool bIndicFill )
Parameters
Returns
none
9.4.1.6 gslc_ElemXGaugeSetStyle()
void gslc_ElemXGaugeSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teXGaugeStyle nType )
• This function is used to select between one of several gauge types (eg. progress bar, radial dial, etc.)
Generated by Doxygen
266 File Documentation
Parameters
Returns
none
9.4.1.7 gslc_ElemXGaugeSetTicks()
void gslc_ElemXGaugeSetTicks (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colTick,
uint16_t nTickCnt,
uint16_t nTickLen )
Parameters
Returns
none
9.4.1.8 gslc_ElemXGaugeUpdate()
void gslc_ElemXGaugeUpdate (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Generated by Doxygen
9.5 src/elem/XGauge.h File Reference 267
Parameters
Returns
none
9.4.2.1 ERRSTR_NULL
9.4.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XGauge.h:
src/elem/XGauge.h
GUIslice.h
Generated by Doxygen
268 File Documentation
This graph shows which files directly or indirectly include this file:
src/elem/XGauge.h
src/elem/XGauge.c src/GUIslice_ex.h
Data Structures
• struct gslc_tsXGauge
Extended data for Gauge element.
Macros
• #define GSLC_TYPEX_GAUGE
• #define gslc_ElemXGaugeCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nMin_, nMax_, nVal_, col←-
Frame_, colFill_, colGauge_, bVert_)
Create a Gauge Element in Flash.
Enumerations
Functions
Generated by Doxygen
9.5 src/elem/XGauge.h File Reference 269
9.5.1.1 gslc_ElemXGaugeCreate_P
#define gslc_ElemXGaugeCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nMin_,
nMax_,
nVal_,
colFrame_,
colFill_,
colGauge_,
bVert_ )
Parameters
Generated by Doxygen
270 File Documentation
Returns
none
9.5.1.2 GSLC_TYPEX_GAUGE
#define GSLC_TYPEX_GAUGE
9.5.2.1 gslc_teXGaugeStyle
enum gslc_teXGaugeStyle
Enumerator
9.5.3.1 gslc_ElemXGaugeCreate()
gslc_tsElemRef∗ gslc_ElemXGaugeCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGauge ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
Generated by Doxygen
9.5 src/elem/XGauge.h File Reference 271
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
• Default appearance is a horizontal progress bar, but can be changed with gslc_ElemXGaugeSetStyle())
Parameters
Returns
9.5.3.2 gslc_ElemXGaugeDraw()
bool gslc_ElemXGaugeDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
Generated by Doxygen
272 File Documentation
9.5.3.3 gslc_ElemXGaugeDrawProgressBar()
bool gslc_ElemXGaugeDrawProgressBar (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.5.3.4 gslc_ElemXGaugeSetFlip()
void gslc_ElemXGaugeSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Parameters
Returns
none
Generated by Doxygen
9.5 src/elem/XGauge.h File Reference 273
9.5.3.5 gslc_ElemXGaugeSetIndicator()
void gslc_ElemXGaugeSetIndicator (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge,
uint16_t nIndicLen,
uint16_t nIndicTip,
bool bIndicFill )
Parameters
Returns
none
9.5.3.6 gslc_ElemXGaugeSetStyle()
void gslc_ElemXGaugeSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teXGaugeStyle nType )
• This function is used to select between one of several gauge types (eg. progress bar, radial dial, etc.)
Parameters
Returns
none
Generated by Doxygen
274 File Documentation
9.5.3.7 gslc_ElemXGaugeSetTicks()
void gslc_ElemXGaugeSetTicks (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colTick,
uint16_t nTickCnt,
uint16_t nTickLen )
Parameters
Returns
none
9.5.3.8 gslc_ElemXGaugeUpdate()
void gslc_ElemXGaugeUpdate (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
#include "GUIslice.h"
Generated by Doxygen
9.6 src/elem/XGlowball.c File Reference 275
#include "GUIslice_drv.h"
#include "elem/XGlowball.h"
#include <stdio.h>
Include dependency graph for XGlowball.c:
src/elem/XGlowball.c
GUIslice_drv.h elem/XGlowball.h
GUIslice.h
Functions
Variables
Generated by Doxygen
276 File Documentation
9.6.1.1 drawXGlowball()
void drawXGlowball (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nVal,
uint16_t nAngStart,
uint16_t nAngEnd )
9.6.1.2 drawXGlowballArc()
void drawXGlowballArc (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nRad1,
int16_t nRad2,
gslc_tsColor cArc,
uint16_t nAngStart,
uint16_t nAngEnd )
9.6.1.3 drawXGlowballRing()
void drawXGlowballRing (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nVal,
uint16_t nAngStart,
uint16_t nAngEnd,
bool bErase )
9.6.1.4 gslc_ElemXGlowballCreate()
gslc_tsElemRef∗ gslc_ElemXGlowballCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGlowball ∗ pXData,
int16_t nMidX,
int16_t nMidY,
gslc_tsXGlowballRing ∗ pRings,
uint8_t nNumRings )
Generated by Doxygen
9.6 src/elem/XGlowball.c File Reference 277
Parameters
Returns
9.6.1.5 gslc_ElemXGlowballDraw()
bool gslc_ElemXGlowballDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.6.1.6 gslc_ElemXGlowballSetAngles()
void gslc_ElemXGlowballSetAngles (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nAngStart,
int16_t nAngEnd )
Generated by Doxygen
278 File Documentation
9.6.1.7 gslc_ElemXGlowballSetColorBack()
void gslc_ElemXGlowballSetColorBack (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colBg )
9.6.1.8 gslc_ElemXGlowballSetQuality()
void gslc_ElemXGlowballSetQuality (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nQuality )
9.6.1.9 gslc_ElemXGlowballSetVal()
void gslc_ElemXGlowballSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
9.6.2.1 ERRSTR_NULL
9.6.2.2 ERRSTR_PXD_NULL
Generated by Doxygen
9.7 src/elem/XGlowball.h File Reference 279
#include "GUIslice.h"
Include dependency graph for XGlowball.h:
src/elem/XGlowball.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XGlowball.h
src/elem/XGlowball.c
Data Structures
• struct gslc_tsXGlowballRing
• struct gslc_tsXGlowball
Extended data for Slider element.
Macros
• #define GSLC_TYPEX_GLOW
Functions
Generated by Doxygen
280 File Documentation
9.7.1.1 GSLC_TYPEX_GLOW
#define GSLC_TYPEX_GLOW
9.7.2.1 drawXGlowball()
void drawXGlowball (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nVal,
uint16_t nAngStart,
uint16_t nAngEnd )
9.7.2.2 drawXGlowballArc()
void drawXGlowballArc (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nRad1,
int16_t nRad2,
gslc_tsColor cArc,
uint16_t nAngStart,
uint16_t nAngEnd )
Generated by Doxygen
9.7 src/elem/XGlowball.h File Reference 281
9.7.2.3 drawXGlowballRing()
void drawXGlowballRing (
gslc_tsGui ∗ pGui,
gslc_tsXGlowball ∗ pGlowball,
int16_t nMidX,
int16_t nMidY,
int16_t nVal,
uint16_t nAngStart,
uint16_t nAngEnd,
bool bErase )
9.7.2.4 gslc_ElemXGlowballCreate()
gslc_tsElemRef∗ gslc_ElemXGlowballCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGlowball ∗ pXData,
int16_t nMidX,
int16_t nMidY,
gslc_tsXGlowballRing ∗ pRings,
uint8_t nNumRings )
Parameters
Returns
9.7.2.5 gslc_ElemXGlowballDraw()
bool gslc_ElemXGlowballDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
282 File Documentation
Parameters
Returns
9.7.2.6 gslc_ElemXGlowballSetAngles()
void gslc_ElemXGlowballSetAngles (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nAngStart,
int16_t nAngEnd )
9.7.2.7 gslc_ElemXGlowballSetColorBack()
void gslc_ElemXGlowballSetColorBack (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colBg )
9.7.2.8 gslc_ElemXGlowballSetQuality()
void gslc_ElemXGlowballSetQuality (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nQuality )
9.7.2.9 gslc_ElemXGlowballSetVal()
void gslc_ElemXGlowballSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Generated by Doxygen
9.8 src/elem/XGraph.c File Reference 283
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XGraph.h"
#include <stdio.h>
Include dependency graph for XGraph.c:
src/elem/XGraph.c
GUIslice_drv.h elem/XGraph.h
GUIslice.h
Functions
Variables
Generated by Doxygen
284 File Documentation
9.8.1.1 gslc_ElemXGraphAdd()
void gslc_ElemXGraphAdd (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
9.8.1.2 gslc_ElemXGraphCreate()
gslc_tsElemRef∗ gslc_ElemXGraphCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGraph ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
int16_t ∗ pBuf,
uint16_t nBufRows,
gslc_tsColor colGraph )
Parameters
Generated by Doxygen
9.8 src/elem/XGraph.c File Reference 285
Returns
9.8.1.3 gslc_ElemXGraphDraw()
bool gslc_ElemXGraphDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.8.1.4 gslc_ElemXGraphScrollSet()
void gslc_ElemXGraphScrollSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nScrollPos,
uint8_t nScrollMax )
Parameters
Generated by Doxygen
286 File Documentation
Returns
none
9.8.1.5 gslc_ElemXGraphSetRange()
void gslc_ElemXGraphSetRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nYMin,
int16_t nYMax )
Parameters
Returns
none
9.8.1.6 gslc_ElemXGraphSetStyle()
void gslc_ElemXGraphSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teXGraphStyle eStyle,
uint8_t nMargin )
Parameters
Returns
none
Generated by Doxygen
9.9 src/elem/XGraph.h File Reference 287
9.8.2.1 ERRSTR_NULL
9.8.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XGraph.h:
src/elem/XGraph.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XGraph.h
src/elem/XGraph.c src/GUIslice_ex.h
Generated by Doxygen
288 File Documentation
Data Structures
• struct gslc_tsXGraph
Extended data for Graph element.
Macros
• #define GSLC_TYPEX_GRAPH
Enumerations
• enum gslc_teXGraphStyle { GSLCX_GRAPH_STYLE_DOT, GSLCX_GRAPH_STYLE_LINE, GSLCX_GR←-
APH_STYLE_FILL }
Gauge drawing style.
Functions
• gslc_tsElemRef ∗ gslc_ElemXGraphCreate (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsX←-
Graph ∗pXData, gslc_tsRect rElem, int16_t nFontId, int16_t ∗pBuf, uint16_t nBufRows, gslc_tsColor col←-
Graph)
Create a Graph Element.
• void gslc_ElemXGraphSetStyle (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_teXGraphStyle eStyle,
uint8_t nMargin)
Set the graph's additional drawing characteristics.
• void gslc_ElemXGraphSetRange (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, int16_t nYMin, int16_t n←-
YMax)
Set the graph's drawing range.
• bool gslc_ElemXGraphDraw (void ∗pvGui, void ∗pvElemRef, gslc_teRedrawType eRedraw)
Draw a Graph element on the screen.
• void gslc_ElemXGraphAdd (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, int16_t nVal)
Add a value to the graph at the latest position.
• void gslc_ElemXGraphScrollSet (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, uint8_t nScrollPos, uint8_t
nScrollMax)
Set the graph scroll position (nScrollPos) as a fraction of nScrollMax.
9.9.1.1 GSLC_TYPEX_GRAPH
#define GSLC_TYPEX_GRAPH
9.9.2.1 gslc_teXGraphStyle
enum gslc_teXGraphStyle
Generated by Doxygen
9.9 src/elem/XGraph.h File Reference 289
Enumerator
GSLCX_GRAPH_STYLE_DOT Dot.
GSLCX_GRAPH_STYLE_LINE Line.
GSLCX_GRAPH_STYLE_FILL Filled.
9.9.3.1 gslc_ElemXGraphAdd()
void gslc_ElemXGraphAdd (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
9.9.3.2 gslc_ElemXGraphCreate()
gslc_tsElemRef∗ gslc_ElemXGraphCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXGraph ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
int16_t ∗ pBuf,
uint16_t nBufRows,
gslc_tsColor colGraph )
Parameters
Generated by Doxygen
290 File Documentation
Parameters
Returns
9.9.3.3 gslc_ElemXGraphDraw()
bool gslc_ElemXGraphDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.9.3.4 gslc_ElemXGraphScrollSet()
void gslc_ElemXGraphScrollSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nScrollPos,
uint8_t nScrollMax )
Generated by Doxygen
9.9 src/elem/XGraph.h File Reference 291
Parameters
Returns
none
9.9.3.5 gslc_ElemXGraphSetRange()
void gslc_ElemXGraphSetRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nYMin,
int16_t nYMax )
Parameters
Returns
none
9.9.3.6 gslc_ElemXGraphSetStyle()
void gslc_ElemXGraphSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teXGraphStyle eStyle,
uint8_t nMargin )
Parameters
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XKeyPad.h"
#include <stdio.h>
Include dependency graph for XKeyPad.c:
src/elem/XKeyPad.c
GUIslice_drv.h elem/XKeyPad.h
GUIslice.h
Functions
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 293
Generated by Doxygen
294 File Documentation
Variables
9.10.1.1 gslc_ElemXKeyPadCfgInit()
void gslc_ElemXKeyPadCfgInit (
gslc_tsXKeyPadCfg ∗ pConfig )
• These defaults will be overwritten by variant-specific initialization or through user configuration APIs.
Parameters
Returns
none
9.10.1.2 gslc_ElemXKeyPadCfgSetButtonSpace()
void gslc_ElemXKeyPadCfgSetButtonSpace (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t nSpaceX,
int8_t nSpaceY )
• This defines the inset amount (X and Y) from the Button Size
• A spacing of (1,1) will mean that the button is drawn with a 1 pixel margin around the grid defined by the
Button Size
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 295
Parameters
Returns
none
9.10.1.3 gslc_ElemXKeyPadCfgSetButtonSz()
void gslc_ElemXKeyPadCfgSetButtonSz (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t nButtonSzW,
int8_t nButtonSzH )
Parameters
Returns
none
9.10.1.4 gslc_ElemXKeyPadCfgSetRoundEn()
void gslc_ElemXKeyPadCfgSetRoundEn (
gslc_tsXKeyPadCfg ∗ pConfig,
bool bEn )
Parameters
Generated by Doxygen
296 File Documentation
Returns
none
9.10.1.5 gslc_ElemXKeyPadDataTargetIdGet()
int16_t gslc_ElemXKeyPadDataTargetIdGet (
gslc_tsGui ∗ pGui,
void ∗ pvData )
Parameters
Returns
9.10.1.6 gslc_ElemXKeyPadDataValGet()
char∗ gslc_ElemXKeyPadDataValGet (
gslc_tsGui ∗ pGui,
void ∗ pvData )
Parameters
Returns
9.10.1.7 gslc_ElemXKeyPadInputAsk()
void gslc_ElemXKeyPadInputAsk (
gslc_tsGui ∗ pGui,
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 297
gslc_tsElemRef ∗ pKeyPadRef,
int16_t nPgPopup,
gslc_tsElemRef ∗ pTxtRef )
• This function also updates the maximum KeyPad buffer length to match that of the target text element, up to
the maximum XKEYPAD_BUF_MAX.
Parameters
Returns
none
9.10.1.8 gslc_ElemXKeyPadInputGet()
char∗ gslc_ElemXKeyPadInputGet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pTxtRef,
void ∗ pvCbData )
Complete a KeyPad popup by retrieving the input data and storing it in the text element.
Parameters
Returns
The text string that was fetched from the KeyPad (NULL terminated)
9.10.1.9 gslc_ElemXKeyPadReset()
void gslc_ElemXKeyPadReset (
gslc_tsXKeyPad ∗ pKeyPad )
Generated by Doxygen
298 File Documentation
9.10.1.10 gslc_ElemXKeyPadTargetRefSet()
void gslc_ElemXKeyPadTargetRefSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsElemRef ∗ pTargetRef )
• The Target Reference is used in the GSLC_CB_INPUT callback so that the user has the context needed to
determine which field should be edited with the contents of the KeyPad edit field
• It is expected that the user will call this function when showing the KeyPad popup dialog
Parameters
Returns
none
9.10.1.11 gslc_ElemXKeyPadValGet()
bool gslc_ElemXKeyPadValGet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
char ∗ pStrBuf,
uint8_t nStrBufMax )
Parameters
Returns
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 299
9.10.1.12 gslc_ElemXKeyPadValSet()
void gslc_ElemXKeyPadValSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
const char ∗ pStrBuf )
Parameters
Returns
none
9.10.1.13 gslc_ElemXKeyPadValSetCb()
void gslc_ElemXKeyPadValSetCb (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_INPUT pfuncCb )
Parameters
Returns
none
9.10.1.14 gslc_XKeyPadAdjustScroll()
void gslc_XKeyPadAdjustScroll (
gslc_tsXKeyPad ∗ pKeyPad )
Generated by Doxygen
300 File Documentation
9.10.1.15 gslc_XKeyPadCreateBase()
gslc_tsElemRef∗ gslc_XKeyPadCreateBase (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg ∗ pConfig )
Parameters
Returns
9.10.1.16 gslc_XKeyPadDraw()
bool gslc_XKeyPadDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 301
Returns
9.10.1.17 gslc_XKeyPadDrawKey()
void gslc_XKeyPadDrawKey (
gslc_tsGui ∗ pGui,
gslc_tsXKeyPad ∗ pXData,
gslc_tsKey ∗ pKey,
bool bGlow,
bool bFocus )
Parameters
Returns
none
9.10.1.18 gslc_XKeyPadDrawLayout()
void gslc_XKeyPadDrawLayout (
gslc_tsGui ∗ pGui,
void ∗ pXData )
9.10.1.19 gslc_XKeyPadDrawVirtualBtn()
void gslc_XKeyPadDrawVirtualBtn (
gslc_tsGui ∗ pGui,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId,
gslc_tsColor cColFrame,
gslc_tsColor cColFill,
gslc_tsColor cColFillGlow,
Generated by Doxygen
302 File Documentation
gslc_tsColor cColTxt,
bool bRoundedEn,
bool bGlow,
bool bFocus )
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 303
Parameters
Returns
none
9.10.1.20 gslc_XKeyPadDrawVirtualTxt()
void gslc_XKeyPadDrawVirtualTxt (
gslc_tsGui ∗ pGui,
gslc_tsRect rElem,
gslc_tsXKeyPad ∗ pKeyPad,
gslc_tsColor cColFrame,
gslc_tsColor cColFill,
gslc_tsColor cColTxt )
Parameters
Returns
none
Generated by Doxygen
304 File Documentation
9.10.1.21 gslc_XKeyPadFocusSetDefault()
void gslc_XKeyPadFocusSetDefault (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Todo Doc
9.10.1.22 gslc_XKeyPadLayoutSet()
bool gslc_XKeyPadLayoutSet (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t eLayoutSel )
• Multiple KeyPad layouts can share the same key key definition array (eg. KEYPAD_LAYOUT)
• This function returns an indication of whether a full KeyPad control redraw is required, ie. the KeyPad layout
definition has changed. With changes in the KeyPad definition, there may be a different number of visible
keys or arrangements, necessitating a background redraw.
Parameters
Returns
9.10.1.23 gslc_XKeyPadLookupId()
int16_t gslc_XKeyPadLookupId (
gslc_tsKey ∗ pKeys,
uint8_t nKeyId )
Find a key ID within a KeyPad label array and return it's index into the array.
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 305
Parameters
in pKeys Ptr to the Keypad label array
in n←- Key ID to look for
KeyId
Returns
the index into the array if the ID was found or -1 if the key ID was not found
9.10.1.24 gslc_XKeyPadLookupSpecialId()
int16_t gslc_XKeyPadLookupSpecialId (
gslc_tsLabelSpecial ∗ pLabels,
uint8_t nKeyId )
Find a key ID within a KeyPad special label array and return it's index into the array.
Parameters
in pLabels Ptr to the Keypad special label array
in nKeyId Key ID to look for
Returns
the index into the array if the ID was found or -1 if the key ID was not found
9.10.1.25 gslc_XKeyPadMapEvent()
int16_t gslc_XKeyPadMapEvent (
gslc_tsGui ∗ pGui,
void ∗ pXData,
int16_t nRelX,
int16_t nRelY,
int16_t ∗ pnInd )
Generated by Doxygen
306 File Documentation
9.10.1.26 gslc_XKeyPadPendRedrawAddKey()
void gslc_XKeyPadPendRedrawAddKey (
gslc_tsXKeyPadResult ∗ pResult,
int16_t nId )
Todo Doc
9.10.1.27 gslc_XKeyPadPendRedrawAddTxt()
void gslc_XKeyPadPendRedrawAddTxt (
gslc_tsXKeyPadResult ∗ pResult )
Todo Doc
9.10.1.28 gslc_XKeyPadPendRedrawReset()
void gslc_XKeyPadPendRedrawReset (
gslc_tsXKeyPadResult ∗ pResult )
Todo Doc
9.10.1.29 gslc_XKeyPadRedrawUpdate()
void gslc_XKeyPadRedrawUpdate (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Todo Doc
9.10.1.30 gslc_XKeyPadSizeAllGet()
void gslc_XKeyPadSizeAllGet (
gslc_tsKey ∗∗ pLayouts,
uint8_t nNumLayouts,
uint8_t ∗ pnRows,
uint8_t ∗ pnCols )
Calculate the overall dimensions of the KeyPad control encompassing all available layouts for the KeyPad, leveraging
the computation in gslc_XKeyPadSizeGet().
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 307
Parameters
Returns
none
9.10.1.31 gslc_XKeyPadSizeGet()
void gslc_XKeyPadSizeGet (
gslc_tsKey ∗ pLayout,
uint8_t ∗ pnRows,
uint8_t ∗ pnCols,
int8_t ∗ pnIndFirst,
int8_t ∗ pnIndLast )
Calculate the overall dimensions of the KeyPad control encompassing the text field and key buttons.
The dimension is calculated in units of the configured key size (width and height), and accounts for any column
spans. It also returns the index of the first and last keys on the keypad.
Parameters
in pLayout Ptr to the KeyPad layout
out pnRows Ptr for the number of rows
out pnCols Ptr for the number of columns
out pnIndFirst Ptr for the index of first key
out pnIndLast Ptr for the index of last key
Returns
none
9.10.1.32 gslc_XKeyPadTouch()
bool gslc_XKeyPadTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Generated by Doxygen
308 File Documentation
Parameters
Returns
9.10.1.33 gslc_XKeyPadTrackSet()
void gslc_XKeyPadTrackSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nInd,
gslc_tsXKeyPadAttrib eAttrib )
Todo Doc
9.10.1.34 gslc_XKeyPadTxtAddCh()
bool gslc_XKeyPadTxtAddCh (
gslc_tsXKeyPad ∗ pKeyPad,
char ch,
uint8_t nPos )
Add a character to the KeyPad text field at the specified offset (nPos).
Providing an offset equal to the end of the existing buffer length will cause the addition to the end, whereas an offset
within the buffer will cause an insert.
• An addition that causes the buffer length to exceed the maximum allowed will result in the end of the resulting
buffer to be truncated.
• If the insertion is ahead of the cursor, then the cursor position may be increased.
Generated by Doxygen
9.10 src/elem/XKeyPad.c File Reference 309
Parameters
in pKeyPad Ptr to the KeyPad
in ch Character to add
in nPos Buffer position for the insertion
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
9.10.1.35 gslc_XKeyPadTxtAddStr()
bool gslc_XKeyPadTxtAddStr (
gslc_tsXKeyPad ∗ pKeyPad,
const char ∗ pStr,
uint8_t nPos )
Add a string to the KeyPad text field at the specified offset (nPos).
Providing an offset equal to the end of the existing buffer length will cause the addition to the end, whereas an offset
within the buffer will cause an insert.
• An addition that causes the buffer length to exceed the maximum allowed will result in the end of the resulting
buffer to be truncated.
• If the insertion is ahead of the cursor, then the cursor position may be increased.
• This routine may be useful when adding multi-byte characters for future support of foreign characters.
Parameters
in pKeyPad Ptr to the KeyPad
in pStr String to add
in nPos Buffer position for the insertion
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
9.10.1.36 gslc_XKeyPadTxtDelCh()
bool gslc_XKeyPadTxtDelCh (
gslc_tsXKeyPad ∗ pKeyPad,
uint8_t nPos )
Remove a character from the KeyPad text field at the specified offset (nPos).
Generated by Doxygen
310 File Documentation
• If the removal is ahead of the cursor, then the cursor position may be decreased.
Parameters
in pKeyPad Ptr to the KeyPad
in nPos Buffer position for the removal
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
9.10.2.1 ERRSTR_NULL
9.10.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XKeyPad.h:
src/elem/XKeyPad.h
GUIslice.h
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 311
This graph shows which files directly or indirectly include this file:
src/elem/XKeyPad.h
src/elem/XKeyPad_Alpha src/elem/XKeyPad_Num
-setup.h -setup.h
src/elem/XKeyPad_Alpha.c src/elem/XKeyPad_Num.c
Data Structures
• struct gslc_tsXKeyPadResult
Return status for XKeyPad.
• struct gslc_tsKey
Key information. Defines everything we need to know about a particular key.
• struct gslc_tsLabelSpecial
Key Label strings for special buttons.
• struct gslc_tsXKeyPadCfg
Configuration for the KeyPad.
• struct gslc_tsXKeyPadData
Input callback data structure.
• struct gslc_tsXKeyPad
Extended data for KeyPad element.
Macros
• #define XKEYPAD_BUF_MAX
• #define XKEYPAD_KEY_LEN
• #define XKEYPAD_CURSOR_ENHANCED
• #define XKEYPAD_CURSOR_CH
• #define GSLC_TYPEX_KEYPAD
• #define XKEYPAD_CB_STATE_DONE
• #define XKEYPAD_CB_STATE_CANCEL
• #define XKEYPAD_CB_STATE_UPDATE
• #define XKEYPAD_REDRAW_NONE
• #define XKEYPAD_REDRAW_TXT
• #define XKEYPAD_REDRAW_KEY
• #define XKEYPAD_REDRAW_ALL
• #define XKEYPAD_REDRAW_FULL
• #define DEBUG_XKEYPAD
Debug message for XKeyPad (1=enabled, 0=disabled)
Generated by Doxygen
312 File Documentation
Typedefs
Enumerations
• enum {
KEYPAD_ID_BACKSPACE, KEYPAD_ID_SPACE, KEYPAD_ID_ESC, KEYPAD_ID_ENTER,
KEYPAD_ID_SWAP_PAD, KEYPAD_ID_SCROLL_LEFT, KEYPAD_ID_SCROLL_RIGHT, KEYPAD_ID_←-
BASIC_START,
KEYPAD_ID_TXT, KEYPAD_ID__END }
• enum {
E_XKEYPAD_TYPE_BASIC, E_XKEYPAD_TYPE_SPECIAL, E_XKEYPAD_TYPE_TXT, E_XKEYPAD_T←-
YPE_UNUSED,
E_XKEYPAD_TYPE_END }
• enum gslc_tsXKeyPadAttrib { E_XKEYPAD_ATTRIB_FOCUS, E_XKEYPAD_ATTRIB_GLOW }
Functions
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 313
Generated by Doxygen
314 File Documentation
Variables
9.11.1.1 DEBUG_XKEYPAD
#define DEBUG_XKEYPAD
9.11.1.2 GSLC_TYPEX_KEYPAD
#define GSLC_TYPEX_KEYPAD
9.11.1.3 XKEYPAD_BUF_MAX
#define XKEYPAD_BUF_MAX
9.11.1.4 XKEYPAD_CB_STATE_CANCEL
#define XKEYPAD_CB_STATE_CANCEL
9.11.1.5 XKEYPAD_CB_STATE_DONE
#define XKEYPAD_CB_STATE_DONE
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 315
9.11.1.6 XKEYPAD_CB_STATE_UPDATE
#define XKEYPAD_CB_STATE_UPDATE
9.11.1.7 XKEYPAD_CURSOR_CH
#define XKEYPAD_CURSOR_CH
9.11.1.8 XKEYPAD_CURSOR_ENHANCED
#define XKEYPAD_CURSOR_ENHANCED
9.11.1.9 XKEYPAD_KEY_LEN
#define XKEYPAD_KEY_LEN
9.11.1.10 XKEYPAD_REDRAW_ALL
#define XKEYPAD_REDRAW_ALL
9.11.1.11 XKEYPAD_REDRAW_FULL
#define XKEYPAD_REDRAW_FULL
9.11.1.12 XKEYPAD_REDRAW_KEY
#define XKEYPAD_REDRAW_KEY
9.11.1.13 XKEYPAD_REDRAW_NONE
#define XKEYPAD_REDRAW_NONE
Generated by Doxygen
316 File Documentation
9.11.1.14 XKEYPAD_REDRAW_TXT
#define XKEYPAD_REDRAW_TXT
9.11.2.1 GSLC_CB_XKEYPAD_BTN_EVT
9.11.2.2 GSLC_CB_XKEYPAD_LABEL_GET
typedef void(∗ GSLC_CB_XKEYPAD_LABEL_GET) (void ∗pvKeyPad, uint8_t nId, uint8_t nStrMax, char
∗pStr)
9.11.2.3 GSLC_CB_XKEYPAD_RESET
9.11.2.4 GSLC_CB_XKEYPAD_SYTLE_GET
typedef void(∗ GSLC_CB_XKEYPAD_SYTLE_GET) (void ∗pvKeyPad, uint8_t nId, bool ∗bVisible, gslc_←-
tsColor ∗pcolTxt, gslc_tsColor ∗pcolFrame, gslc_tsColor ∗pcolFill, gslc_tsColor ∗pcolGlow)
9.11.2.5 GSLC_CB_XKEYPAD_TXT_INIT
9.11.2.6 gslc_tsKey
anonymous enum
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 317
Enumerator
KEYPAD_ID_BACKSPACE
KEYPAD_ID_SPACE
KEYPAD_ID_ESC
KEYPAD_ID_ENTER
KEYPAD_ID_SWAP_PAD
KEYPAD_ID_SCROLL_LEFT
KEYPAD_ID_SCROLL_RIGHT
KEYPAD_ID_BASIC_START
KEYPAD_ID_TXT
KEYPAD_ID__END
anonymous enum
Enumerator
E_XKEYPAD_TYPE_BASIC
E_XKEYPAD_TYPE_SPECIAL
E_XKEYPAD_TYPE_TXT
E_XKEYPAD_TYPE_UNUSED
E_XKEYPAD_TYPE_END
9.11.3.3 gslc_tsXKeyPadAttrib
enum gslc_tsXKeyPadAttrib
Enumerator
E_XKEYPAD_ATTRIB_FOCUS
E_XKEYPAD_ATTRIB_GLOW
9.11.4.1 gslc_ElemXKeyPadCfgInit()
void gslc_ElemXKeyPadCfgInit (
gslc_tsXKeyPadCfg ∗ pConfig )
Generated by Doxygen
318 File Documentation
• These defaults will be overwritten by variant-specific initialization or through user configuration APIs.
Parameters
Returns
none
9.11.4.2 gslc_ElemXKeyPadCfgSetButtonSpace()
void gslc_ElemXKeyPadCfgSetButtonSpace (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t nSpaceX,
int8_t nSpaceY )
• This defines the inset amount (X and Y) from the Button Size
• A spacing of (1,1) will mean that the button is drawn with a 1 pixel margin around the grid defined by the
Button Size
Parameters
Returns
none
9.11.4.3 gslc_ElemXKeyPadCfgSetButtonSz()
void gslc_ElemXKeyPadCfgSetButtonSz (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t nButtonSzW,
int8_t nButtonSzH )
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 319
Parameters
Returns
none
9.11.4.4 gslc_ElemXKeyPadCfgSetRoundEn()
void gslc_ElemXKeyPadCfgSetRoundEn (
gslc_tsXKeyPadCfg ∗ pConfig,
bool bEn )
Parameters
Returns
none
9.11.4.5 gslc_ElemXKeyPadDataTargetIdGet()
int16_t gslc_ElemXKeyPadDataTargetIdGet (
gslc_tsGui ∗ pGui,
void ∗ pvData )
Parameters
Returns
Generated by Doxygen
320 File Documentation
9.11.4.6 gslc_ElemXKeyPadDataValGet()
char∗ gslc_ElemXKeyPadDataValGet (
gslc_tsGui ∗ pGui,
void ∗ pvData )
Parameters
Returns
9.11.4.7 gslc_ElemXKeyPadInputAsk()
void gslc_ElemXKeyPadInputAsk (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pKeyPadRef,
int16_t nPgPopup,
gslc_tsElemRef ∗ pTxtRef )
• This function also updates the maximum KeyPad buffer length to match that of the target text element, up to
the maximum XKEYPAD_BUF_MAX.
Parameters
Returns
none
9.11.4.8 gslc_ElemXKeyPadInputGet()
char∗ gslc_ElemXKeyPadInputGet (
gslc_tsGui ∗ pGui,
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 321
gslc_tsElemRef ∗ pTxtRef,
void ∗ pvCbData )
Complete a KeyPad popup by retrieving the input data and storing it in the text element.
Parameters
Returns
The text string that was fetched from the KeyPad (NULL terminated)
9.11.4.9 gslc_ElemXKeyPadTargetRefSet()
void gslc_ElemXKeyPadTargetRefSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsElemRef ∗ pTargetRef )
• The Target Reference is used in the GSLC_CB_INPUT callback so that the user has the context needed to
determine which field should be edited with the contents of the KeyPad edit field
• It is expected that the user will call this function when showing the KeyPad popup dialog
Parameters
Returns
none
9.11.4.10 gslc_ElemXKeyPadValGet()
bool gslc_ElemXKeyPadValGet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
Generated by Doxygen
322 File Documentation
char ∗ pStrBuf,
uint8_t nStrBufMax )
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 323
Parameters
Returns
9.11.4.11 gslc_ElemXKeyPadValSet()
void gslc_ElemXKeyPadValSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
const char ∗ pStrBuf )
Parameters
Returns
none
9.11.4.12 gslc_ElemXKeyPadValSetCb()
void gslc_ElemXKeyPadValSetCb (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_INPUT pfuncCb )
Parameters
Returns
none
9.11.4.13 gslc_XKeyPadCreateBase()
gslc_tsElemRef∗ gslc_XKeyPadCreateBase (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg ∗ pConfig )
Parameters
Returns
9.11.4.14 gslc_XKeyPadDraw()
bool gslc_XKeyPadDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 325
Parameters
Returns
9.11.4.15 gslc_XKeyPadDrawKey()
void gslc_XKeyPadDrawKey (
gslc_tsGui ∗ pGui,
gslc_tsXKeyPad ∗ pXData,
gslc_tsKey ∗ pKey,
bool bGlow,
bool bFocus )
Parameters
Returns
none
9.11.4.16 gslc_XKeyPadDrawVirtualBtn()
void gslc_XKeyPadDrawVirtualBtn (
gslc_tsGui ∗ pGui,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId,
gslc_tsColor cColFrame,
gslc_tsColor cColFill,
gslc_tsColor cColFillGlow,
gslc_tsColor cColTxt,
Generated by Doxygen
326 File Documentation
bool bRoundedEn,
bool bGlow,
bool bFocus )
Parameters
Returns
none
9.11.4.17 gslc_XKeyPadDrawVirtualTxt()
void gslc_XKeyPadDrawVirtualTxt (
gslc_tsGui ∗ pGui,
gslc_tsRect rElem,
gslc_tsXKeyPad ∗ pKeyPad,
gslc_tsColor cColFrame,
gslc_tsColor cColFill,
gslc_tsColor cColTxt )
Parameters
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 327
Returns
none
9.11.4.18 gslc_XKeyPadFocusSetDefault()
void gslc_XKeyPadFocusSetDefault (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Todo Doc
9.11.4.19 gslc_XKeyPadLayoutSet()
bool gslc_XKeyPadLayoutSet (
gslc_tsXKeyPadCfg ∗ pConfig,
int8_t eLayoutSel )
• Multiple KeyPad layouts can share the same key key definition array (eg. KEYPAD_LAYOUT)
• This function returns an indication of whether a full KeyPad control redraw is required, ie. the KeyPad layout
definition has changed. With changes in the KeyPad definition, there may be a different number of visible
keys or arrangements, necessitating a background redraw.
Parameters
Returns
9.11.4.20 gslc_XKeyPadLookupId()
int16_t gslc_XKeyPadLookupId (
gslc_tsKey ∗ pKeys,
uint8_t nKeyId )
Find a key ID within a KeyPad label array and return it's index into the array.
Generated by Doxygen
328 File Documentation
Parameters
in pKeys Ptr to the Keypad label array
in n←- Key ID to look for
KeyId
Returns
the index into the array if the ID was found or -1 if the key ID was not found
9.11.4.21 gslc_XKeyPadLookupSpecialId()
int16_t gslc_XKeyPadLookupSpecialId (
gslc_tsLabelSpecial ∗ pLabels,
uint8_t nKeyId )
Find a key ID within a KeyPad special label array and return it's index into the array.
Parameters
in pLabels Ptr to the Keypad special label array
in nKeyId Key ID to look for
Returns
the index into the array if the ID was found or -1 if the key ID was not found
9.11.4.22 gslc_XKeyPadPendRedrawAddKey()
void gslc_XKeyPadPendRedrawAddKey (
gslc_tsXKeyPadResult ∗ pResult,
int16_t nId )
Todo Doc
Generated by Doxygen
9.11 src/elem/XKeyPad.h File Reference 329
9.11.4.23 gslc_XKeyPadPendRedrawAddTxt()
void gslc_XKeyPadPendRedrawAddTxt (
gslc_tsXKeyPadResult ∗ pResult )
Todo Doc
9.11.4.24 gslc_XKeyPadPendRedrawReset()
void gslc_XKeyPadPendRedrawReset (
gslc_tsXKeyPadResult ∗ pResult )
Todo Doc
9.11.4.25 gslc_XKeyPadRedrawUpdate()
void gslc_XKeyPadRedrawUpdate (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Todo Doc
9.11.4.26 gslc_XKeyPadSizeAllGet()
void gslc_XKeyPadSizeAllGet (
gslc_tsKey ∗∗ pLayouts,
uint8_t nNumLayouts,
uint8_t ∗ pnRows,
uint8_t ∗ pnCols )
Calculate the overall dimensions of the KeyPad control encompassing all available layouts for the KeyPad, leveraging
the computation in gslc_XKeyPadSizeGet().
Parameters
Generated by Doxygen
330 File Documentation
Returns
none
9.11.4.27 gslc_XKeyPadSizeGet()
void gslc_XKeyPadSizeGet (
gslc_tsKey ∗ pLayout,
uint8_t ∗ pnRows,
uint8_t ∗ pnCols,
int8_t ∗ pnIndFirst,
int8_t ∗ pnIndLast )
Calculate the overall dimensions of the KeyPad control encompassing the text field and key buttons.
The dimension is calculated in units of the configured key size (width and height), and accounts for any column
spans. It also returns the index of the first and last keys on the keypad.
Parameters
in pLayout Ptr to the KeyPad layout
out pnRows Ptr for the number of rows
out pnCols Ptr for the number of columns
out pnIndFirst Ptr for the index of first key
out pnIndLast Ptr for the index of last key
Returns
none
9.11.4.28 gslc_XKeyPadTouch()
bool gslc_XKeyPadTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
9.11.4.29 gslc_XKeyPadTrackSet()
void gslc_XKeyPadTrackSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nInd,
gslc_tsXKeyPadAttrib eAttrib )
Todo Doc
9.11.4.30 gslc_XKeyPadTxtAddCh()
bool gslc_XKeyPadTxtAddCh (
gslc_tsXKeyPad ∗ pKeyPad,
char ch,
uint8_t nPos )
Add a character to the KeyPad text field at the specified offset (nPos).
Providing an offset equal to the end of the existing buffer length will cause the addition to the end, whereas an offset
within the buffer will cause an insert.
• An addition that causes the buffer length to exceed the maximum allowed will result in the end of the resulting
buffer to be truncated.
• If the insertion is ahead of the cursor, then the cursor position may be increased.
Parameters
in pKeyPad Ptr to the KeyPad
in ch Character to add
in nPos Buffer position for the insertion
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
Generated by Doxygen
332 File Documentation
9.11.4.31 gslc_XKeyPadTxtAddStr()
bool gslc_XKeyPadTxtAddStr (
gslc_tsXKeyPad ∗ pKeyPad,
const char ∗ pStr,
uint8_t nPos )
Add a string to the KeyPad text field at the specified offset (nPos).
Providing an offset equal to the end of the existing buffer length will cause the addition to the end, whereas an offset
within the buffer will cause an insert.
• An addition that causes the buffer length to exceed the maximum allowed will result in the end of the resulting
buffer to be truncated.
• If the insertion is ahead of the cursor, then the cursor position may be increased.
• This routine may be useful when adding multi-byte characters for future support of foreign characters.
Parameters
in pKeyPad Ptr to the KeyPad
in pStr String to add
in nPos Buffer position for the insertion
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
9.11.4.32 gslc_XKeyPadTxtDelCh()
bool gslc_XKeyPadTxtDelCh (
gslc_tsXKeyPad ∗ pKeyPad,
uint8_t nPos )
Remove a character from the KeyPad text field at the specified offset (nPos).
• If the removal is ahead of the cursor, then the cursor position may be decreased.
Parameters
in pKeyPad Ptr to the KeyPad
in nPos Buffer position for the removal
Generated by Doxygen
9.12 src/elem/XKeyPad_Alpha-setup.h File Reference 333
Returns
true if the text field should be redrawn, false if no redraw is needed (ie. no change)
9.11.5.1 RBIT_CTRL
9.11.5.2 RBIT_KEYALL
9.11.5.3 RBIT_KEYONE
9.11.5.4 RBIT_TXT
#include "elem/XKeyPad.h"
#include "elem/XKeyPad_Alpha.h"
Include dependency graph for XKeyPad_Alpha-setup.h:
src/elem/XKeyPad_Alpha
-setup.h
elem/XKeyPad_Alpha.h
elem/XKeyPad.h
GUIslice.h
Generated by Doxygen
334 File Documentation
This graph shows which files directly or indirectly include this file:
src/elem/XKeyPad_Alpha
-setup.h
src/elem/XKeyPad_Alpha.c
Macros
• #define XKEYPAD_EXTEND_CHAR
• #define XKEYPAD_LABEL_MAX
• #define XKEYPAD_DISP_MAX
• #define XKEYPAD_KEY_W
• #define XKEYPAD_KEY_H
• #define XKEYPAD_SPACING_X
• #define XKEYPAD_SPACING_Y
• #define XKEYPAD_COL_DISABLE_TXT
• #define XKEYPAD_COL_DISABLE_FILL
• #define XKEYPAD_COL_DEF_TXT
• #define XKEYPAD_COL_DEF_FRAME
• #define XKEYPAD_COL_DEF_FILL
• #define XKEYPAD_COL_DEF_GLOW
• #define XKEYPAD_COL_BASIC_FILL
• #define XKEYPAD_COL_BASIC_GLOW
• #define XKEYPAD_COL_TEXT_TXT
• #define XKEYPAD_COL_TEXT_FILL
• #define XKEYPAD_COL_TEXT_GLOW
• #define XKEYPAD_COL_SPACE_FILL
• #define XKEYPAD_COL_SPACE_GLOW
• #define XKEYPAD_COL_ESC_FILL
• #define XKEYPAD_COL_ESC_GLOW
• #define XKEYPAD_COL_ENTER_FILL
• #define XKEYPAD_COL_ENTER_GLOW
• #define XKEYPAD_COL_SCROLL_L_FILL
• #define XKEYPAD_COL_SCROLL_L_GLOW
• #define XKEYPAD_COL_SCROLL_R_FILL
• #define XKEYPAD_COL_SCROLL_R_GLOW
Enumerations
• enum gslc_teXKeyPadSel {
E_XKEYPAD_SET_UPPER, E_XKEYPAD_SET_LOWER, E_XKEYPAD_SET_NUM, E_XKEYPAD_SET←-
__MAX,
E_XKEYPAD_SET_NUM, E_XKEYPAD_SET__MAX }
Generated by Doxygen
9.12 src/elem/XKeyPad_Alpha-setup.h File Reference 335
Variables
9.12.1.1 XKEYPAD_COL_BASIC_FILL
#define XKEYPAD_COL_BASIC_FILL
9.12.1.2 XKEYPAD_COL_BASIC_GLOW
#define XKEYPAD_COL_BASIC_GLOW
9.12.1.3 XKEYPAD_COL_DEF_FILL
#define XKEYPAD_COL_DEF_FILL
9.12.1.4 XKEYPAD_COL_DEF_FRAME
#define XKEYPAD_COL_DEF_FRAME
9.12.1.5 XKEYPAD_COL_DEF_GLOW
#define XKEYPAD_COL_DEF_GLOW
Generated by Doxygen
336 File Documentation
9.12.1.6 XKEYPAD_COL_DEF_TXT
#define XKEYPAD_COL_DEF_TXT
9.12.1.7 XKEYPAD_COL_DISABLE_FILL
#define XKEYPAD_COL_DISABLE_FILL
9.12.1.8 XKEYPAD_COL_DISABLE_TXT
#define XKEYPAD_COL_DISABLE_TXT
9.12.1.9 XKEYPAD_COL_ENTER_FILL
#define XKEYPAD_COL_ENTER_FILL
9.12.1.10 XKEYPAD_COL_ENTER_GLOW
#define XKEYPAD_COL_ENTER_GLOW
9.12.1.11 XKEYPAD_COL_ESC_FILL
#define XKEYPAD_COL_ESC_FILL
9.12.1.12 XKEYPAD_COL_ESC_GLOW
#define XKEYPAD_COL_ESC_GLOW
9.12.1.13 XKEYPAD_COL_SCROLL_L_FILL
#define XKEYPAD_COL_SCROLL_L_FILL
Generated by Doxygen
9.12 src/elem/XKeyPad_Alpha-setup.h File Reference 337
9.12.1.14 XKEYPAD_COL_SCROLL_L_GLOW
#define XKEYPAD_COL_SCROLL_L_GLOW
9.12.1.15 XKEYPAD_COL_SCROLL_R_FILL
#define XKEYPAD_COL_SCROLL_R_FILL
9.12.1.16 XKEYPAD_COL_SCROLL_R_GLOW
#define XKEYPAD_COL_SCROLL_R_GLOW
9.12.1.17 XKEYPAD_COL_SPACE_FILL
#define XKEYPAD_COL_SPACE_FILL
9.12.1.18 XKEYPAD_COL_SPACE_GLOW
#define XKEYPAD_COL_SPACE_GLOW
9.12.1.19 XKEYPAD_COL_TEXT_FILL
#define XKEYPAD_COL_TEXT_FILL
9.12.1.20 XKEYPAD_COL_TEXT_GLOW
#define XKEYPAD_COL_TEXT_GLOW
9.12.1.21 XKEYPAD_COL_TEXT_TXT
#define XKEYPAD_COL_TEXT_TXT
Generated by Doxygen
338 File Documentation
9.12.1.22 XKEYPAD_DISP_MAX
#define XKEYPAD_DISP_MAX
9.12.1.23 XKEYPAD_EXTEND_CHAR
#define XKEYPAD_EXTEND_CHAR
9.12.1.24 XKEYPAD_KEY_H
#define XKEYPAD_KEY_H
9.12.1.25 XKEYPAD_KEY_W
#define XKEYPAD_KEY_W
9.12.1.26 XKEYPAD_LABEL_MAX
#define XKEYPAD_LABEL_MAX
9.12.1.27 XKEYPAD_SPACING_X
#define XKEYPAD_SPACING_X
9.12.1.28 XKEYPAD_SPACING_Y
#define XKEYPAD_SPACING_Y
9.12.2.1 gslc_teXKeyPadSel
enum gslc_teXKeyPadSel
Generated by Doxygen
9.12 src/elem/XKeyPad_Alpha-setup.h File Reference 339
Enumerator
E_XKEYPAD_SET_UPPER
E_XKEYPAD_SET_LOWER
E_XKEYPAD_SET_NUM
E_XKEYPAD_SET__MAX
E_XKEYPAD_SET_NUM
E_XKEYPAD_SET__MAX
9.12.3.1 KEYPAD_LAYOUT
9.12.3.2 KEYPAD_LAYOUTS
9.12.3.3 KEYPAD_SET_LABEL
9.12.3.4 KEYPAD_SPECIAL_LABEL
9.12.3.5 KEYPAD_SPECIAL_SELECT
Generated by Doxygen
340 File Documentation
9.12.3.6 XKEYPAD_LABEL_SPACE
9.12.3.7 XKEYPAD_LAYOUT_DEFAULT
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XKeyPad.h"
#include "elem/XKeyPad_Alpha.h"
#include <stdio.h>
#include "elem/XKeyPad_Alpha-setup.h"
Include dependency graph for XKeyPad_Alpha.c:
src/elem/XKeyPad_Alpha.c
elem/XKeyPad_Alpha
GUIslice_drv.h
-setup.h
elem/XKeyPad_Alpha.h
elem/XKeyPad.h
GUIslice.h
Functions
Generated by Doxygen
9.13 src/elem/XKeyPad_Alpha.c File Reference 341
• void gslc_ElemXKeyPadStyleGet_Alpha (void ∗pvKeyPad, uint8_t nId, bool ∗pbVisible, gslc_tsColor ∗pcol←-
Txt, gslc_tsColor ∗pcolFrame, gslc_tsColor ∗pcolFill, gslc_tsColor ∗pcolGlow)
Callback function to retrieve the style associated with a KeyPad button.
• void gslc_ElemXKeyPadBtnEvt_Alpha (void ∗pvKeyPad, uint8_t nId, gslc_tsXKeyPadResult ∗psResult)
Callback function activated when a key has been pressed.
• gslc_tsXKeyPadCfg_Alpha gslc_ElemXKeyPadCfgInit_Alpha ()
Initialize the KeyPad config structure.
• gslc_tsElemRef ∗ gslc_ElemXKeyPadCreate_Alpha (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage,
gslc_tsXKeyPad ∗pXData, int16_t nX0, int16_t nY0, int8_t nFontId, gslc_tsXKeyPadCfg_Alpha ∗pConfig)
Create a KeyPad Element.
Variables
9.13.1.1 gslc_ElemXKeyPadBtnEvt_Alpha()
void gslc_ElemXKeyPadBtnEvt_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
gslc_tsXKeyPadResult ∗ psResult )
This callback is used to enable the KeyPad variant to handle any events associated with the key press and update
any internal state.
• The callback is also used to determine whether any redraw actions need to be taken.
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out psResult The returned state vector (including redraw)
Returns
none
Generated by Doxygen
342 File Documentation
9.13.1.2 gslc_ElemXKeyPadCfgInit_Alpha()
gslc_tsXKeyPadCfg_Alpha gslc_ElemXKeyPadCfgInit_Alpha ( )
• This routine should be called to initialize the configuration data structure before calling any of the KeyPad
config APIs
Returns
9.13.1.3 gslc_ElemXKeyPadCreate_Alpha()
gslc_tsElemRef∗ gslc_ElemXKeyPadCreate_Alpha (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg_Alpha ∗ pConfig )
Parameters
Returns
Generated by Doxygen
9.13 src/elem/XKeyPad_Alpha.c File Reference 343
9.13.1.4 gslc_ElemXKeyPadLabelGet_Alpha()
void gslc_ElemXKeyPadLabelGet_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
uint8_t nStrMax,
char ∗ pStr )
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
in nStrMax Maximum length of return string (including NULL)
out pStr Buffer for the returned label
Returns
none
9.13.1.5 gslc_ElemXKeyPadReset_Alpha()
void gslc_ElemXKeyPadReset_Alpha (
void ∗ pvConfig )
Parameters
Returns
none
9.13.1.6 gslc_ElemXKeyPadStyleGet_Alpha()
void gslc_ElemXKeyPadStyleGet_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
bool ∗ pbVisible,
gslc_tsColor ∗ pcolTxt,
Generated by Doxygen
344 File Documentation
gslc_tsColor ∗ pcolFrame,
gslc_tsColor ∗ pcolFill,
gslc_tsColor ∗ pcolGlow )
• This function is used to assign the color and visibility state of the keys at runtime.
• This function can also be used to change the appearance dynamically, according to internal state (eg. dimmed
buttons).
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out pbVisible The returned visibility state
out pcolTxt The returned text color
out pcolFrame The returned key's frame color
out pcolFill The returned key's fill color
out pcolGlow The returned key's fill color when highlighted
Returns
none
9.13.1.7 gslc_ElemXKeyPadTxtInit_Alpha()
void gslc_ElemXKeyPadTxtInit_Alpha (
void ∗ pvKeyPad )
Callback function to update internal state whenever the text field is manually set via gslc_ElemXKeyPadValSet().
• This is used to ensure any KeyPad variant state can be kept in sync with the text string.
• For example, if a numeric KeyPad is initiaized with a string that contains a minus sign, an internal negation
flag might be set.
Parameters
in pvKeyPad Void ptr to the KeyPad
Returns
none
Generated by Doxygen
9.14 src/elem/XKeyPad_Alpha.h File Reference 345
9.13.2.1 ERRSTR_NULL
9.13.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
#include "elem/XKeyPad.h"
Include dependency graph for XKeyPad_Alpha.h:
src/elem/XKeyPad_Alpha.h
elem/XKeyPad.h
GUIslice.h
Generated by Doxygen
346 File Documentation
This graph shows which files directly or indirectly include this file:
src/elem/XKeyPad_Alpha.h
src/elem/XKeyPad_Alpha
-setup.h
src/elem/XKeyPad_Alpha.c
Data Structures
• struct gslc_tsXKeyPadCfg_Alpha
Functions
Generated by Doxygen
9.14 src/elem/XKeyPad_Alpha.h File Reference 347
9.14.1.1 gslc_ElemXKeyPadBtnEvt_Alpha()
void gslc_ElemXKeyPadBtnEvt_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
gslc_tsXKeyPadResult ∗ psResult )
This callback is used to enable the KeyPad variant to handle any events associated with the key press and update
any internal state.
• The callback is also used to determine whether any redraw actions need to be taken.
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out psResult The returned state vector (including redraw)
Returns
none
9.14.1.2 gslc_ElemXKeyPadCfgInit_Alpha()
gslc_tsXKeyPadCfg_Alpha gslc_ElemXKeyPadCfgInit_Alpha ( )
• This routine should be called to initialize the configuration data structure before calling any of the KeyPad
config APIs
Returns
9.14.1.3 gslc_ElemXKeyPadCreate_Alpha()
gslc_tsElemRef∗ gslc_ElemXKeyPadCreate_Alpha (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg_Alpha ∗ pConfig )
Generated by Doxygen
348 File Documentation
Parameters
Returns
9.14.1.4 gslc_ElemXKeyPadLabelGet_Alpha()
void gslc_ElemXKeyPadLabelGet_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
uint8_t nStrMax,
char ∗ pStr )
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
in nStrMax Maximum length of return string (including NULL)
out pStr Buffer for the returned label
Returns
none
9.14.1.5 gslc_ElemXKeyPadReset_Alpha()
void gslc_ElemXKeyPadReset_Alpha (
void ∗ pvConfig )
Generated by Doxygen
9.14 src/elem/XKeyPad_Alpha.h File Reference 349
Parameters
Returns
none
9.14.1.6 gslc_ElemXKeyPadStyleGet_Alpha()
void gslc_ElemXKeyPadStyleGet_Alpha (
void ∗ pvKeyPad,
uint8_t nId,
bool ∗ pbVisible,
gslc_tsColor ∗ pcolTxt,
gslc_tsColor ∗ pcolFrame,
gslc_tsColor ∗ pcolFill,
gslc_tsColor ∗ pcolGlow )
• This function is used to assign the color and visibility state of the keys at runtime.
• This function can also be used to change the appearance dynamically, according to internal state (eg. dimmed
buttons).
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out pbVisible The returned visibility state
out pcolTxt The returned text color
out pcolFrame The returned key's frame color
out pcolFill The returned key's fill color
out pcolGlow The returned key's fill color when highlighted
Returns
none
9.14.1.7 gslc_ElemXKeyPadTxtInit_Alpha()
void gslc_ElemXKeyPadTxtInit_Alpha (
void ∗ pvKeyPad )
Generated by Doxygen
350 File Documentation
Callback function to update internal state whenever the text field is manually set via gslc_ElemXKeyPadValSet().
• This is used to ensure any KeyPad variant state can be kept in sync with the text string.
• For example, if a numeric KeyPad is initiaized with a string that contains a minus sign, an internal negation
flag might be set.
Parameters
in pvKeyPad Void ptr to the KeyPad
Returns
none
#include "elem/XKeyPad.h"
#include "elem/XKeyPad_Num.h"
Include dependency graph for XKeyPad_Num-setup.h:
src/elem/XKeyPad_Num
-setup.h
elem/XKeyPad_Num.h
elem/XKeyPad.h
GUIslice.h
Generated by Doxygen
9.15 src/elem/XKeyPad_Num-setup.h File Reference 351
This graph shows which files directly or indirectly include this file:
src/elem/XKeyPad_Num
-setup.h
src/elem/XKeyPad_Num.c
Macros
• #define XKEYPAD_EXTEND_CHAR
• #define XKEYPAD_LABEL_MAX
• #define XKEYPAD_DISP_MAX
• #define XKEYPAD_KEY_W
• #define XKEYPAD_KEY_H
• #define XKEYPAD_SPACING_X
• #define XKEYPAD_SPACING_Y
• #define XKEYPAD_COL_DISABLE_TXT
• #define XKEYPAD_COL_DISABLE_FILL
• #define XKEYPAD_COL_DEF_TXT
• #define XKEYPAD_COL_DEF_FRAME
• #define XKEYPAD_COL_DEF_FILL
• #define XKEYPAD_COL_DEF_GLOW
• #define XKEYPAD_COL_BASIC_FILL
• #define XKEYPAD_COL_BASIC_GLOW
• #define XKEYPAD_COL_TEXT_TXT
• #define XKEYPAD_COL_TEXT_FILL
• #define XKEYPAD_COL_TEXT_GLOW
• #define XKEYPAD_COL_SPACE_FILL
• #define XKEYPAD_COL_SPACE_GLOW
• #define XKEYPAD_COL_ESC_FILL
• #define XKEYPAD_COL_ESC_GLOW
• #define XKEYPAD_COL_ENTER_FILL
• #define XKEYPAD_COL_ENTER_GLOW
• #define XKEYPAD_COL_SCROLL_L_FILL
• #define XKEYPAD_COL_SCROLL_L_GLOW
• #define XKEYPAD_COL_SCROLL_R_FILL
• #define XKEYPAD_COL_SCROLL_R_GLOW
• #define XKEYPAD_COL_DECIMAL_FILL
• #define XKEYPAD_COL_DECIMAL_GLOW
• #define XKEYPAD_COL_MINUS_FILL
• #define XKEYPAD_COL_MINUS_GLOW
Generated by Doxygen
352 File Documentation
Enumerations
• enum gslc_teXKeyPadSel {
E_XKEYPAD_SET_UPPER, E_XKEYPAD_SET_LOWER, E_XKEYPAD_SET_NUM, E_XKEYPAD_SET←-
__MAX,
E_XKEYPAD_SET_NUM, E_XKEYPAD_SET__MAX }
• enum { KEYPAD_IDV_DECIMAL, KEYPAD_IDV_MINUS }
Variables
9.15.1.1 XKEYPAD_COL_BASIC_FILL
#define XKEYPAD_COL_BASIC_FILL
9.15.1.2 XKEYPAD_COL_BASIC_GLOW
#define XKEYPAD_COL_BASIC_GLOW
9.15.1.3 XKEYPAD_COL_DECIMAL_FILL
#define XKEYPAD_COL_DECIMAL_FILL
9.15.1.4 XKEYPAD_COL_DECIMAL_GLOW
#define XKEYPAD_COL_DECIMAL_GLOW
Generated by Doxygen
9.15 src/elem/XKeyPad_Num-setup.h File Reference 353
9.15.1.5 XKEYPAD_COL_DEF_FILL
#define XKEYPAD_COL_DEF_FILL
9.15.1.6 XKEYPAD_COL_DEF_FRAME
#define XKEYPAD_COL_DEF_FRAME
9.15.1.7 XKEYPAD_COL_DEF_GLOW
#define XKEYPAD_COL_DEF_GLOW
9.15.1.8 XKEYPAD_COL_DEF_TXT
#define XKEYPAD_COL_DEF_TXT
9.15.1.9 XKEYPAD_COL_DISABLE_FILL
#define XKEYPAD_COL_DISABLE_FILL
9.15.1.10 XKEYPAD_COL_DISABLE_TXT
#define XKEYPAD_COL_DISABLE_TXT
9.15.1.11 XKEYPAD_COL_ENTER_FILL
#define XKEYPAD_COL_ENTER_FILL
9.15.1.12 XKEYPAD_COL_ENTER_GLOW
#define XKEYPAD_COL_ENTER_GLOW
Generated by Doxygen
354 File Documentation
9.15.1.13 XKEYPAD_COL_ESC_FILL
#define XKEYPAD_COL_ESC_FILL
9.15.1.14 XKEYPAD_COL_ESC_GLOW
#define XKEYPAD_COL_ESC_GLOW
9.15.1.15 XKEYPAD_COL_MINUS_FILL
#define XKEYPAD_COL_MINUS_FILL
9.15.1.16 XKEYPAD_COL_MINUS_GLOW
#define XKEYPAD_COL_MINUS_GLOW
9.15.1.17 XKEYPAD_COL_SCROLL_L_FILL
#define XKEYPAD_COL_SCROLL_L_FILL
9.15.1.18 XKEYPAD_COL_SCROLL_L_GLOW
#define XKEYPAD_COL_SCROLL_L_GLOW
9.15.1.19 XKEYPAD_COL_SCROLL_R_FILL
#define XKEYPAD_COL_SCROLL_R_FILL
9.15.1.20 XKEYPAD_COL_SCROLL_R_GLOW
#define XKEYPAD_COL_SCROLL_R_GLOW
Generated by Doxygen
9.15 src/elem/XKeyPad_Num-setup.h File Reference 355
9.15.1.21 XKEYPAD_COL_SPACE_FILL
#define XKEYPAD_COL_SPACE_FILL
9.15.1.22 XKEYPAD_COL_SPACE_GLOW
#define XKEYPAD_COL_SPACE_GLOW
9.15.1.23 XKEYPAD_COL_TEXT_FILL
#define XKEYPAD_COL_TEXT_FILL
9.15.1.24 XKEYPAD_COL_TEXT_GLOW
#define XKEYPAD_COL_TEXT_GLOW
9.15.1.25 XKEYPAD_COL_TEXT_TXT
#define XKEYPAD_COL_TEXT_TXT
9.15.1.26 XKEYPAD_DISP_MAX
#define XKEYPAD_DISP_MAX
9.15.1.27 XKEYPAD_EXTEND_CHAR
#define XKEYPAD_EXTEND_CHAR
9.15.1.28 XKEYPAD_KEY_H
#define XKEYPAD_KEY_H
Generated by Doxygen
356 File Documentation
9.15.1.29 XKEYPAD_KEY_W
#define XKEYPAD_KEY_W
9.15.1.30 XKEYPAD_LABEL_MAX
#define XKEYPAD_LABEL_MAX
9.15.1.31 XKEYPAD_SPACING_X
#define XKEYPAD_SPACING_X
9.15.1.32 XKEYPAD_SPACING_Y
#define XKEYPAD_SPACING_Y
anonymous enum
Enumerator
KEYPAD_IDV_DECIMAL
KEYPAD_IDV_MINUS
9.15.2.2 gslc_teXKeyPadSel
enum gslc_teXKeyPadSel
Enumerator
E_XKEYPAD_SET_UPPER
Generated by Doxygen
9.15 src/elem/XKeyPad_Num-setup.h File Reference 357
Enumerator
E_XKEYPAD_SET_LOWER
E_XKEYPAD_SET_NUM
E_XKEYPAD_SET__MAX
E_XKEYPAD_SET_NUM
E_XKEYPAD_SET__MAX
9.15.3.1 KEYPAD_LABEL_DECIMAL_PT
9.15.3.2 KEYPAD_LABEL_NEGATIVE
9.15.3.3 KEYPAD_LAYOUT
9.15.3.4 KEYPAD_LAYOUTS
9.15.3.5 KEYPAD_SET_LABEL
Generated by Doxygen
358 File Documentation
9.15.3.6 KEYPAD_SPECIAL_LABEL
9.15.3.7 XKEYPAD_LAYOUT_DEFAULT
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XKeyPad.h"
#include "elem/XKeyPad_Num.h"
#include <stdio.h>
#include "elem/XKeyPad_Num-setup.h"
Include dependency graph for XKeyPad_Num.c:
src/elem/XKeyPad_Num.c
GUIslice_drv.h elem/XKeyPad_Num-setup.h
elem/XKeyPad_Num.h
elem/XKeyPad.h
GUIslice.h
Functions
Generated by Doxygen
9.16 src/elem/XKeyPad_Num.c File Reference 359
• void gslc_ElemXKeyPadStyleGet_Num (void ∗pvKeyPad, uint8_t nId, bool ∗pbVisible, gslc_tsColor ∗pcolTxt,
gslc_tsColor ∗pcolFrame, gslc_tsColor ∗pcolFill, gslc_tsColor ∗pcolGlow)
Callback function to retrieve the style associated with a KeyPad button.
• void gslc_ElemXKeyPadBtnEvt_Num (void ∗pvKeyPad, uint8_t nId, gslc_tsXKeyPadResult ∗psResult)
Callback function activated when a key has been pressed.
• gslc_tsXKeyPadCfg_Num gslc_ElemXKeyPadCfgInit_Num ()
Initialize the KeyPad config structure.
• gslc_tsElemRef ∗ gslc_ElemXKeyPadCreate_Num (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc←-
_tsXKeyPad ∗pXData, int16_t nX0, int16_t nY0, int8_t nFontId, gslc_tsXKeyPadCfg_Num ∗pConfig)
Create a KeyPad Element.
• void gslc_ElemXKeyPadCfgSetFloatEn_Num (gslc_tsXKeyPadCfg_Num ∗pConfig, bool bEn)
Update the KeyPad configuration to enable floating point numbers.
• void gslc_ElemXKeyPadCfgSetSignEn_Num (gslc_tsXKeyPadCfg_Num ∗pConfig, bool bEn)
Update the KeyPad configuration to enable negative numbers.
Variables
9.16.1.1 gslc_ElemXKeyPadBtnEvt_Num()
void gslc_ElemXKeyPadBtnEvt_Num (
void ∗ pvKeyPad,
uint8_t nId,
gslc_tsXKeyPadResult ∗ psResult )
This callback is used to enable the KeyPad variant to handle any events associated with the key press and update
any internal state.
• The callback is also used to determine whether any redraw actions need to be taken.
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out psResult The returned state vector (including redraw)
Returns
none
Generated by Doxygen
360 File Documentation
9.16.1.2 gslc_ElemXKeyPadCfgInit_Num()
gslc_tsXKeyPadCfg_Num gslc_ElemXKeyPadCfgInit_Num ( )
• This routine should be called to initialize the configuration data structure before calling any of the KeyPad
config APIs
Returns
9.16.1.3 gslc_ElemXKeyPadCfgSetFloatEn_Num()
void gslc_ElemXKeyPadCfgSetFloatEn_Num (
gslc_tsXKeyPadCfg_Num ∗ pConfig,
bool bEn )
Parameters
Returns
none
9.16.1.4 gslc_ElemXKeyPadCfgSetSignEn_Num()
void gslc_ElemXKeyPadCfgSetSignEn_Num (
gslc_tsXKeyPadCfg_Num ∗ pConfig,
bool bEn )
Generated by Doxygen
9.16 src/elem/XKeyPad_Num.c File Reference 361
Parameters
Returns
none
9.16.1.5 gslc_ElemXKeyPadCreate_Num()
gslc_tsElemRef∗ gslc_ElemXKeyPadCreate_Num (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg_Num ∗ pConfig )
Parameters
Returns
9.16.1.6 gslc_ElemXKeyPadLabelGet_Num()
void gslc_ElemXKeyPadLabelGet_Num (
void ∗ pvKeyPad,
uint8_t nId,
Generated by Doxygen
362 File Documentation
uint8_t nStrMax,
char ∗ pStr )
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
in nStrMax Maximum length of return string (including NULL)
out pStr Buffer for the returned label
Returns
none
9.16.1.7 gslc_ElemXKeyPadReset_Num()
void gslc_ElemXKeyPadReset_Num (
void ∗ pvConfig )
Parameters
Returns
none
9.16.1.8 gslc_ElemXKeyPadStyleGet_Num()
void gslc_ElemXKeyPadStyleGet_Num (
void ∗ pvKeyPad,
uint8_t nId,
bool ∗ pbVisible,
gslc_tsColor ∗ pcolTxt,
gslc_tsColor ∗ pcolFrame,
gslc_tsColor ∗ pcolFill,
gslc_tsColor ∗ pcolGlow )
Generated by Doxygen
9.16 src/elem/XKeyPad_Num.c File Reference 363
• This function is used to assign the color and visibility state of the keys at runtime.
• This function can also be used to change the appearance dynamically, according to internal state (eg. dimmed
buttons).
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out pbVisible The returned visibility state
out pcolTxt The returned text color
out pcolFrame The returned key's frame color
out pcolFill The returned key's fill color
out pcolGlow The returned key's fill color when highlighted
Returns
none
9.16.1.9 gslc_ElemXKeyPadTxtInit_Num()
void gslc_ElemXKeyPadTxtInit_Num (
void ∗ pvKeyPad )
Callback function to update internal state whenever the text field is manually set via gslc_ElemXKeyPadValSet().
• This is used to ensure any KeyPad variant state can be kept in sync with the text string.
• For example, if a numeric KeyPad is initiaized with a string that contains a minus sign, an internal negation
flag might be set.
Parameters
in pvKeyPad Void ptr to the KeyPad
Returns
none
9.16.1.10 gslc_XKeyPadValSetSign_Num()
void gslc_XKeyPadValSetSign_Num (
gslc_tsXKeyPad ∗ pXKeyPad,
bool bPositive )
Generated by Doxygen
364 File Documentation
9.16.2.1 ERRSTR_NULL
9.16.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
#include "elem/XKeyPad.h"
Include dependency graph for XKeyPad_Num.h:
src/elem/XKeyPad_Num.h
elem/XKeyPad.h
GUIslice.h
Generated by Doxygen
9.17 src/elem/XKeyPad_Num.h File Reference 365
This graph shows which files directly or indirectly include this file:
src/elem/XKeyPad_Num.h
src/elem/XKeyPad_Num
-setup.h
src/elem/XKeyPad_Num.c
Data Structures
• struct gslc_tsXKeyPadCfg_Num
Functions
Generated by Doxygen
366 File Documentation
9.17.1.1 gslc_ElemXKeyPadBtnEvt_Num()
void gslc_ElemXKeyPadBtnEvt_Num (
void ∗ pvKeyPad,
uint8_t nId,
gslc_tsXKeyPadResult ∗ psResult )
This callback is used to enable the KeyPad variant to handle any events associated with the key press and update
any internal state.
• The callback is also used to determine whether any redraw actions need to be taken.
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out psResult The returned state vector (including redraw)
Returns
none
9.17.1.2 gslc_ElemXKeyPadCfgInit_Num()
gslc_tsXKeyPadCfg_Num gslc_ElemXKeyPadCfgInit_Num ( )
• This routine should be called to initialize the configuration data structure before calling any of the KeyPad
config APIs
Returns
9.17.1.3 gslc_ElemXKeyPadCfgSetFloatEn_Num()
void gslc_ElemXKeyPadCfgSetFloatEn_Num (
gslc_tsXKeyPadCfg_Num ∗ pConfig,
bool bEn )
Generated by Doxygen
9.17 src/elem/XKeyPad_Num.h File Reference 367
Parameters
Returns
none
9.17.1.4 gslc_ElemXKeyPadCfgSetSignEn_Num()
void gslc_ElemXKeyPadCfgSetSignEn_Num (
gslc_tsXKeyPadCfg_Num ∗ pConfig,
bool bEn )
Parameters
Returns
none
9.17.1.5 gslc_ElemXKeyPadCreate_Num()
gslc_tsElemRef∗ gslc_ElemXKeyPadCreate_Num (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXKeyPad ∗ pXData,
int16_t nX0,
int16_t nY0,
int8_t nFontId,
gslc_tsXKeyPadCfg_Num ∗ pConfig )
Generated by Doxygen
368 File Documentation
Parameters
Returns
9.17.1.6 gslc_ElemXKeyPadLabelGet_Num()
void gslc_ElemXKeyPadLabelGet_Num (
void ∗ pvKeyPad,
uint8_t nId,
uint8_t nStrMax,
char ∗ pStr )
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
in nStrMax Maximum length of return string (including NULL)
out pStr Buffer for the returned label
Returns
none
9.17.1.7 gslc_ElemXKeyPadReset_Num()
void gslc_ElemXKeyPadReset_Num (
void ∗ pvConfig )
Generated by Doxygen
9.17 src/elem/XKeyPad_Num.h File Reference 369
Parameters
Returns
none
9.17.1.8 gslc_ElemXKeyPadStyleGet_Num()
void gslc_ElemXKeyPadStyleGet_Num (
void ∗ pvKeyPad,
uint8_t nId,
bool ∗ pbVisible,
gslc_tsColor ∗ pcolTxt,
gslc_tsColor ∗ pcolFrame,
gslc_tsColor ∗ pcolFill,
gslc_tsColor ∗ pcolGlow )
• This function is used to assign the color and visibility state of the keys at runtime.
• This function can also be used to change the appearance dynamically, according to internal state (eg. dimmed
buttons).
Parameters
in pvKeyPad Void ptr to the KeyPad
in nId KeyPad key ID
out pbVisible The returned visibility state
out pcolTxt The returned text color
out pcolFrame The returned key's frame color
out pcolFill The returned key's fill color
out pcolGlow The returned key's fill color when highlighted
Returns
none
9.17.1.9 gslc_ElemXKeyPadTxtInit_Num()
void gslc_ElemXKeyPadTxtInit_Num (
void ∗ pvKeyPad )
Generated by Doxygen
370 File Documentation
Callback function to update internal state whenever the text field is manually set via gslc_ElemXKeyPadValSet().
• This is used to ensure any KeyPad variant state can be kept in sync with the text string.
• For example, if a numeric KeyPad is initiaized with a string that contains a minus sign, an internal negation
flag might be set.
Parameters
in pvKeyPad Void ptr to the KeyPad
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XListbox.h"
#include <stdio.h>
Include dependency graph for XListbox.c:
src/elem/XListbox.c
GUIslice_drv.h elem/XListbox.h
GUIslice.h
Macros
• #define XLISTBOX_MAX_STR
Functions
Generated by Doxygen
9.18 src/elem/XListbox.c File Reference 371
Variables
Generated by Doxygen
372 File Documentation
9.18.1.1 XLISTBOX_MAX_STR
#define XLISTBOX_MAX_STR
9.18.2.1 gslc_ElemXListboxAddItem()
bool gslc_ElemXListboxAddItem (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
const char ∗ pStrItem )
Parameters
Returns
9.18.2.2 gslc_ElemXListboxCreate()
gslc_tsElemRef∗ gslc_ElemXListboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXListbox ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
uint8_t ∗ pBufItems,
uint16_t nBufItemsMax,
int16_t nSelDefault )
Parameters
Generated by Doxygen
9.18 src/elem/XListbox.c File Reference 373
Parameters
in pXData Ptr to extended element data structure
in rElem Rectangle coordinates defining checkbox size
in nFontId Font ID for item display
in pBufItems Pointer to buffer that will contain list of items
in nBufItemsMax Max size of buffer for list of items (pBufItems)
in nSelDefault Default item to select
Returns
9.18.2.3 gslc_ElemXListboxDeleteItemAt()
bool gslc_ElemXListboxDeleteItemAt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nDeletePos )
Parameters
Returns
9.18.2.4 gslc_ElemXListboxDraw()
bool gslc_ElemXListboxDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
374 File Documentation
Parameters
Returns
9.18.2.5 gslc_ElemXListboxGetItem()
bool gslc_ElemXListboxGetItem (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemCurSel,
char ∗ pStrItem,
uint8_t nStrItemLen )
Parameters
Returns
9.18.2.6 gslc_ElemXListboxGetItemAddr()
char∗ gslc_ElemXListboxGetItemAddr (
gslc_tsXListbox ∗ pListbox,
int16_t nItemCurSel )
9.18.2.7 gslc_ElemXListboxGetItemCnt()
int16_t gslc_ElemXListboxGetItemCnt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
9.18 src/elem/XListbox.c File Reference 375
Parameters
Returns
Number of items
9.18.2.8 gslc_ElemXListboxGetSel()
int16_t gslc_ElemXListboxGetSel (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.18.2.9 gslc_ElemXListboxInsertItemAt()
bool gslc_ElemXListboxInsertItemAt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nInsertPos,
const char ∗ pStrItem )
Parameters
Generated by Doxygen
376 File Documentation
Returns
9.18.2.10 gslc_ElemXListboxItemsSetGap()
void gslc_ElemXListboxItemsSetGap (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nGap,
gslc_tsColor colGap )
Parameters
Returns
none
9.18.2.11 gslc_ElemXListboxItemsSetSize()
void gslc_ElemXListboxItemsSetSize (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemW,
int16_t nItemH )
Parameters
Returns
none
Generated by Doxygen
9.18 src/elem/XListbox.c File Reference 377
9.18.2.12 gslc_ElemXListboxRecalcSize()
bool gslc_ElemXListboxRecalcSize (
gslc_tsXListbox ∗ pListbox,
gslc_tsRect rElem )
9.18.2.13 gslc_ElemXListboxReset()
void gslc_ElemXListboxReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.18.2.14 gslc_ElemXListboxSetMargin()
void gslc_ElemXListboxSetMargin (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nMarginW,
int8_t nMarginH )
• Defines the region bewteen the element rect and the inner listbox items
Parameters
Generated by Doxygen
378 File Documentation
Returns
none
9.18.2.15 gslc_ElemXListboxSetScrollPos()
bool gslc_ElemXListboxSetScrollPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nScrollPos )
Parameters
Returns
9.18.2.16 gslc_ElemXListboxSetSel()
bool gslc_ElemXListboxSetSel (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemCurSel )
Parameters
Returns
Generated by Doxygen
9.18 src/elem/XListbox.c File Reference 379
9.18.2.17 gslc_ElemXListboxSetSelFunc()
void gslc_ElemXListboxSetSelFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XLISTBOX_SEL funcCb )
Parameters
Returns
none
9.18.2.18 gslc_ElemXListboxSetSize()
void gslc_ElemXListboxSetSize (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nRows,
int8_t nCols )
Parameters
Returns
none
9.18.2.19 gslc_ElemXListboxTouch()
bool gslc_ElemXListboxTouch (
void ∗ pvGui,
Generated by Doxygen
380 File Documentation
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
9.18.3.1 ERRSTR_NULL
9.18.3.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XListbox.h:
src/elem/XListbox.h
GUIslice.h
Generated by Doxygen
9.19 src/elem/XListbox.h File Reference 381
This graph shows which files directly or indirectly include this file:
src/elem/XListbox.h
src/elem/XListbox.c
Data Structures
• struct gslc_tsXListbox
Extended data for Listbox element.
Macros
• #define GSLC_TYPEX_LISTBOX
• #define XLISTBOX_SEL_NONE
• #define XLISTBOX_SIZE_AUTO
• #define XLISTBOX_BUF_OH_R
Typedefs
Functions
Generated by Doxygen
382 File Documentation
9.19.1.1 GSLC_TYPEX_LISTBOX
#define GSLC_TYPEX_LISTBOX
9.19.1.2 XLISTBOX_BUF_OH_R
#define XLISTBOX_BUF_OH_R
9.19.1.3 XLISTBOX_SEL_NONE
#define XLISTBOX_SEL_NONE
Generated by Doxygen
9.19 src/elem/XListbox.h File Reference 383
9.19.1.4 XLISTBOX_SIZE_AUTO
#define XLISTBOX_SIZE_AUTO
9.19.2.1 GSLC_CB_XLISTBOX_SEL
9.19.3.1 gslc_ElemXListboxAddItem()
bool gslc_ElemXListboxAddItem (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
const char ∗ pStrItem )
Parameters
Returns
9.19.3.2 gslc_ElemXListboxCreate()
gslc_tsElemRef∗ gslc_ElemXListboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
Generated by Doxygen
384 File Documentation
gslc_tsXListbox ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
uint8_t ∗ pBufItems,
uint16_t nBufItemsMax,
int16_t nSelDefault )
Parameters
Returns
9.19.3.3 gslc_ElemXListboxDeleteItemAt()
bool gslc_ElemXListboxDeleteItemAt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nDeletePos )
Parameters
Returns
Generated by Doxygen
9.19 src/elem/XListbox.h File Reference 385
9.19.3.4 gslc_ElemXListboxDraw()
bool gslc_ElemXListboxDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.19.3.5 gslc_ElemXListboxGetItem()
bool gslc_ElemXListboxGetItem (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemCurSel,
char ∗ pStrItem,
uint8_t nStrItemLen )
Parameters
Returns
Generated by Doxygen
386 File Documentation
9.19.3.6 gslc_ElemXListboxGetItemCnt()
int16_t gslc_ElemXListboxGetItemCnt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Number of items
9.19.3.7 gslc_ElemXListboxGetSel()
int16_t gslc_ElemXListboxGetSel (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.19.3.8 gslc_ElemXListboxInsertItemAt()
bool gslc_ElemXListboxInsertItemAt (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nInsertPos,
const char ∗ pStrItem )
Generated by Doxygen
9.19 src/elem/XListbox.h File Reference 387
Parameters
Returns
9.19.3.9 gslc_ElemXListboxItemsSetGap()
void gslc_ElemXListboxItemsSetGap (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nGap,
gslc_tsColor colGap )
Parameters
Returns
none
9.19.3.10 gslc_ElemXListboxItemsSetSize()
void gslc_ElemXListboxItemsSetSize (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemW,
int16_t nItemH )
Parameters
Returns
none
9.19.3.11 gslc_ElemXListboxReset()
void gslc_ElemXListboxReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.19.3.12 gslc_ElemXListboxSetMargin()
void gslc_ElemXListboxSetMargin (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nMarginW,
int8_t nMarginH )
• Defines the region bewteen the element rect and the inner listbox items
Parameters
Returns
none
Generated by Doxygen
9.19 src/elem/XListbox.h File Reference 389
9.19.3.13 gslc_ElemXListboxSetScrollPos()
bool gslc_ElemXListboxSetScrollPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nScrollPos )
Parameters
Returns
9.19.3.14 gslc_ElemXListboxSetSel()
bool gslc_ElemXListboxSetSel (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nItemCurSel )
Parameters
Returns
9.19.3.15 gslc_ElemXListboxSetSelFunc()
void gslc_ElemXListboxSetSelFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XLISTBOX_SEL funcCb )
Generated by Doxygen
390 File Documentation
Parameters
Returns
none
9.19.3.16 gslc_ElemXListboxSetSize()
void gslc_ElemXListboxSetSize (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nRows,
int8_t nCols )
Parameters
Returns
none
9.19.3.17 gslc_ElemXListboxTouch()
bool gslc_ElemXListboxTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Generated by Doxygen
9.20 src/elem/XProgress.c File Reference 391
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XProgress.h"
#include <stdio.h>
Include dependency graph for XProgress.c:
src/elem/XProgress.c
GUIslice_drv.h elem/XProgress.h
GUIslice.h
Functions
• gslc_tsElemRef ∗ gslc_ElemXProgressCreate (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc_tsX←-
Progress ∗pXData, gslc_tsRect rElem, int16_t nMin, int16_t nMax, int16_t nVal, gslc_tsColor colGauge, bool
bVert)
Create a Progress Bar Element.
• void gslc_ElemXProgressSetVal (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, int16_t nVal)
Update a Gauge element's current value.
• void gslc_ElemXProgressSetFlip (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, bool bFlip)
Set a Gauge element's fill direction.
• void gslc_ElemXProgressSetGaugeCol (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_tsColor col←-
Gauge)
Set the gauge color.
• bool gslc_ElemXProgressDraw (void ∗pvGui, void ∗pvElemRef, gslc_teRedrawType eRedraw)
Draw a gauge element on the screen.
• bool gslc_ElemXProgressDrawHelp (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_teRedrawType e←-
Redraw)
Helper function to draw a gauge with style: progress bar.
Generated by Doxygen
392 File Documentation
Variables
9.20.1.1 gslc_ElemXProgressCreate()
gslc_tsElemRef∗ gslc_ElemXProgressCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXProgress ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Parameters
Returns
Generated by Doxygen
9.20 src/elem/XProgress.c File Reference 393
9.20.1.2 gslc_ElemXProgressDraw()
bool gslc_ElemXProgressDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.20.1.3 gslc_ElemXProgressDrawHelp()
bool gslc_ElemXProgressDrawHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
Generated by Doxygen
394 File Documentation
9.20.1.4 gslc_ElemXProgressSetFlip()
void gslc_ElemXProgressSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Parameters
Returns
none
9.20.1.5 gslc_ElemXProgressSetGaugeCol()
void gslc_ElemXProgressSetGaugeCol (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge )
Parameters
Returns
none
Generated by Doxygen
9.21 src/elem/XProgress.h File Reference 395
9.20.1.6 gslc_ElemXProgressSetVal()
void gslc_ElemXProgressSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
9.20.2.1 ERRSTR_NULL
9.20.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XProgress.h:
src/elem/XProgress.h
GUIslice.h
Generated by Doxygen
396 File Documentation
This graph shows which files directly or indirectly include this file:
src/elem/XProgress.h
src/elem/XProgress.c
Data Structures
• struct gslc_tsXProgress
Extended data for Gauge element.
Macros
• #define GSLC_TYPEX_PROGRESS
• #define gslc_ElemXProgressCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nMin_, nMax_, nVal_, col←-
Frame_, colFill_, colGauge_, bVert_)
Create a Gauge Element in Flash.
Functions
Generated by Doxygen
9.21 src/elem/XProgress.h File Reference 397
9.21.1.1 gslc_ElemXProgressCreate_P
#define gslc_ElemXProgressCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nMin_,
nMax_,
nVal_,
colFrame_,
colFill_,
colGauge_,
bVert_ )
Parameters
Returns
none
9.21.1.2 GSLC_TYPEX_PROGRESS
#define GSLC_TYPEX_PROGRESS
Generated by Doxygen
398 File Documentation
9.21.2.1 gslc_ElemXProgressCreate()
gslc_tsElemRef∗ gslc_ElemXProgressCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXProgress ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Parameters
Returns
9.21.2.2 gslc_ElemXProgressDraw()
bool gslc_ElemXProgressDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.21 src/elem/XProgress.h File Reference 399
Parameters
Returns
9.21.2.3 gslc_ElemXProgressDrawHelp()
bool gslc_ElemXProgressDrawHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.21.2.4 gslc_ElemXProgressSetFlip()
void gslc_ElemXProgressSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Generated by Doxygen
400 File Documentation
Parameters
Returns
none
9.21.2.5 gslc_ElemXProgressSetGaugeCol()
void gslc_ElemXProgressSetGaugeCol (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge )
Parameters
Returns
none
9.21.2.6 gslc_ElemXProgressSetVal()
void gslc_ElemXProgressSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XRadial.h"
#include <stdio.h>
#include <math.h>
Include dependency graph for XRadial.c:
src/elem/XRadial.c
GUIslice.h
Functions
Generated by Doxygen
402 File Documentation
Variables
9.22.1.1 gslc_ElemXRadialCreate()
gslc_tsElemRef∗ gslc_ElemXRadialCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRadial ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Parameters
Returns
9.22.1.2 gslc_ElemXRadialDraw()
bool gslc_ElemXRadialDraw (
void ∗ pvGui,
Generated by Doxygen
9.22 src/elem/XRadial.c File Reference 403
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.22.1.3 gslc_ElemXRadialDrawRadial()
bool gslc_ElemXRadialDrawRadial (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.22.1.4 gslc_ElemXRadialDrawRadialHelp()
void gslc_ElemXRadialDrawRadialHelp (
gslc_tsGui ∗ pGui,
Generated by Doxygen
404 File Documentation
int16_t nX,
int16_t nY,
uint16_t nArrowLen,
uint16_t nArrowSz,
int16_t n64Ang,
bool bFill,
gslc_tsColor colFrame )
9.22.1.5 gslc_ElemXRadialSetFlip()
void gslc_ElemXRadialSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Parameters
Returns
none
9.22.1.6 gslc_ElemXRadialSetIndicator()
void gslc_ElemXRadialSetIndicator (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge,
uint16_t nIndicLen,
uint16_t nIndicTip,
bool bIndicFill )
Parameters
Generated by Doxygen
9.22 src/elem/XRadial.c File Reference 405
Parameters
Returns
none
9.22.1.7 gslc_ElemXRadialSetTicks()
void gslc_ElemXRadialSetTicks (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colTick,
uint16_t nTickCnt,
uint16_t nTickLen )
Parameters
Returns
none
9.22.1.8 gslc_ElemXRadialSetVal()
void gslc_ElemXRadialSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Generated by Doxygen
406 File Documentation
Parameters
Returns
none
9.22.2.1 ERRSTR_NULL
9.22.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XRadial.h:
src/elem/XRadial.h
GUIslice.h
Generated by Doxygen
9.23 src/elem/XRadial.h File Reference 407
This graph shows which files directly or indirectly include this file:
src/elem/XRadial.h
src/elem/XRadial.c
Data Structures
• struct gslc_tsXRadial
Extended data for Gauge element.
Macros
• #define GSLC_TYPEX_RADIAL
• #define gslc_ElemXRadialCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nMin_, nMax_, nVal_, col←-
Frame_, colFill_, colGauge_)
Create a Gauge Element in Flash.
Functions
Generated by Doxygen
408 File Documentation
9.23.1.1 gslc_ElemXRadialCreate_P
#define gslc_ElemXRadialCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nMin_,
nMax_,
nVal_,
colFrame_,
colFill_,
colGauge_ )
Parameters
Returns
none
9.23.1.2 GSLC_TYPEX_RADIAL
#define GSLC_TYPEX_RADIAL
Generated by Doxygen
9.23 src/elem/XRadial.h File Reference 409
9.23.2.1 gslc_ElemXRadialCreate()
gslc_tsElemRef∗ gslc_ElemXRadialCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRadial ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Parameters
Returns
9.23.2.2 gslc_ElemXRadialDraw()
bool gslc_ElemXRadialDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
410 File Documentation
Parameters
Returns
9.23.2.3 gslc_ElemXRadialDrawRadial()
bool gslc_ElemXRadialDrawRadial (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.23.2.4 gslc_ElemXRadialSetFlip()
void gslc_ElemXRadialSetFlip (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bFlip )
Generated by Doxygen
9.23 src/elem/XRadial.h File Reference 411
Parameters
Returns
none
9.23.2.5 gslc_ElemXRadialSetIndicator()
void gslc_ElemXRadialSetIndicator (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colGauge,
uint16_t nIndicLen,
uint16_t nIndicTip,
bool bIndicFill )
Parameters
Returns
none
9.23.2.6 gslc_ElemXRadialSetTicks()
void gslc_ElemXRadialSetTicks (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colTick,
uint16_t nTickCnt,
uint16_t nTickLen )
Generated by Doxygen
412 File Documentation
Parameters
Returns
none
9.23.2.7 gslc_ElemXRadialSetVal()
void gslc_ElemXRadialSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XRamp.h"
#include <stdio.h>
Generated by Doxygen
9.24 src/elem/XRamp.c File Reference 413
src/elem/XRamp.c
GUIslice_drv.h elem/XRamp.h
GUIslice.h
Functions
Variables
9.24.1.1 gslc_ElemXRampCreate()
gslc_tsElemRef∗ gslc_ElemXRampCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRamp ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
Generated by Doxygen
414 File Documentation
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Parameters
Returns
9.24.1.2 gslc_ElemXRampDraw()
bool gslc_ElemXRampDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Generated by Doxygen
9.24 src/elem/XRamp.c File Reference 415
Returns
9.24.1.3 gslc_ElemXRampDrawHelp()
bool gslc_ElemXRampDrawHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.24.1.4 gslc_ElemXRampSetVal()
void gslc_ElemXRampSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Generated by Doxygen
416 File Documentation
Returns
none
9.24.2.1 ERRSTR_NULL
9.24.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XRamp.h:
src/elem/XRamp.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XRamp.h
src/elem/XRamp.c
Generated by Doxygen
9.25 src/elem/XRamp.h File Reference 417
Data Structures
• struct gslc_tsXRamp
Extended data for Gauge element.
Macros
• #define GSLC_TYPEX_RAMP
• #define gslc_ElemXRampCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nMin_, nMax_, nVal_, col←-
Frame_, colFill_)
Create a Gauge Element in Flash.
Functions
9.25.1.1 gslc_ElemXRampCreate_P
#define gslc_ElemXRampCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nMin_,
nMax_,
nVal_,
colFrame_,
colFill_ )
Generated by Doxygen
418 File Documentation
Parameters
Returns
none
9.25.1.2 GSLC_TYPEX_RAMP
#define GSLC_TYPEX_RAMP
9.25.2.1 gslc_ElemXRampCreate()
gslc_tsElemRef∗ gslc_ElemXRampCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRamp ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
gslc_tsColor colGauge,
bool bVert )
• Draws a gauge element that represents a proportion (nVal) between nMin and nMax.
Generated by Doxygen
9.25 src/elem/XRamp.h File Reference 419
Parameters
Returns
9.25.2.2 gslc_ElemXRampDraw()
bool gslc_ElemXRampDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.25.2.3 gslc_ElemXRampDrawHelp()
bool gslc_ElemXRampDrawHelp (
gslc_tsGui ∗ pGui,
Generated by Doxygen
420 File Documentation
gslc_tsElemRef ∗ pElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.25.2.4 gslc_ElemXRampSetVal()
void gslc_ElemXRampSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Parameters
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XRingGauge.h"
Generated by Doxygen
9.26 src/elem/XRingGauge.c File Reference 421
#include <stdio.h>
Include dependency graph for XRingGauge.c:
src/elem/XRingGauge.c
GUIslice_drv.h elem/XRingGauge.h
GUIslice.h
Functions
Variables
Generated by Doxygen
422 File Documentation
9.26.1.1 gslc_ElemXRingGaugeCreate()
gslc_tsElemRef∗ gslc_ElemXRingGaugeCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRingGauge ∗ pXData,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Parameters
Returns
9.26.1.2 gslc_ElemXRingGaugeDraw()
bool gslc_ElemXRingGaugeDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.26 src/elem/XRingGauge.c File Reference 423
Parameters
Returns
9.26.1.3 gslc_ElemXRingGaugeSetAngleRange()
void gslc_ElemXRingGaugeSetAngleRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nStart,
int16_t nRange,
bool bClockwise )
Defines the angular range of the gauge, including both the active and inactive regions.
• The current position marks the end of the active region and the beginning of the inactive region.
• nRange defines the angular range from the start of the active region to the end of the inactive region. In most
cases, a range of 360 degrees is used.
• Angles are measured with 0 at the top, 90 towards the right, 180 towards the bottom, 270 towards the left,
etc.
Parameters
Returns
none
Generated by Doxygen
424 File Documentation
9.26.1.4 gslc_ElemXRingGaugeSetColorActiveFlat()
void gslc_ElemXRingGaugeSetColorActiveFlat (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colActive )
Parameters
Returns
none
9.26.1.5 gslc_ElemXRingGaugeSetColorActiveGradient()
void gslc_ElemXRingGaugeSetColorActiveGradient (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colStart,
gslc_tsColor colEnd )
Defines the color of the active region to be a gradient using two color stops.
The active region will be filled according to the proportion between nMin and nMax. The gradient is defined by a
linear RGB blend between the two color stops(colStart and colEnd)
Parameters
Returns
none
9.26.1.6 gslc_ElemXRingGaugeSetColorInactive()
void gslc_ElemXRingGaugeSetColorInactive (
gslc_tsGui ∗ pGui,
Generated by Doxygen
9.26 src/elem/XRingGauge.c File Reference 425
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colInactive )
The inactive color is often set to be the same as the background but it can be set to a different color to indicate the
remainder of the value range that is yet to be filled.
Parameters
Returns
none
9.26.1.7 gslc_ElemXRingGaugeSetQuality()
void gslc_ElemXRingGaugeSetQuality (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nSegments )
Sets the quality of the ring drawing by defining the number of segments that are used when rendering a 360 degree
gauge.The larger the number, the more segments are used and the smoother the curve.
A larger ring gauge may need a higher quality number to maintain a smoothed curve appearance.
Parameters
Returns
none
9.26.1.8 gslc_ElemXRingGaugeSetThickness()
void gslc_ElemXRingGaugeSetThickness (
gslc_tsGui ∗ pGui,
Generated by Doxygen
426 File Documentation
gslc_tsElemRef ∗ pElemRef,
int8_t nThickness )
More specifically, it defines the reduction in radius from the outer radius to the inner radius in pixels.
Parameters
Returns
none
9.26.1.9 gslc_ElemXRingGaugeSetVal()
void gslc_ElemXRingGaugeSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Updates the current value of the ring gauge. The active region will be drawn up to the position defined by nVal within
the value range defined by SetValRange(nMin,nMax). A SetVal() close to nMin will cause a very small active region
to be drawn and a large remainder drawn in the inactive color, whereas a SetVal() close to nMax will cause a more
complete active region to be drawn.When SetVal() equals nMax, the entire angular range will be drawn in the active
color (and no inactive region).
Parameters
Returns
none
Generated by Doxygen
9.26 src/elem/XRingGauge.c File Reference 427
9.26.1.10 gslc_ElemXRingGaugeSetValRange()
void gslc_ElemXRingGaugeSetValRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nValMin,
int16_t nValMax )
Defines the range of values that may be passed into SetVal(), used to scale the input to SetVal().
• Default is 0..100.
Parameters
Returns
none
9.26.2.1 ERRSTR_NULL
9.26.2.2 ERRSTR_PXD_NULL
Generated by Doxygen
428 File Documentation
#include "GUIslice.h"
Include dependency graph for XRingGauge.h:
src/elem/XRingGauge.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XRingGauge.h
src/elem/XRingGauge.c
Data Structures
• struct gslc_tsXRingGauge
Extended data for XRingGauge element.
Macros
• #define GSLC_TYPEX_RING
• #define XRING_STR_MAX
Functions
Generated by Doxygen
9.27 src/elem/XRingGauge.h File Reference 429
9.27.1.1 GSLC_TYPEX_RING
#define GSLC_TYPEX_RING
9.27.1.2 XRING_STR_MAX
#define XRING_STR_MAX
9.27.2.1 gslc_ElemXRingGaugeCreate()
gslc_tsElemRef∗ gslc_ElemXRingGaugeCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXRingGauge ∗ pXData,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Generated by Doxygen
430 File Documentation
Parameters
Returns
9.27.2.2 gslc_ElemXRingGaugeDraw()
bool gslc_ElemXRingGaugeDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.27.2.3 gslc_ElemXRingGaugeSetAngleRange()
void gslc_ElemXRingGaugeSetAngleRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nStart,
Generated by Doxygen
9.27 src/elem/XRingGauge.h File Reference 431
int16_t nRange,
bool bClockwise )
Defines the angular range of the gauge, including both the active and inactive regions.
• The current position marks the end of the active region and the beginning of the inactive region.
• nRange defines the angular range from the start of the active region to the end of the inactive region. In most
cases, a range of 360 degrees is used.
• Angles are measured with 0 at the top, 90 towards the right, 180 towards the bottom, 270 towards the left,
etc.
Parameters
Returns
none
9.27.2.4 gslc_ElemXRingGaugeSetColorActiveFlat()
void gslc_ElemXRingGaugeSetColorActiveFlat (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colActive )
Parameters
Returns
none
Generated by Doxygen
432 File Documentation
9.27.2.5 gslc_ElemXRingGaugeSetColorActiveGradient()
void gslc_ElemXRingGaugeSetColorActiveGradient (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colStart,
gslc_tsColor colEnd )
Defines the color of the active region to be a gradient using two color stops.
The active region will be filled according to the proportion between nMin and nMax. The gradient is defined by a
linear RGB blend between the two color stops(colStart and colEnd)
Parameters
Returns
none
9.27.2.6 gslc_ElemXRingGaugeSetColorInactive()
void gslc_ElemXRingGaugeSetColorInactive (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor colInactive )
The inactive color is often set to be the same as the background but it can be set to a different color to indicate the
remainder of the value range that is yet to be filled.
Parameters
Returns
none
Generated by Doxygen
9.27 src/elem/XRingGauge.h File Reference 433
9.27.2.7 gslc_ElemXRingGaugeSetQuality()
void gslc_ElemXRingGaugeSetQuality (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint16_t nSegments )
Sets the quality of the ring drawing by defining the number of segments that are used when rendering a 360 degree
gauge.The larger the number, the more segments are used and the smoother the curve.
A larger ring gauge may need a higher quality number to maintain a smoothed curve appearance.
Parameters
Returns
none
9.27.2.8 gslc_ElemXRingGaugeSetThickness()
void gslc_ElemXRingGaugeSetThickness (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int8_t nThickness )
More specifically, it defines the reduction in radius from the outer radius to the inner radius in pixels.
Parameters
Returns
none
Generated by Doxygen
434 File Documentation
9.27.2.9 gslc_ElemXRingGaugeSetVal()
void gslc_ElemXRingGaugeSetVal (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nVal )
Updates the current value of the ring gauge. The active region will be drawn up to the position defined by nVal within
the value range defined by SetValRange(nMin,nMax). A SetVal() close to nMin will cause a very small active region
to be drawn and a large remainder drawn in the inactive color, whereas a SetVal() close to nMax will cause a more
complete active region to be drawn.When SetVal() equals nMax, the entire angular range will be drawn in the active
color (and no inactive region).
Parameters
Returns
none
9.27.2.10 gslc_ElemXRingGaugeSetValRange()
void gslc_ElemXRingGaugeSetValRange (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nValMin,
int16_t nValMax )
Defines the range of values that may be passed into SetVal(), used to scale the input to SetVal().
• Default is 0..100.
Parameters
Returns
none
Generated by Doxygen
9.28 src/elem/XSeekbar.c File Reference 435
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XSeekbar.h"
#include <stdio.h>
Include dependency graph for XSeekbar.c:
src/elem/XSeekbar.c
GUIslice_drv.h elem/XSeekbar.h
GUIslice.h
Functions
Variables
Generated by Doxygen
436 File Documentation
9.28.1.1 gslc_ElemXSeekbarCreate()
gslc_tsElemRef∗ gslc_ElemXSeekbarCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSeekbar ∗ pXData,
gslc_tsRect rElem,
int16_t nPosMin,
int16_t nPosMax,
int16_t nPos,
uint8_t nProgressW,
uint8_t nRemainW,
uint8_t nThumbSz,
gslc_tsColor colProgress,
gslc_tsColor colRemain,
gslc_tsColor colThumb,
bool bVert )
Parameters
Returns
Generated by Doxygen
9.28 src/elem/XSeekbar.c File Reference 437
9.28.1.2 gslc_ElemXSeekbarDraw()
bool gslc_ElemXSeekbarDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.28.1.3 gslc_ElemXSeekbarGetPos()
int gslc_ElemXSeekbarGetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.28.1.4 gslc_ElemXSeekbarSetPos()
void gslc_ElemXSeekbarSetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nPos )
Generated by Doxygen
438 File Documentation
Parameters
Returns
none
9.28.1.5 gslc_ElemXSeekbarSetPosFunc()
void gslc_ElemXSeekbarSetPosFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XSEEKBAR_POS funcCb )
Parameters
Returns
none
9.28.1.6 gslc_ElemXSeekbarSetStyle()
void gslc_ElemXSeekbarSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bTrimThumb,
gslc_tsColor colTrim,
bool bFrameThumb,
gslc_tsColor colFrame,
uint16_t nTickDiv,
int16_t nTickLen,
gslc_tsColor colTick )
Set a Seekbar element's style, this includes thumb customizations and tick marks.
Generated by Doxygen
9.28 src/elem/XSeekbar.c File Reference 439
Parameters
Returns
none
9.28.1.7 gslc_ElemXSeekbarTouch()
bool gslc_ElemXSeekbarTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
Generated by Doxygen
440 File Documentation
9.28.2.1 ERRSTR_NULL
9.28.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XSeekbar.h:
src/elem/XSeekbar.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XSeekbar.h
src/elem/XSeekbar.c
Data Structures
• struct gslc_tsXSeekbar
Extended data for Seekbar element.
Generated by Doxygen
9.29 src/elem/XSeekbar.h File Reference 441
Macros
• #define GSLC_TYPEX_SEEKBAR
• #define gslc_ElemXSeekbarCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nPosMin_, nPosMax_, nPos←-
_, nProgressW_, nRemainW_, nThumbSz_, colProgress_, colRemain_, colThumb_, bVert_, colFrame_←-
, colFill_)
Create a Seekbar Element in Flash.
Typedefs
Functions
Generated by Doxygen
442 File Documentation
9.29.1.1 gslc_ElemXSeekbarCreate_P
#define gslc_ElemXSeekbarCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nPosMin_,
nPosMax_,
nPos_,
nProgressW_,
nRemainW_,
nThumbSz_,
colProgress_,
colRemain_,
colThumb_,
bVert_,
colFrame_,
colFill_ )
Parameters
Generated by Doxygen
9.29 src/elem/XSeekbar.h File Reference 443
Returns
none
9.29.1.2 GSLC_TYPEX_SEEKBAR
#define GSLC_TYPEX_SEEKBAR
9.29.2.1 GSLC_CB_XSEEKBAR_POS
9.29.3.1 gslc_ElemXSeekbarCreate()
gslc_tsElemRef∗ gslc_ElemXSeekbarCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSeekbar ∗ pXData,
gslc_tsRect rElem,
int16_t nPosMin,
int16_t nPosMax,
int16_t nPos,
uint8_t nProgressW,
uint8_t nRemainW,
uint8_t nThumbSz,
gslc_tsColor colProgress,
gslc_tsColor colRemain,
gslc_tsColor colThumb,
bool bVert )
Parameters
Generated by Doxygen
444 File Documentation
Parameters
in nPage Page ID to attach element to
in pXData Ptr to extended element data structure
in rElem Rectangle coordinates defining checkbox size
in nPosMin Minimum position value
in nPosMax Maximum position value
in nPos Starting position value
in nProgressW Width of progress track
in nRemainW Width of remaining track
in nThumbSz Size of the thumb control
in colProgress Color of progress fill bar
in colRemain Color remaining fill bar
in colThumb Color for the thumb indicator
in bVert Orientation (true for vertical)
Returns
9.29.3.2 gslc_ElemXSeekbarDraw()
bool gslc_ElemXSeekbarDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
Generated by Doxygen
9.29 src/elem/XSeekbar.h File Reference 445
9.29.3.3 gslc_ElemXSeekbarGetPos()
int gslc_ElemXSeekbarGetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.29.3.4 gslc_ElemXSeekbarSetPos()
void gslc_ElemXSeekbarSetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nPos )
Parameters
Returns
none
9.29.3.5 gslc_ElemXSeekbarSetPosFunc()
void gslc_ElemXSeekbarSetPosFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XSEEKBAR_POS funcCb )
Generated by Doxygen
446 File Documentation
Parameters
Returns
none
9.29.3.6 gslc_ElemXSeekbarSetStyle()
void gslc_ElemXSeekbarSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bTrimThumb,
gslc_tsColor colTrim,
bool bFrameThumb,
gslc_tsColor colFrame,
uint16_t nTickDiv,
int16_t nTickLen,
gslc_tsColor colTick )
Set a Seekbar element's style, this includes thumb customizations and tick marks.
Parameters
Returns
none
9.29.3.7 gslc_ElemXSeekbarTouch()
bool gslc_ElemXSeekbarTouch (
void ∗ pvGui,
Generated by Doxygen
9.30 src/elem/XSelNum.c File Reference 447
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XSelNum.h"
#include <stdio.h>
Include dependency graph for XSelNum.c:
src/elem/XSelNum.c
GUIslice_drv.h elem/XSelNum.h
GUIslice.h
Functions
Generated by Doxygen
448 File Documentation
Variables
9.30.1.1 gslc_ElemXSelNumClick()
bool gslc_ElemXSelNumClick (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nX,
int16_t nY )
Parameters
Generated by Doxygen
9.30 src/elem/XSelNum.c File Reference 449
Returns
none
9.30.1.2 gslc_ElemXSelNumCreate()
gslc_tsElemRef∗ gslc_ElemXSelNumCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSelNum ∗ pXData,
gslc_tsRect rElem,
int8_t nFontId )
Parameters
Returns
9.30.1.3 gslc_ElemXSelNumDraw()
bool gslc_ElemXSelNumDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Generated by Doxygen
450 File Documentation
Returns
9.30.1.4 gslc_ElemXSelNumGetCounter()
int gslc_ElemXSelNumGetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSelNum ∗ pSelNum )
Parameters
Returns
9.30.1.5 gslc_ElemXSelNumSetCounter()
void gslc_ElemXSelNumSetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSelNum ∗ pSelNum,
int16_t nCount )
Parameters
Returns
none
9.30.1.6 gslc_ElemXSelNumTouch()
bool gslc_ElemXSelNumTouch (
void ∗ pvGui,
Generated by Doxygen
9.30 src/elem/XSelNum.c File Reference 451
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
9.30.2.1 ERRSTR_NULL
9.30.2.2 ERRSTR_PXD_NULL
9.30.2.3 SELNUM_ID_BTN_DEC
9.30.2.4 SELNUM_ID_BTN_INC
Generated by Doxygen
452 File Documentation
9.30.2.5 SELNUM_ID_TXT
#include "GUIslice.h"
Include dependency graph for XSelNum.h:
src/elem/XSelNum.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XSelNum.h
src/elem/XSelNum.c src/GUIslice_ex.h
Data Structures
• struct gslc_tsXSelNum
Extended data for SelNum element.
Macros
• #define GSLC_TYPEX_SELNUM
• #define SELNUM_STR_LEN
Generated by Doxygen
9.31 src/elem/XSelNum.h File Reference 453
Functions
9.31.1.1 GSLC_TYPEX_SELNUM
#define GSLC_TYPEX_SELNUM
9.31.1.2 SELNUM_STR_LEN
#define SELNUM_STR_LEN
9.31.2.1 gslc_ElemXSelNumClick()
bool gslc_ElemXSelNumClick (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nX,
int16_t nY )
Generated by Doxygen
454 File Documentation
Parameters
Returns
none
9.31.2.2 gslc_ElemXSelNumCreate()
gslc_tsElemRef∗ gslc_ElemXSelNumCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSelNum ∗ pXData,
gslc_tsRect rElem,
int8_t nFontId )
Parameters
Returns
9.31.2.3 gslc_ElemXSelNumDraw()
bool gslc_ElemXSelNumDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.31 src/elem/XSelNum.h File Reference 455
Parameters
Returns
9.31.2.4 gslc_ElemXSelNumGetCounter()
int gslc_ElemXSelNumGetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSelNum ∗ pSelNum )
Parameters
Returns
9.31.2.5 gslc_ElemXSelNumSetCounter()
void gslc_ElemXSelNumSetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSelNum ∗ pSelNum,
int16_t nCount )
Parameters
Generated by Doxygen
456 File Documentation
Returns
none
9.31.2.6 gslc_ElemXSelNumTouch()
bool gslc_ElemXSelNumTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XSlider.h"
#include <stdio.h>
Generated by Doxygen
9.32 src/elem/XSlider.c File Reference 457
src/elem/XSlider.c
GUIslice_drv.h elem/XSlider.h
GUIslice.h
Functions
Variables
Generated by Doxygen
458 File Documentation
9.32.1.1 gslc_ElemXSliderCreate()
gslc_tsElemRef∗ gslc_ElemXSliderCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSlider ∗ pXData,
gslc_tsRect rElem,
int16_t nPosMin,
int16_t nPosMax,
int16_t nPos,
uint16_t nThumbSz,
bool bVert )
Parameters
Returns
9.32.1.2 gslc_ElemXSliderDraw()
bool gslc_ElemXSliderDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.32.1.3 gslc_ElemXSliderGetPos()
int gslc_ElemXSliderGetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.32.1.4 gslc_ElemXSliderSetPos()
void gslc_ElemXSliderSetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nPos )
Parameters
Returns
none
Generated by Doxygen
460 File Documentation
9.32.1.5 gslc_ElemXSliderSetPosFunc()
void gslc_ElemXSliderSetPosFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XSLIDER_POS funcCb )
Parameters
Returns
none
9.32.1.6 gslc_ElemXSliderSetSnapEn()
void gslc_ElemXSliderSetSnapEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bSnapEn )
Parameters
Returns
none
9.32.1.7 gslc_ElemXSliderSetStyle()
void gslc_ElemXSliderSetStyle (
gslc_tsGui ∗ pGui,
Generated by Doxygen
9.32 src/elem/XSlider.c File Reference 461
gslc_tsElemRef ∗ pElemRef,
bool bTrim,
gslc_tsColor colTrim,
uint16_t nTickDiv,
int16_t nTickLen,
gslc_tsColor colTick )
Parameters
Returns
none
9.32.1.8 gslc_ElemXSliderTouch()
bool gslc_ElemXSliderTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
Generated by Doxygen
462 File Documentation
9.32.2.1 ERRSTR_NULL
9.32.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XSlider.h:
src/elem/XSlider.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XSlider.h
src/elem/XSlider.c src/GUIslice_ex.h
Generated by Doxygen
9.33 src/elem/XSlider.h File Reference 463
Data Structures
• struct gslc_tsXSlider
Extended data for Slider element.
Macros
• #define GSLC_TYPEX_SLIDER
• #define gslc_ElemXSliderCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, nPosMin_, nPosMax_, nPos_,
nThumbSz_, bVert_, colFrame_, colFill_)
Create a Slider Element in Flash.
Typedefs
Functions
Generated by Doxygen
464 File Documentation
9.33.1.1 gslc_ElemXSliderCreate_P
#define gslc_ElemXSliderCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
nPosMin_,
nPosMax_,
nPos_,
nThumbSz_,
bVert_,
colFrame_,
colFill_ )
Parameters
Returns
none
9.33.1.2 GSLC_TYPEX_SLIDER
#define GSLC_TYPEX_SLIDER
Generated by Doxygen
9.33 src/elem/XSlider.h File Reference 465
9.33.2.1 GSLC_CB_XSLIDER_POS
9.33.3.1 gslc_ElemXSliderCreate()
gslc_tsElemRef∗ gslc_ElemXSliderCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSlider ∗ pXData,
gslc_tsRect rElem,
int16_t nPosMin,
int16_t nPosMax,
int16_t nPos,
uint16_t nThumbSz,
bool bVert )
Parameters
Returns
Generated by Doxygen
466 File Documentation
9.33.3.2 gslc_ElemXSliderDraw()
bool gslc_ElemXSliderDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.33.3.3 gslc_ElemXSliderGetPos()
int gslc_ElemXSliderGetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
9.33.3.4 gslc_ElemXSliderSetPos()
void gslc_ElemXSliderSetPos (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
int16_t nPos )
Generated by Doxygen
9.33 src/elem/XSlider.h File Reference 467
Parameters
Returns
none
9.33.3.5 gslc_ElemXSliderSetPosFunc()
void gslc_ElemXSliderSetPosFunc (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
GSLC_CB_XSLIDER_POS funcCb )
Parameters
Returns
none
9.33.3.6 gslc_ElemXSliderSetSnapEn()
void gslc_ElemXSliderSetSnapEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bSnapEn )
Generated by Doxygen
468 File Documentation
Parameters
Returns
none
9.33.3.7 gslc_ElemXSliderSetStyle()
void gslc_ElemXSliderSetStyle (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bTrim,
gslc_tsColor colTrim,
uint16_t nTickDiv,
int16_t nTickLen,
gslc_tsColor colTick )
Parameters
Returns
none
9.33.3.8 gslc_ElemXSliderTouch()
bool gslc_ElemXSliderTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Generated by Doxygen
9.34 src/elem/XSpinner.c File Reference 469
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XSpinner.h"
#include <stdio.h>
Include dependency graph for XSpinner.c:
src/elem/XSpinner.c
GUIslice_drv.h elem/XSpinner.h
GUIslice.h
Functions
Generated by Doxygen
470 File Documentation
Variables
9.34.1.1 gslc_ElemXSpinnerClick()
bool gslc_ElemXSpinnerClick (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nX,
int16_t nY )
Parameters
Returns
none
Generated by Doxygen
9.34 src/elem/XSpinner.c File Reference 471
9.34.1.2 gslc_ElemXSpinnerCreate()
gslc_tsElemRef∗ gslc_ElemXSpinnerCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSpinner ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
int16_t nIncr,
int8_t nFontId,
int8_t nButtonSz,
GSLC_CB_INPUT cbInput )
Parameters
Returns
9.34.1.3 gslc_ElemXSpinnerDraw()
bool gslc_ElemXSpinnerDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
472 File Documentation
Parameters
Returns
9.34.1.4 gslc_ElemXSpinnerGetCounter()
int gslc_ElemXSpinnerGetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSpinner ∗ pSpinner )
Parameters
Returns
9.34.1.5 gslc_ElemXSpinnerSetChars()
bool gslc_ElemXSpinnerSetChars (
void ∗ pvGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t cIncr,
uint8_t cDecr )
Parameters
Returns
9.34.1.6 gslc_ElemXSpinnerSetCounter()
void gslc_ElemXSpinnerSetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSpinner ∗ pSpinner,
int16_t nCount )
Parameters
Returns
none
9.34.1.7 gslc_ElemXSpinnerTouch()
bool gslc_ElemXSpinnerTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Generated by Doxygen
474 File Documentation
Returns
9.34.2.1 ERRSTR_NULL
9.34.2.2 ERRSTR_PXD_NULL
9.34.2.3 SPINNER_ID_BTN_DEC
9.34.2.4 SPINNER_ID_BTN_INC
9.34.2.5 SPINNER_ID_TXT
Generated by Doxygen
9.35 src/elem/XSpinner.h File Reference 475
#include "GUIslice.h"
Include dependency graph for XSpinner.h:
src/elem/XSpinner.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XSpinner.h
src/elem/XSpinner.c
Data Structures
• struct gslc_tsXSpinner
Extended data for Spinner element.
Macros
• #define GSLC_TYPEX_SPINNER
• #define XSPINNER_COMP_CNT
• #define XSPINNER_STR_LEN
• #define XSPINNER_CB_STATE_UPDATE
Generated by Doxygen
476 File Documentation
Functions
9.35.1.1 GSLC_TYPEX_SPINNER
#define GSLC_TYPEX_SPINNER
9.35.1.2 XSPINNER_CB_STATE_UPDATE
#define XSPINNER_CB_STATE_UPDATE
9.35.1.3 XSPINNER_COMP_CNT
#define XSPINNER_COMP_CNT
9.35.1.4 XSPINNER_STR_LEN
#define XSPINNER_STR_LEN
Generated by Doxygen
9.35 src/elem/XSpinner.h File Reference 477
9.35.2.1 gslc_ElemXSpinnerClick()
bool gslc_ElemXSpinnerClick (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nX,
int16_t nY )
Parameters
Returns
none
9.35.2.2 gslc_ElemXSpinnerCreate()
gslc_tsElemRef∗ gslc_ElemXSpinnerCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXSpinner ∗ pXData,
gslc_tsRect rElem,
int16_t nMin,
int16_t nMax,
int16_t nVal,
int16_t nIncr,
int8_t nFontId,
int8_t nButtonSz,
GSLC_CB_INPUT cbInput )
Generated by Doxygen
478 File Documentation
Parameters
Returns
9.35.2.3 gslc_ElemXSpinnerDraw()
bool gslc_ElemXSpinnerDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.35.2.4 gslc_ElemXSpinnerGetCounter()
int gslc_ElemXSpinnerGetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSpinner ∗ pSpinner )
Generated by Doxygen
9.35 src/elem/XSpinner.h File Reference 479
Parameters
Returns
9.35.2.5 gslc_ElemXSpinnerSetChars()
bool gslc_ElemXSpinnerSetChars (
void ∗ pvGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t cIncr,
uint8_t cDecr )
Parameters
Returns
9.35.2.6 gslc_ElemXSpinnerSetCounter()
void gslc_ElemXSpinnerSetCounter (
gslc_tsGui ∗ pGui,
gslc_tsXSpinner ∗ pSpinner,
int16_t nCount )
Generated by Doxygen
480 File Documentation
Parameters
Returns
none
9.35.2.7 gslc_ElemXSpinnerTouch()
bool gslc_ElemXSpinnerTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XTemplate.h"
#include <stdio.h>
Generated by Doxygen
9.36 src/elem/XTemplate.c File Reference 481
src/elem/XTemplate.c
GUIslice_drv.h elem/XTemplate.h
GUIslice.h
Functions
Variables
9.36.1.1 gslc_ElemXTemplateCreate()
gslc_tsElemRef∗ gslc_ElemXTemplateCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTemplate ∗ pXData,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Generated by Doxygen
482 File Documentation
Parameters
Returns
9.36.1.2 gslc_ElemXTemplateDraw()
bool gslc_ElemXTemplateDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.36.1.3 gslc_ElemXTemplateTouch()
bool gslc_ElemXTemplateTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Generated by Doxygen
9.37 src/elem/XTemplate.h File Reference 483
Parameters
Returns
9.36.2.1 ERRSTR_NULL
9.36.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XTemplate.h:
src/elem/XTemplate.h
GUIslice.h
Generated by Doxygen
484 File Documentation
This graph shows which files directly or indirectly include this file:
src/elem/XTemplate.h
src/elem/XTemplate.c
Data Structures
• struct gslc_tsXTemplate
Callback function for slider feedback.
Macros
• #define GSLC_TYPEX_TEMPLATE
Functions
9.37.1.1 GSLC_TYPEX_TEMPLATE
#define GSLC_TYPEX_TEMPLATE
Generated by Doxygen
9.37 src/elem/XTemplate.h File Reference 485
9.37.2.1 gslc_ElemXTemplateCreate()
gslc_tsElemRef∗ gslc_ElemXTemplateCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTemplate ∗ pXData,
gslc_tsRect rElem,
char ∗ pStrBuf,
uint8_t nStrBufMax,
int16_t nFontId )
Parameters
Returns
9.37.2.2 gslc_ElemXTemplateDraw()
bool gslc_ElemXTemplateDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Generated by Doxygen
486 File Documentation
Returns
9.37.2.3 gslc_ElemXTemplateTouch()
bool gslc_ElemXTemplateTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XTextbox.h"
#include <stdio.h>
Generated by Doxygen
9.38 src/elem/XTextbox.c File Reference 487
src/elem/XTextbox.c
GUIslice_drv.h elem/XTextbox.h
GUIslice.h
Functions
Variables
Generated by Doxygen
488 File Documentation
9.38.1.1 gslc_ElemXTextboxAdd()
void gslc_ElemXTextboxAdd (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
char ∗ pTxt )
• If it includes a newline then the buffer will advance to the next row
Parameters
Returns
none
9.38.1.2 gslc_ElemXTextboxBufAdd()
void gslc_ElemXTextboxBufAdd (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
unsigned char chNew,
bool bAdvance )
9.38.1.3 gslc_ElemXTextboxColReset()
void gslc_ElemXTextboxColReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Generated by Doxygen
9.38 src/elem/XTextbox.c File Reference 489
Returns
none
9.38.1.4 gslc_ElemXTextboxColSet()
void gslc_ElemXTextboxColSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor nCol )
Parameters
Returns
none
9.38.1.5 gslc_ElemXTextboxCreate()
gslc_tsElemRef∗ gslc_ElemXTextboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTextbox ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
char ∗ pBuf,
uint16_t nBufRows,
uint16_t nBufCols )
• The textbox is a scrolling window designed for displaying multi-line text using a monospaced font. A character
buffer is defined by nBufRows∗nBufCols to capture the added text. If the allocation buffer is larger than the
display size (defined by rElem), then a scrollbar will be shown.
• Support for changing color within a row can be enabled with GSLC_FEATURE_XTEXTBOX_EMBED 1
• Note that each color change command will consume 4 of the available "column" bytes.
Generated by Doxygen
490 File Documentation
Parameters
Returns
9.38.1.6 gslc_ElemXTextboxDraw()
bool gslc_ElemXTextboxDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.38.1.7 gslc_ElemXTextboxLineWrAdv()
void gslc_ElemXTextboxLineWrAdv (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
9.38 src/elem/XTextbox.c File Reference 491
9.38.1.8 gslc_ElemXTextboxReset()
void gslc_ElemXTextboxReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.38.1.9 gslc_ElemXTextboxScrollSet()
void gslc_ElemXTextboxScrollSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nScrollPos,
uint8_t nScrollMax )
Parameters
Returns
none
9.38.1.10 gslc_ElemXTextboxWrapSet()
void gslc_ElemXTextboxWrapSet (
gslc_tsGui ∗ pGui,
Generated by Doxygen
492 File Documentation
gslc_tsElemRef ∗ pElemRef,
bool bWrapEn )
Parameters
Returns
none
9.38.2.1 ERRSTR_NULL
9.38.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XTextbox.h:
src/elem/XTextbox.h
GUIslice.h
Generated by Doxygen
9.39 src/elem/XTextbox.h File Reference 493
This graph shows which files directly or indirectly include this file:
src/elem/XTextbox.h
src/elem/XTextbox.c src/GUIslice_ex.h
Data Structures
• struct gslc_tsXTextbox
Extended data for Textbox element.
Macros
• #define GSLC_TYPEX_TEXTBOX
• #define GSLC_XTEXTBOX_CODE_COL_SET
Definitions for textbox special inline codes.
• #define GSLC_XTEXTBOX_CODE_COL_RESET
• #define XTEXTBOX_REDRAW_NONE
• #define XTEXTBOX_REDRAW_ALL
Functions
Generated by Doxygen
494 File Documentation
9.39.1.1 GSLC_TYPEX_TEXTBOX
#define GSLC_TYPEX_TEXTBOX
9.39.1.2 GSLC_XTEXTBOX_CODE_COL_RESET
#define GSLC_XTEXTBOX_CODE_COL_RESET
9.39.1.3 GSLC_XTEXTBOX_CODE_COL_SET
#define GSLC_XTEXTBOX_CODE_COL_SET
9.39.1.4 XTEXTBOX_REDRAW_ALL
#define XTEXTBOX_REDRAW_ALL
9.39.1.5 XTEXTBOX_REDRAW_NONE
#define XTEXTBOX_REDRAW_NONE
9.39.2.1 gslc_ElemXTextboxAdd()
void gslc_ElemXTextboxAdd (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
char ∗ pTxt )
• If it includes a newline then the buffer will advance to the next row
Generated by Doxygen
9.39 src/elem/XTextbox.h File Reference 495
Parameters
Returns
none
9.39.2.2 gslc_ElemXTextboxColReset()
void gslc_ElemXTextboxColReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.39.2.3 gslc_ElemXTextboxColSet()
void gslc_ElemXTextboxColSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
496 File Documentation
Returns
none
9.39.2.4 gslc_ElemXTextboxCreate()
gslc_tsElemRef∗ gslc_ElemXTextboxCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTextbox ∗ pXData,
gslc_tsRect rElem,
int16_t nFontId,
char ∗ pBuf,
uint16_t nBufRows,
uint16_t nBufCols )
• The textbox is a scrolling window designed for displaying multi-line text using a monospaced font. A character
buffer is defined by nBufRows∗nBufCols to capture the added text. If the allocation buffer is larger than the
display size (defined by rElem), then a scrollbar will be shown.
• Support for changing color within a row can be enabled with GSLC_FEATURE_XTEXTBOX_EMBED 1
• Note that each color change command will consume 4 of the available "column" bytes.
Parameters
Returns
9.39.2.5 gslc_ElemXTextboxDraw()
bool gslc_ElemXTextboxDraw (
void ∗ pvGui,
Generated by Doxygen
9.39 src/elem/XTextbox.h File Reference 497
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.39.2.6 gslc_ElemXTextboxReset()
void gslc_ElemXTextboxReset (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.39.2.7 gslc_ElemXTextboxScrollSet()
void gslc_ElemXTextboxScrollSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
uint8_t nScrollPos,
uint8_t nScrollMax )
Generated by Doxygen
498 File Documentation
Parameters
Returns
none
9.39.2.8 gslc_ElemXTextboxWrapSet()
void gslc_ElemXTextboxWrapSet (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bWrapEn )
Parameters
Returns
none
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "XTogglebtn.h"
#include <stdio.h>
Generated by Doxygen
9.40 src/elem/XTogglebtn.c File Reference 499
src/elem/XTogglebtn.c
GUIslice_drv.h XTogglebtn.h
GUIslice.h
Functions
Variables
Generated by Doxygen
500 File Documentation
9.40.1.1 gslc_ElemXTogglebtnCreate()
gslc_tsElemRef∗ gslc_ElemXTogglebtnCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTogglebtn ∗ pXData,
gslc_tsRect rElem,
gslc_tsColor colThumb,
gslc_tsColor colOnState,
gslc_tsColor colOffState,
bool bCircular,
bool bChecked,
GSLC_CB_TOUCH cbTouch )
Parameters
Returns
9.40.1.2 gslc_ElemXTogglebtnDraw()
bool gslc_ElemXTogglebtnDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.40 src/elem/XTogglebtn.c File Reference 501
Parameters
Returns
9.40.1.3 gslc_ElemXTogglebtnDrawCircularHelp()
void gslc_ElemXTogglebtnDrawCircularHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsXTogglebtn ∗ pTogglebtn )
9.40.1.4 gslc_ElemXTogglebtnDrawRectangularHelp()
void gslc_ElemXTogglebtnDrawRectangularHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
gslc_tsXTogglebtn ∗ pTogglebtn )
9.40.1.5 gslc_ElemXTogglebtnFindSelected()
gslc_tsElemRef∗ gslc_ElemXTogglebtnFindSelected (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Parameters
Returns
Generated by Doxygen
502 File Documentation
9.40.1.6 gslc_ElemXTogglebtnGetState()
bool gslc_ElemXTogglebtnGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Current state
9.40.1.7 gslc_ElemXTogglebtnSetState()
void gslc_ElemXTogglebtnSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
Parameters
Returns
none
9.40.1.8 gslc_ElemXTogglebtnSetStateHelp()
void gslc_ElemXTogglebtnSetStateHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
Generated by Doxygen
9.40 src/elem/XTogglebtn.c File Reference 503
9.40.1.9 gslc_ElemXTogglebtnToggleState()
void gslc_ElemXTogglebtnToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.40.1.10 gslc_ElemXTogglebtnTouch()
bool gslc_ElemXTogglebtnTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
Generated by Doxygen
504 File Documentation
9.40.2.1 ERRSTR_NULL
9.40.2.2 ERRSTR_PXD_NULL
#include "GUIslice.h"
Include dependency graph for XTogglebtn.h:
src/elem/XTogglebtn.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XTogglebtn.h
src/elem/XTogglebtn.c
Data Structures
• struct gslc_tsXTogglebtn
Extended data for Togglebtn element.
Generated by Doxygen
9.41 src/elem/XTogglebtn.h File Reference 505
Macros
• #define GSLC_TYPEX_TOGGLEBTN
• #define gslc_ElemXTogglebtnCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, colThumb_, colOnState_,
colOffState_, bCircular_, bChecked_, cbTouch)
Create a Togglebtn button Element.
Functions
9.41.1.1 gslc_ElemXTogglebtnCreate_P
#define gslc_ElemXTogglebtnCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
colThumb_,
colOnState_,
colOffState_,
bCircular_,
bChecked_,
cbTouch )
Generated by Doxygen
506 File Documentation
Parameters
Returns
none
9.41.1.2 GSLC_TYPEX_TOGGLEBTN
#define GSLC_TYPEX_TOGGLEBTN
9.41.2.1 gslc_ElemXTogglebtnCreate()
gslc_tsElemRef∗ gslc_ElemXTogglebtnCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXTogglebtn ∗ pXData,
gslc_tsRect rElem,
gslc_tsColor colThumb,
gslc_tsColor colOnState,
gslc_tsColor colOffState,
bool bCircular,
bool bChecked,
GSLC_CB_TOUCH cbTouch )
Generated by Doxygen
9.41 src/elem/XTogglebtn.h File Reference 507
Parameters
Returns
9.41.2.2 gslc_ElemXTogglebtnDraw()
bool gslc_ElemXTogglebtnDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.41.2.3 gslc_ElemXTogglebtnFindSelected()
gslc_tsElemRef∗ gslc_ElemXTogglebtnFindSelected (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Generated by Doxygen
508 File Documentation
Generated by Doxygen
9.41 src/elem/XTogglebtn.h File Reference 509
Parameters
Returns
9.41.2.4 gslc_ElemXTogglebtnGetState()
bool gslc_ElemXTogglebtnGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Current state
9.41.2.5 gslc_ElemXTogglebtnSetState()
void gslc_ElemXTogglebtnSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
Parameters
Generated by Doxygen
510 File Documentation
Returns
none
9.41.2.6 gslc_ElemXTogglebtnToggleState()
void gslc_ElemXTogglebtnToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
9.41.2.7 gslc_ElemXTogglebtnTouch()
bool gslc_ElemXTogglebtnTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Generated by Doxygen
9.42 src/elem/XToggleImgbtn.c File Reference 511
Returns
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include "elem/XToggleImgbtn.h"
#include <stdio.h>
Include dependency graph for XToggleImgbtn.c:
src/elem/XToggleImgbtn.c
GUIslice_drv.h elem/XToggleImgbtn.h
GUIslice.h
Functions
• gslc_tsElemRef ∗ gslc_ElemXToggleImgbtnCreate (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPage, gslc←-
_tsXToggleImgbtn ∗pXData, gslc_tsRect rElem, gslc_tsImgRef sImgRef, gslc_tsImgRef sImgRefSel, bool
bOn, GSLC_CB_TOUCH cbTouch)
Create a ToggleImgbtn button Element.
• bool gslc_ElemXToggleImgbtnGetState (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef)
Get a ToggleImgbtn element's current state.
• void gslc_ElemXToggleImgbtnSetStateHelp (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, bool bOn)
• void gslc_ElemXToggleImgbtnSetState (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, bool bOn)
Set a ToggleImgbtn element's current state.
• void gslc_ElemXToggleImgbtnToggleState (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef)
Toggle a ToggleImgbtn element's current state.
• bool gslc_ElemXToggleImgbtnDraw (void ∗pvGui, void ∗pvElemRef, gslc_teRedrawType eRedraw)
Draw a ToggleImgbtn element on the screen.
• bool gslc_ElemXToggleImgbtnTouch (void ∗pvGui, void ∗pvElemRef, gslc_teTouch eTouch, int16_t nRelX,
int16_t nRelY)
Handle touch events to ToggleImgbtn element.
• gslc_tsElemRef ∗ gslc_ElemXToggleImgbtnFindSelected (gslc_tsGui ∗pGui, int16_t nGroupId)
Find the togglebtn within a group that has been selected.
Variables
• const char GSLC_PMEM ERRSTR_NULL [ ]
• const char GSLC_PMEM ERRSTR_PXD_NULL [ ]
Generated by Doxygen
512 File Documentation
9.42.1.1 gslc_ElemXToggleImgbtnCreate()
gslc_tsElemRef∗ gslc_ElemXToggleImgbtnCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXToggleImgbtn ∗ pXData,
gslc_tsRect rElem,
gslc_tsImgRef sImgRef,
gslc_tsImgRef sImgRefSel,
bool bOn,
GSLC_CB_TOUCH cbTouch )
Parameters
Returns
9.42.1.2 gslc_ElemXToggleImgbtnDraw()
bool gslc_ElemXToggleImgbtnDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Generated by Doxygen
9.42 src/elem/XToggleImgbtn.c File Reference 513
Parameters
Returns
9.42.1.3 gslc_ElemXToggleImgbtnFindSelected()
gslc_tsElemRef∗ gslc_ElemXToggleImgbtnFindSelected (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Parameters
Returns
9.42.1.4 gslc_ElemXToggleImgbtnGetState()
bool gslc_ElemXToggleImgbtnGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
Current state
Generated by Doxygen
514 File Documentation
9.42.1.5 gslc_ElemXToggleImgbtnSetState()
void gslc_ElemXToggleImgbtnSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
Parameters
Returns
none
9.42.1.6 gslc_ElemXToggleImgbtnSetStateHelp()
void gslc_ElemXToggleImgbtnSetStateHelp (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
9.42.1.7 gslc_ElemXToggleImgbtnToggleState()
void gslc_ElemXToggleImgbtnToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
Generated by Doxygen
9.42 src/elem/XToggleImgbtn.c File Reference 515
9.42.1.8 gslc_ElemXToggleImgbtnTouch()
bool gslc_ElemXToggleImgbtnTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
9.42.2.1 ERRSTR_NULL
9.42.2.2 ERRSTR_PXD_NULL
Generated by Doxygen
516 File Documentation
#include "GUIslice.h"
Include dependency graph for XToggleImgbtn.h:
src/elem/XToggleImgbtn.h
GUIslice.h
This graph shows which files directly or indirectly include this file:
src/elem/XToggleImgbtn.h
src/elem/XToggleImgbtn.c
Data Structures
• struct gslc_tsXToggleImgbtn
Extended data for ToggleImgbtn element.
Macros
• #define GSLC_TYPEX_TOGGLEIMGBTN
• #define gslc_ElemXToggleImgbtnCreate_P(pGui, nElemId, nPage, nX, nY, nW, nH, sImgRef_, sImgRefSel←-
_, bOn_, cbTouch)
Create a ToggleImgbtn button Element.
Generated by Doxygen
9.43 src/elem/XToggleImgbtn.h File Reference 517
Functions
9.43.1.1 gslc_ElemXToggleImgbtnCreate_P
#define gslc_ElemXToggleImgbtnCreate_P(
pGui,
nElemId,
nPage,
nX,
nY,
nW,
nH,
sImgRef_,
sImgRefSel_,
bOn_,
cbTouch )
Parameters
Returns
none
9.43.1.2 GSLC_TYPEX_TOGGLEIMGBTN
#define GSLC_TYPEX_TOGGLEIMGBTN
9.43.2.1 gslc_ElemXToggleImgbtnCreate()
gslc_tsElemRef∗ gslc_ElemXToggleImgbtnCreate (
gslc_tsGui ∗ pGui,
int16_t nElemId,
int16_t nPage,
gslc_tsXToggleImgbtn ∗ pXData,
gslc_tsRect rElem,
gslc_tsImgRef sImgRef,
gslc_tsImgRef sImgRefSel,
bool bOn,
GSLC_CB_TOUCH cbTouch )
Parameters
Returns
Generated by Doxygen
9.43 src/elem/XToggleImgbtn.h File Reference 519
9.43.2.2 gslc_ElemXToggleImgbtnDraw()
bool gslc_ElemXToggleImgbtnDraw (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teRedrawType eRedraw )
Parameters
Returns
9.43.2.3 gslc_ElemXToggleImgbtnFindSelected()
gslc_tsElemRef∗ gslc_ElemXToggleImgbtnFindSelected (
gslc_tsGui ∗ pGui,
int16_t nGroupId )
Parameters
Returns
9.43.2.4 gslc_ElemXToggleImgbtnGetState()
bool gslc_ElemXToggleImgbtnGetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Generated by Doxygen
520 File Documentation
Parameters
Returns
Current state
9.43.2.5 gslc_ElemXToggleImgbtnSetState()
void gslc_ElemXToggleImgbtnSetState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef,
bool bOn )
Parameters
Returns
none
9.43.2.6 gslc_ElemXToggleImgbtnToggleState()
void gslc_ElemXToggleImgbtnToggleState (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Parameters
Returns
none
Generated by Doxygen
9.44 src/GUIslice.c File Reference 521
9.43.2.7 gslc_ElemXToggleImgbtnTouch()
bool gslc_ElemXToggleImgbtnTouch (
void ∗ pvGui,
void ∗ pvElemRef,
gslc_teTouch eTouch,
int16_t nRelX,
int16_t nRelY )
Parameters
Returns
#include "GUIslice_config.h"
#include "GUIslice.h"
#include "GUIslice_drv.h"
#include <stdio.h>
#include <stdarg.h>
#include "GUIslice_version.h"
Include dependency graph for GUIslice.c:
src/GUIslice.c
Generated by Doxygen
522 File Documentation
Enumerations
• enum gslc_teDebugPrintState {
GSLC_S_DEBUG_PRINT_NORM, GSLC_S_DEBUG_PRINT_TOKEN, GSLC_S_DEBUG_PRINT_UINT16,
GSLC_S_DEBUG_PRINT_CHAR,
GSLC_S_DEBUG_PRINT_STR, GSLC_S_DEBUG_PRINT_STR_P }
Functions
Generated by Doxygen
9.44 src/GUIslice.c File Reference 523
Generated by Doxygen
524 File Documentation
Generated by Doxygen
9.44 src/GUIslice.c File Reference 525
Generated by Doxygen
526 File Documentation
Generated by Doxygen
9.44 src/GUIslice.c File Reference 527
Generated by Doxygen
528 File Documentation
Generated by Doxygen
9.44 src/GUIslice.c File Reference 529
• void gslc_SetTouchRemapCal (gslc_tsGui ∗pGui, uint16_t nXMin, uint16_t nXMax, uint16_t nYMin, uint16_t
nYMax)
Configure touchscreen calibration remapping values.
• void gslc_SetTouchPressCal (gslc_tsGui ∗pGui, uint16_t nPressMin, uint16_t nPressMax)
Configure touchscreen calibration pressure values.
• void gslc_SetTouchRemapYX (gslc_tsGui ∗pGui, bool bSwap)
Configure touchscreen XY swap.
• gslc_tsElem gslc_ElemCreate (gslc_tsGui ∗pGui, int16_t nElemId, int16_t nPageId, int16_t nType, gslc_ts←-
Rect rElem, char ∗pStrBuf, uint8_t nStrBufMax, int16_t nFontId)
Create a new element with default styling.
• bool gslc_CollectEvent (void ∗pvGui, gslc_tsEvent sEvent)
Common event handler function for an element collection.
• gslc_tsElemRef ∗ gslc_CollectElemAdd (gslc_tsGui ∗pGui, gslc_tsCollect ∗pCollect, const gslc_tsElem ∗p←-
Elem, gslc_teElemRefFlags eFlags)
Add an element to a collection.
• bool gslc_CollectGetRedraw (gslc_tsGui ∗pGui, gslc_tsCollect ∗pCollect)
Determine if any elements in a collection need redraw.
• gslc_tsElemRef ∗ gslc_ElemAdd (gslc_tsGui ∗pGui, int16_t nPageId, gslc_tsElem ∗pElem, gslc_teElem←-
RefFlags eFlags)
Add the Element to the list of generated elements in the GUI environment.
• gslc_tsRect gslc_GetClipRect (gslc_tsGui ∗pGui)
Get the current the clipping rectangle.
• bool gslc_SetClipRect (gslc_tsGui ∗pGui, gslc_tsRect ∗pRect)
Set the clipping rectangle for further drawing.
• bool gslc_ImgRefEqual (gslc_tsImgRef ∗pImgRef1, gslc_tsImgRef ∗pImgRef2)
• void gslc_ElemSetImage (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRef, gslc_tsImgRef sImgRef, gslc_ts←-
ImgRef sImgRefSel)
Set an element to use a bitmap image.
• bool gslc_SetBkgndImage (gslc_tsGui ∗pGui, gslc_tsImgRef sImgRef)
Configure the background to use a bitmap image.
• bool gslc_SetBkgndColor (gslc_tsGui ∗pGui, gslc_tsColor nCol)
Configure the background to use a solid color.
• bool gslc_SetTransparentColor (gslc_tsGui ∗pGui, gslc_tsColor nCol)
Configure the color to use for image transparency.
• bool gslc_GuiRotate (gslc_tsGui ∗pGui, uint8_t nRotation)
Dynamically change rotation, automatically adapt touchscreen axes swap/flip.
• bool gslc_ElemSendEventTouch (gslc_tsGui ∗pGui, gslc_tsElemRef ∗pElemRefTracked, gslc_teTouch e←-
Touch, int16_t nX, int16_t nY)
Trigger an element's touch event.
• void gslc_ResetElem (gslc_tsElem ∗pElem)
Initialize an Element struct.
• void gslc_ResetFont (gslc_tsFont ∗pFont)
Initialize a Font struct.
• void gslc_ElemDestruct (gslc_tsElem ∗pElem)
Free up any members associated with an element.
• void gslc_CollectDestruct (gslc_tsGui ∗pGui, gslc_tsCollect ∗pCollect)
Free up any members associated with an element collection.
• void gslc_PageDestruct (gslc_tsGui ∗pGui, gslc_tsPage ∗pPage)
Free up any members associated with a page.
• void gslc_GuiDestruct (gslc_tsGui ∗pGui)
Free up any surfaces associated with the GUI, pages, collections and elements.
Generated by Doxygen
530 File Documentation
Variables
• GSLC_CB_DEBUG_OUT g_pfDebugOut
Global debug output function.
• const uint16_t m_nLUTSinF0X16 [257]
• const char GSLC_PMEM ERRSTR_NULL [ ]
• const char GSLC_PMEM ERRSTR_PXD_NULL [ ]
9.44.1.1 gslc_teDebugPrintState
enum gslc_teDebugPrintState
Enumerator
GSLC_S_DEBUG_PRINT_NORM
GSLC_S_DEBUG_PRINT_TOKEN
GSLC_S_DEBUG_PRINT_UINT16
GSLC_S_DEBUG_PRINT_CHAR
GSLC_S_DEBUG_PRINT_STR
GSLC_S_DEBUG_PRINT_STR_P
Generated by Doxygen
9.44 src/GUIslice.c File Reference 531
9.44.2.1 gslc_DrawFillSectorBase()
void gslc_DrawFillSectorBase (
gslc_tsGui ∗ pGui,
int16_t nQuality,
int16_t nMidX,
int16_t nMidY,
int16_t nRad1,
int16_t nRad2,
gslc_tsColor cArcStart,
gslc_tsColor cArcEnd,
bool bGradient,
int16_t nAngGradStart,
int16_t nAngGradRange,
int16_t nAngSecStart,
int16_t nAngSecEnd )
9.44.2.2 gslc_ElemCanFocus()
bool gslc_ElemCanFocus (
gslc_tsGui ∗ pGui,
gslc_tsCollect ∗ pCollect,
int16_t nElemInd )
9.44.2.3 gslc_ElemGetEditEn()
bool gslc_ElemGetEditEn (
gslc_tsGui ∗ pGui,
gslc_tsElemRef ∗ pElemRef )
Todo Doc
9.44.2.4 gslc_FontSetBase()
bool gslc_FontSetBase (
gslc_tsGui ∗ pGui,
uint8_t nFontInd,
int16_t nFontId,
gslc_teFontRefType eFontRefType,
const void ∗ pvFontRef,
uint16_t nFontSz )
Generated by Doxygen
532 File Documentation
9.44.2.5 gslc_ImgRefEqual()
bool gslc_ImgRefEqual (
gslc_tsImgRef ∗ pImgRef1,
gslc_tsImgRef ∗ pImgRef2 )
9.44.2.6 gslc_OrderCoord()
void gslc_OrderCoord (
int16_t ∗ pnX0,
int16_t ∗ pnY0,
int16_t ∗ pnX1,
int16_t ∗ pnY1 )
9.44.2.7 gslc_SwapCoords()
void gslc_SwapCoords (
int16_t ∗ pnXa,
int16_t ∗ pnYa,
int16_t ∗ pnXb,
int16_t ∗ pnYb )
9.44.3.1 ERRSTR_NULL
9.44.3.2 ERRSTR_PXD_NULL
9.44.3.3 g_pfDebugOut
GSLC_CB_DEBUG_OUT g_pfDebugOut
Generated by Doxygen
9.45 src/GUIslice.h File Reference 533
9.44.3.4 m_nLUTSinF0X16
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <inttypes.h>
#include "GUIslice_config.h"
Include dependency graph for GUIslice.h:
src/GUIslice.h
This graph shows which files directly or indirectly include this file:
src/GUIslice.h
src/GUIslice_drv_tft
src/elem/XCheckbox.h src/elem/XGauge.h src/elem/XGraph.h src/elem/XSelNum.h src/elem/XSlider.h src/elem/XTextbox.h src/elem/XGlowball.h src/elem/XKeyPad.h src/elem/XListbox.h src/elem/XProgress.h src/elem/XRadial.h src/elem/XRamp.h src/elem/XRingGauge.h src/elem/XSeekbar.h src/elem/XSpinner.h src/elem/XTemplate.h src/elem/XTogglebtn.h src/elem/XToggleImgbtn.h src/GUIslice.c src/GUIslice_drv_adagfx.h src/GUIslice_drv_m5stack.h src/GUIslice_drv_sdl.h src/GUIslice_drv_utft.h
_espi.h
src/elem/XCheckbox.c src/elem/XGauge.c src/GUIslice_ex.h src/elem/XGraph.c src/elem/XSelNum.c src/elem/XSlider.c src/elem/XTextbox.c src/elem/XGlowball.c src/elem/XKeyPad.c src/elem/XKeyPad_Alpha.h src/elem/XKeyPad_Num.h src/elem/XListbox.c src/elem/XProgress.c src/elem/XRadial.c src/elem/XRamp.c src/elem/XRingGauge.c src/elem/XSeekbar.c src/elem/XSpinner.c src/elem/XTemplate.c src/elem/XTogglebtn.c src/elem/XToggleImgbtn.c
src/elem/XKeyPad_Alpha src/elem/XKeyPad_Num
-setup.h -setup.h
src/elem/XKeyPad_Alpha.c src/elem/XKeyPad_Num.c
Data Structures
• struct gslc_tsRect
Rectangular region. Defines X,Y corner coordinates plus dimensions.
• struct gslc_tsPt
Define point coordinates.
• struct gslc_tsColor
Color structure. Defines RGB triplet.
• struct gslc_tsRectState
State associated with an element's region.
• struct gslc_tsEvent
Event structure.
• struct gslc_tsEventTouch
Structure used to pass touch data through event.
• struct gslc_tsFont
Font reference structure.
• struct gslc_tsImgRef
Image reference structure.
• struct gslc_tsElemRef
Generated by Doxygen
534 File Documentation
Macros
• #define GSLC_PMEM
• #define GSLC_FEATURE_FOCUS_ON_TOUCH
• #define GSLC_2PI
• #define GSLC_ELEM_FEA_NOSHRINK
Element features type.
• #define GSLC_ELEM_FEA_VALID
Element record is valid.
• #define GSLC_ELEM_FEA_FOCUS_EN
Element can accept focus.
• #define GSLC_ELEM_FEA_EDIT_EN
Element supports edit.
• #define GSLC_ELEM_FEA_ROUND_EN
Element is drawn with a rounded profile.
• #define GSLC_ELEM_FEA_CLICK_EN
Element accepts touch presses.
• #define GSLC_ELEM_FEA_GLOW_EN
Element supports glowing state.
• #define GSLC_ELEM_FEA_FRAME_EN
Element is drawn with a frame.
• #define GSLC_ELEM_FEA_FILL_EN
Element is drawn with a fill.
• #define GSLC_ELEM_FEA_NONE
Element default (no features set))
• #define GSLC_ALIGNV_TOP
Element text alignment.
• #define GSLC_ALIGNV_MID
Vertical align to middle.
• #define GSLC_ALIGNV_BOT
Vertical align to bottom.
• #define GSLC_ALIGNH_LEFT
Horizontal align to left.
• #define GSLC_ALIGNH_MID
Horizontal align to middle.
• #define GSLC_ALIGNH_RIGHT
Horizontal align to right.
• #define GSLC_ALIGN_TOP_LEFT
Generated by Doxygen
9.45 src/GUIslice.h File Reference 535
Align to top-left.
• #define GSLC_ALIGN_TOP_MID
Align to middle of top.
• #define GSLC_ALIGN_TOP_RIGHT
Align to top-right.
• #define GSLC_ALIGN_MID_LEFT
Align to middle of left side.
• #define GSLC_ALIGN_MID_MID
Align to center.
• #define GSLC_ALIGN_MID_RIGHT
Align to middle of right side.
• #define GSLC_ALIGN_BOT_LEFT
Align to bottom-left.
• #define GSLC_ALIGN_BOT_MID
Align to middle of bottom.
• #define GSLC_ALIGN_BOT_RIGHT
Align to bottom-right.
• #define GSLC_COL_RED_DK4
Basic color definition.
• #define GSLC_COL_RED_DK3
Red (dark3)
• #define GSLC_COL_RED_DK2
Red (dark2)
• #define GSLC_COL_RED_DK1
Red (dark1)
• #define GSLC_COL_RED
Red.
• #define GSLC_COL_RED_LT1
Red (light1)
• #define GSLC_COL_RED_LT2
Red (light2)
• #define GSLC_COL_RED_LT3
Red (light3)
• #define GSLC_COL_RED_LT4
Red (light4)
• #define GSLC_COL_GREEN_DK4
Green (dark4)
• #define GSLC_COL_GREEN_DK3
Green (dark3)
• #define GSLC_COL_GREEN_DK2
Green (dark2)
• #define GSLC_COL_GREEN_DK1
Green (dark1)
• #define GSLC_COL_GREEN
Green.
• #define GSLC_COL_GREEN_LT1
Green (light1)
• #define GSLC_COL_GREEN_LT2
Green (light2)
• #define GSLC_COL_GREEN_LT3
Green (light3)
Generated by Doxygen
536 File Documentation
• #define GSLC_COL_GREEN_LT4
Green (light4)
• #define GSLC_COL_BLUE_DK4
Blue (dark4)
• #define GSLC_COL_BLUE_DK3
Blue (dark3)
• #define GSLC_COL_BLUE_DK2
Blue (dark2)
• #define GSLC_COL_BLUE_DK1
Blue (dark1)
• #define GSLC_COL_BLUE
Blue.
• #define GSLC_COL_BLUE_LT1
Blue (light1)
• #define GSLC_COL_BLUE_LT2
Blue (light2)
• #define GSLC_COL_BLUE_LT3
Blue (light3)
• #define GSLC_COL_BLUE_LT4
Blue (light4)
• #define GSLC_COL_BLACK
Black.
• #define GSLC_COL_GRAY_DK4
Gray (dark4)
• #define GSLC_COL_GRAY_DK3
Gray (dark3)
• #define GSLC_COL_GRAY_DK2
Gray (dark2)
• #define GSLC_COL_GRAY_DK1
Gray (dark1)
• #define GSLC_COL_GRAY
Gray.
• #define GSLC_COL_GRAY_LT1
Gray (light1)
• #define GSLC_COL_GRAY_LT2
Gray (light2)
• #define GSLC_COL_GRAY_LT3
Gray (light3)
• #define GSLC_COL_GRAY_LT4
Gray (light4)
• #define GSLC_COL_WHITE
White.
• #define GSLC_COL_YELLOW
Yellow.
• #define GSLC_COL_YELLOW_DK
Yellow (dark)
• #define GSLC_COL_PURPLE
Purple.
• #define GSLC_COL_CYAN
Cyan.
• #define GSLC_COL_MAGENTA
Generated by Doxygen
9.45 src/GUIslice.h File Reference 537
Magenta.
• #define GSLC_COL_TEAL
Teal.
• #define GSLC_COL_ORANGE
Orange.
• #define GSLC_COL_BROWN
Brown.
• #define GSLC_COLMONO_BLACK
Black.
• #define GSLC_COLMONO_WHITE
White.
• #define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
• #define TOUCH_ROTATION_SWAPXY(rotation)
• #define TOUCH_ROTATION_FLIPX(rotation)
• #define TOUCH_ROTATION_FLIPY(rotation)
• #define GSLC_ELEMREF_DEFAULT
Define the default element reference flags for new elements.
• #define GSLC_MIN(a, b)
• #define GSLC_MAX(a, b)
• #define TOUCH_ROTATION_DATA
Additional definitions for Touch Handling These macros define the transforms used in remapping the touchscreen
inputs on the basis of the GUI nRotation setting.
• #define TOUCH_ROTATION_SWAPXY(rotation)
• #define TOUCH_ROTATION_FLIPX(rotation)
• #define TOUCH_ROTATION_FLIPY(rotation)
• #define GSLC_DEBUG_PRINT(sFmt, ...)
Macro to enable optional debug output.
• #define GSLC_DEBUG2_PRINT(sFmt, ...)
• #define GSLC_DEBUG_PRINT_CONST(sFmt, ...)
• #define GSLC_DEBUG2_PRINT_CONST(sFmt, ...)
• #define gslc_ElemCreateTxt_P(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, pFont, colTxt, colFrame, col←-
Fill, nAlignTxt, bFrameEn, bFillEn)
Create a read-only text element.
• #define gslc_ElemCreateTxt_P_R(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, strLength, pFont, colTxt,
colFrame, colFill, nAlignTxt, bFrameEn, bFillEn)
Create a read-write text element (element in Flash, string in RAM)
• #define gslc_ElemCreateTxt_P_R_ext(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, strLength, pFont, col←-
Txt, colTxtGlow, colFrame, colFill, nAlignTxt, nMarginX, nMarginY, bFrameEn, bFillEn, bClickEn, bGlowEn,
pfuncXEvent, pfuncXDraw, pfuncXTouch, pfuncXTick)
Create a read-write text element (element in Flash, string in RAM) with extended customization options.
• #define gslc_ElemCreateBox_P(pGui, nElemId, nPage, nX, nY, nW, nH, colFrame, colFill, bFrameEn, bFillEn,
pfuncXDraw, pfuncXTick)
Create a read-only box element.
• #define gslc_ElemCreateLine_P(pGui, nElemId, nPage, nX0, nY0, nX1, nY1, colFill)
Create a read-only line element.
• #define gslc_ElemCreateBtnTxt_P(pGui, nElemId, nPage, nX, nY, nW, nH, strTxt, pFont, colTxt, colFrame,
colFill, colFrameGlow, colFillGlow, nAlignTxt, bFrameEn, bFillEn, callFunc, extraData)
Create a text button element.
Generated by Doxygen
538 File Documentation
Typedefs
Enumerations
• enum gslc_teElemId {
GSLC_ID_USER_BASE, GSLC_ID_NONE, GSLC_ID_AUTO, GSLC_ID_TEMP,
GSLC_ID_AUTO_BASE }
Element ID enumerations.
• enum gslc_tePageId { GSLC_PAGE_USER_BASE, GSLC_PAGE_NONE }
Page ID enumerations.
• enum gslc_teStackPage { GSLC_STACK_BASE, GSLC_STACK_CUR, GSLC_STACK_OVERLAY, GSLC←-
_STACK__MAX }
Define page stack.
• enum gslc_teGroupId { GSLC_GROUP_ID_USER_BASE, GSLC_GROUP_ID_NONE }
Group ID enumerations.
• enum gslc_teFontId { GSLC_FONT_USER_BASE, GSLC_FONT_NONE }
Font ID enumerations.
• enum gslc_teElemInd { GSLC_IND_NONE, GSLC_IND_FIRST }
Element Index enumerations.
• enum gslc_teTypeCore {
GSLC_TYPE_NONE, GSLC_TYPE_BKGND, GSLC_TYPE_BTN, GSLC_TYPE_TXT,
GSLC_TYPE_BOX, GSLC_TYPE_LINE, GSLC_TYPE_BASE_EXTEND }
Generated by Doxygen
9.45 src/GUIslice.h File Reference 539
Element type.
• enum gslc_teInputRawEvent {
GSLC_INPUT_NONE, GSLC_INPUT_TOUCH, GSLC_INPUT_KEY_DOWN, GSLC_INPUT_KEY_UP,
GSLC_INPUT_PIN_ASSERT, GSLC_INPUT_PIN_DEASSERT }
Raw input event types: touch, key, GPIOs.
• enum gslc_teInputMode { GSLC_INPUTMODE_NAV, GSLC_INPUTMODE_EDIT }
External input mode.
• enum gslc_teAction {
GSLC_ACTION_UNDEF, GSLC_ACTION_NONE, GSLC_ACTION_FOCUS_PREV, GSLC_ACTION_FO←-
CUS_NEXT,
GSLC_ACTION_PRESELECT, GSLC_ACTION_SELECT, GSLC_ACTION_SET_REL, GSLC_ACTION_←-
SET_ABS,
GSLC_ACTION_DEBUG }
GUI Action Requested These actions are usually the result of an InputMap lookup.
• enum gslc_tePin {
GSLC_PIN_BTN_A, GSLC_PIN_BTN_A_LONG, GSLC_PIN_BTN_B, GSLC_PIN_BTN_B_LONG,
GSLC_PIN_BTN_C, GSLC_PIN_BTN_C_LONG, GSLC_PIN_BTN_D, GSLC_PIN_BTN_D_LONG,
GSLC_PIN_BTN_E, GSLC_PIN_BTN_E_LONG, GSLC_PIN_BTN_UP, GSLC_PIN_BTN_DOWN,
GSLC_PIN_BTN_LEFT, GSLC_PIN_BTN_RIGHT, GSLC_PIN_BTN_SEL }
General purpose pin/button constants.
• enum gslc_teTouch {
GSLC_TOUCH_NONE, GSLC_TOUCH_TYPE_MASK, GSLC_TOUCH_COORD, GSLC_TOUCH_DIRECT,
GSLC_TOUCH_SUBTYPE_MASK, GSLC_TOUCH_DOWN, GSLC_TOUCH_DOWN_IN, GSLC_TOUCH←-
_DOWN_OUT,
GSLC_TOUCH_UP, GSLC_TOUCH_UP_IN, GSLC_TOUCH_UP_OUT, GSLC_TOUCH_MOVE,
GSLC_TOUCH_MOVE_IN, GSLC_TOUCH_MOVE_OUT, GSLC_TOUCH_FOCUS_ON, GSLC_TOUCH←-
_FOCUS_OFF,
GSLC_TOUCH_FOCUS_PRESELECT, GSLC_TOUCH_FOCUS_SELECT, GSLC_TOUCH_SET_REL,
GSLC_TOUCH_SET_ABS }
Processed event from input raw events and actions.
• enum gslc_teInitStat { GSLC_INITSTAT_UNDEF, GSLC_INITSTAT_INACTIVE, GSLC_INITSTAT_FAIL,
GSLC_INITSTAT_ACTIVE }
Status of a module's initialization.
• enum gslc_teEventType {
GSLC_EVT_NONE, GSLC_EVT_DRAW, GSLC_EVT_TOUCH, GSLC_EVT_TICK,
GSLV_EVT_CUSTOM }
Event types.
• enum gslc_teEventSubType { GSLC_EVTSUB_NONE, GSLC_EVTSUB_DRAW_NEEDED, GSLC_EVTS←-
UB_DRAW_FORCE }
Event sub-types.
• enum gslc_teRedrawType { GSLC_REDRAW_NONE, GSLC_REDRAW_FULL, GSLC_REDRAW_INC, G←-
SLC_REDRAW_FOCUS }
Redraw types.
• enum gslc_teFontRefType { GSLC_FONTREF_FNAME, GSLC_FONTREF_PTR }
Font Reference types.
• enum gslc_teFontRefMode { GSLC_FONTREF_MODE_DEFAULT, GSLC_FONTREF_MODE_1, GSLC_←-
FONTREF_MODE_2, GSLC_FONTREF_MODE_3 }
Font Reference modes.
• enum gslc_teElemRefFlags {
GSLC_ELEMREF_NONE, GSLC_ELEMREF_SRC_RAM, GSLC_ELEMREF_SRC_PROG, GSLC_ELEM←-
REF_SRC_CONST,
GSLC_ELEMREF_REDRAW_NONE, GSLC_ELEMREF_REDRAW_FULL, GSLC_ELEMREF_REDRAW←-
_INC, GSLC_ELEMREF_REDRAW_FOCUS,
GSLC_ELEMREF_EDITING, GSLC_ELEMREF_FOCUSED, GSLC_ELEMREF_GLOWING, GSLC_ELE←-
MREF_VISIBLE,
GSLC_ELEMREF_SRC, GSLC_ELEMREF_REDRAW_MASK }
Generated by Doxygen
540 File Documentation
Functions
Generated by Doxygen
9.45 src/GUIslice.h File Reference 541
Generated by Doxygen
542 File Documentation
• void gslc_DrawLinePolar (gslc_tsGui ∗pGui, int16_t nX, int16_t nY, uint16_t nRadStart, uint16_t nRadEnd,
int16_t n64Ang, gslc_tsColor nCol)
Draw a polar ray segment.
• void gslc_DrawFrameRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, gslc_tsColor nCol)
Draw a framed rectangle.
• void gslc_DrawFrameRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol)
Draw a framed rounded rectangle.
• void gslc_DrawFillRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, gslc_tsColor nCol)
Draw a filled rectangle.
• void gslc_DrawFillRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol)
Draw a filled rounded rectangle.
• void gslc_DrawFrameCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor
nCol)
Draw a framed circle.
• void gslc_DrawFillCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor n←-
Col)
Draw a filled circle.
• void gslc_DrawFrameTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t
nX2, int16_t nY2, gslc_tsColor nCol)
Draw a framed triangle.
• void gslc_DrawFillTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t nX2,
int16_t nY2, gslc_tsColor nCol)
Draw a filled triangle.
• void gslc_DrawFrameQuad (gslc_tsGui ∗pGui, gslc_tsPt ∗psPt, gslc_tsColor nCol)
Draw a framed quadrilateral.
• void gslc_DrawFillQuad (gslc_tsGui ∗pGui, gslc_tsPt ∗psPt, gslc_tsColor nCol)
Draw a filled quadrilateral.
• void gslc_DrawFillGradSector (gslc_tsGui ∗pGui, int16_t nQuality, int16_t nMidX, int16_t nMidY, int16_t n←-
Rad1, int16_t nRad2, gslc_tsColor cArcStart, gslc_tsColor cArcEnd, int16_t nAngSecStart, int16_t nAng←-
SecEnd, int16_t nAngGradStart, int16_t nAngGradRange)
Draw a gradient filled sector of a circle with support for inner and outer radius.
• void gslc_DrawFillSector (gslc_tsGui ∗pGui, int16_t nQuality, int16_t nMidX, int16_t nMidY, int16_t nRad1,
int16_t nRad2, gslc_tsColor cArc, int16_t nAngSecStart, int16_t nAngSecEnd)
Draw a flat filled sector of a circle with support for inner and outer radius.
• bool gslc_FontAdd (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefType eFontRefType, const void ∗pv←-
FontRef, uint16_t nFontSz)
Load a font into the local font cache and assign font ID (nFontId).
• bool gslc_FontSet (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefType eFontRefType, const void ∗pv←-
FontRef, uint16_t nFontSz)
Load a font into the local font cache and store as font ID (nFontId)
• gslc_tsFont ∗ gslc_FontGet (gslc_tsGui ∗pGui, int16_t nFontId)
Fetch a font from its ID value.
• bool gslc_FontSetMode (gslc_tsGui ∗pGui, int16_t nFontId, gslc_teFontRefMode eFontMode)
Set the font operating mode.
• int gslc_GetPageCur (gslc_tsGui ∗pGui)
Fetch the current page ID.
• void gslc_SetStackPage (gslc_tsGui ∗pGui, uint8_t nStackPos, int16_t nPageId)
Assign a page to the page stack.
• void gslc_SetStackState (gslc_tsGui ∗pGui, uint8_t nStackPos, bool bActive, bool bDoDraw)
Change the status of a page in a page stack.
• void gslc_SetPageBase (gslc_tsGui ∗pGui, int16_t nPageId)
Assigns a page for the base layer in the page stack.
Generated by Doxygen
9.45 src/GUIslice.h File Reference 543
Generated by Doxygen
544 File Documentation
Generated by Doxygen
9.45 src/GUIslice.h File Reference 545
Generated by Doxygen
546 File Documentation
Generated by Doxygen
9.45 src/GUIslice.h File Reference 547
Generated by Doxygen
548 File Documentation
Variables
• GSLC_CB_DEBUG_OUT g_pfDebugOut
Global debug output function.
9.45.1.1 GSLC_2PI
#define GSLC_2PI
9.45.1.2 GSLC_ALIGN_BOT_LEFT
#define GSLC_ALIGN_BOT_LEFT
Align to bottom-left.
9.45.1.3 GSLC_ALIGN_BOT_MID
#define GSLC_ALIGN_BOT_MID
Generated by Doxygen
9.45 src/GUIslice.h File Reference 549
9.45.1.4 GSLC_ALIGN_BOT_RIGHT
#define GSLC_ALIGN_BOT_RIGHT
Align to bottom-right.
9.45.1.5 GSLC_ALIGN_MID_LEFT
#define GSLC_ALIGN_MID_LEFT
9.45.1.6 GSLC_ALIGN_MID_MID
#define GSLC_ALIGN_MID_MID
Align to center.
9.45.1.7 GSLC_ALIGN_MID_RIGHT
#define GSLC_ALIGN_MID_RIGHT
9.45.1.8 GSLC_ALIGN_TOP_LEFT
#define GSLC_ALIGN_TOP_LEFT
Align to top-left.
9.45.1.9 GSLC_ALIGN_TOP_MID
#define GSLC_ALIGN_TOP_MID
Generated by Doxygen
550 File Documentation
9.45.1.10 GSLC_ALIGN_TOP_RIGHT
#define GSLC_ALIGN_TOP_RIGHT
Align to top-right.
9.45.1.11 GSLC_ALIGNH_LEFT
#define GSLC_ALIGNH_LEFT
9.45.1.12 GSLC_ALIGNH_MID
#define GSLC_ALIGNH_MID
9.45.1.13 GSLC_ALIGNH_RIGHT
#define GSLC_ALIGNH_RIGHT
9.45.1.14 GSLC_ALIGNV_BOT
#define GSLC_ALIGNV_BOT
9.45.1.15 GSLC_ALIGNV_MID
#define GSLC_ALIGNV_MID
Generated by Doxygen
9.45 src/GUIslice.h File Reference 551
9.45.1.16 GSLC_ALIGNV_TOP
#define GSLC_ALIGNV_TOP
9.45.1.17 GSLC_COL_BLACK
#define GSLC_COL_BLACK
Black.
9.45.1.18 GSLC_COL_BLUE
#define GSLC_COL_BLUE
Blue.
9.45.1.19 GSLC_COL_BLUE_DK1
#define GSLC_COL_BLUE_DK1
Blue (dark1)
9.45.1.20 GSLC_COL_BLUE_DK2
#define GSLC_COL_BLUE_DK2
Blue (dark2)
9.45.1.21 GSLC_COL_BLUE_DK3
#define GSLC_COL_BLUE_DK3
Blue (dark3)
Generated by Doxygen
552 File Documentation
9.45.1.22 GSLC_COL_BLUE_DK4
#define GSLC_COL_BLUE_DK4
Blue (dark4)
9.45.1.23 GSLC_COL_BLUE_LT1
#define GSLC_COL_BLUE_LT1
Blue (light1)
9.45.1.24 GSLC_COL_BLUE_LT2
#define GSLC_COL_BLUE_LT2
Blue (light2)
9.45.1.25 GSLC_COL_BLUE_LT3
#define GSLC_COL_BLUE_LT3
Blue (light3)
9.45.1.26 GSLC_COL_BLUE_LT4
#define GSLC_COL_BLUE_LT4
Blue (light4)
9.45.1.27 GSLC_COL_BROWN
#define GSLC_COL_BROWN
Brown.
Generated by Doxygen
9.45 src/GUIslice.h File Reference 553
9.45.1.28 GSLC_COL_CYAN
#define GSLC_COL_CYAN
Cyan.
9.45.1.29 GSLC_COL_GRAY
#define GSLC_COL_GRAY
Gray.
9.45.1.30 GSLC_COL_GRAY_DK1
#define GSLC_COL_GRAY_DK1
Gray (dark1)
9.45.1.31 GSLC_COL_GRAY_DK2
#define GSLC_COL_GRAY_DK2
Gray (dark2)
9.45.1.32 GSLC_COL_GRAY_DK3
#define GSLC_COL_GRAY_DK3
Gray (dark3)
9.45.1.33 GSLC_COL_GRAY_DK4
#define GSLC_COL_GRAY_DK4
Gray (dark4)
Generated by Doxygen
554 File Documentation
9.45.1.34 GSLC_COL_GRAY_LT1
#define GSLC_COL_GRAY_LT1
Gray (light1)
9.45.1.35 GSLC_COL_GRAY_LT2
#define GSLC_COL_GRAY_LT2
Gray (light2)
9.45.1.36 GSLC_COL_GRAY_LT3
#define GSLC_COL_GRAY_LT3
Gray (light3)
9.45.1.37 GSLC_COL_GRAY_LT4
#define GSLC_COL_GRAY_LT4
Gray (light4)
9.45.1.38 GSLC_COL_GREEN
#define GSLC_COL_GREEN
Green.
9.45.1.39 GSLC_COL_GREEN_DK1
#define GSLC_COL_GREEN_DK1
Green (dark1)
Generated by Doxygen
9.45 src/GUIslice.h File Reference 555
9.45.1.40 GSLC_COL_GREEN_DK2
#define GSLC_COL_GREEN_DK2
Green (dark2)
9.45.1.41 GSLC_COL_GREEN_DK3
#define GSLC_COL_GREEN_DK3
Green (dark3)
9.45.1.42 GSLC_COL_GREEN_DK4
#define GSLC_COL_GREEN_DK4
Green (dark4)
9.45.1.43 GSLC_COL_GREEN_LT1
#define GSLC_COL_GREEN_LT1
Green (light1)
9.45.1.44 GSLC_COL_GREEN_LT2
#define GSLC_COL_GREEN_LT2
Green (light2)
9.45.1.45 GSLC_COL_GREEN_LT3
#define GSLC_COL_GREEN_LT3
Green (light3)
Generated by Doxygen
556 File Documentation
9.45.1.46 GSLC_COL_GREEN_LT4
#define GSLC_COL_GREEN_LT4
Green (light4)
9.45.1.47 GSLC_COL_MAGENTA
#define GSLC_COL_MAGENTA
Magenta.
9.45.1.48 GSLC_COL_ORANGE
#define GSLC_COL_ORANGE
Orange.
9.45.1.49 GSLC_COL_PURPLE
#define GSLC_COL_PURPLE
Purple.
9.45.1.50 GSLC_COL_RED
#define GSLC_COL_RED
Red.
9.45.1.51 GSLC_COL_RED_DK1
#define GSLC_COL_RED_DK1
Red (dark1)
Generated by Doxygen
9.45 src/GUIslice.h File Reference 557
9.45.1.52 GSLC_COL_RED_DK2
#define GSLC_COL_RED_DK2
Red (dark2)
9.45.1.53 GSLC_COL_RED_DK3
#define GSLC_COL_RED_DK3
Red (dark3)
9.45.1.54 GSLC_COL_RED_DK4
#define GSLC_COL_RED_DK4
Red (dark4)
9.45.1.55 GSLC_COL_RED_LT1
#define GSLC_COL_RED_LT1
Red (light1)
9.45.1.56 GSLC_COL_RED_LT2
#define GSLC_COL_RED_LT2
Red (light2)
9.45.1.57 GSLC_COL_RED_LT3
#define GSLC_COL_RED_LT3
Red (light3)
Generated by Doxygen
558 File Documentation
9.45.1.58 GSLC_COL_RED_LT4
#define GSLC_COL_RED_LT4
Red (light4)
9.45.1.59 GSLC_COL_TEAL
#define GSLC_COL_TEAL
Teal.
9.45.1.60 GSLC_COL_WHITE
#define GSLC_COL_WHITE
White.
9.45.1.61 GSLC_COL_YELLOW
#define GSLC_COL_YELLOW
Yellow.
9.45.1.62 GSLC_COL_YELLOW_DK
#define GSLC_COL_YELLOW_DK
Yellow (dark)
9.45.1.63 GSLC_COLMONO_BLACK
#define GSLC_COLMONO_BLACK
Black.
Generated by Doxygen
9.45 src/GUIslice.h File Reference 559
9.45.1.64 GSLC_COLMONO_WHITE
#define GSLC_COLMONO_WHITE
White.
9.45.1.65 GSLC_ELEM_FEA_CLICK_EN
#define GSLC_ELEM_FEA_CLICK_EN
9.45.1.66 GSLC_ELEM_FEA_EDIT_EN
#define GSLC_ELEM_FEA_EDIT_EN
9.45.1.67 GSLC_ELEM_FEA_FILL_EN
#define GSLC_ELEM_FEA_FILL_EN
9.45.1.68 GSLC_ELEM_FEA_FOCUS_EN
#define GSLC_ELEM_FEA_FOCUS_EN
9.45.1.69 GSLC_ELEM_FEA_FRAME_EN
#define GSLC_ELEM_FEA_FRAME_EN
Generated by Doxygen
560 File Documentation
9.45.1.70 GSLC_ELEM_FEA_GLOW_EN
#define GSLC_ELEM_FEA_GLOW_EN
9.45.1.71 GSLC_ELEM_FEA_NONE
#define GSLC_ELEM_FEA_NONE
9.45.1.72 GSLC_ELEM_FEA_NOSHRINK
#define GSLC_ELEM_FEA_NOSHRINK
9.45.1.73 GSLC_ELEM_FEA_ROUND_EN
#define GSLC_ELEM_FEA_ROUND_EN
9.45.1.74 GSLC_ELEM_FEA_VALID
#define GSLC_ELEM_FEA_VALID
9.45.1.75 GSLC_ELEMREF_DEFAULT
#define GSLC_ELEMREF_DEFAULT
Generated by Doxygen
9.45 src/GUIslice.h File Reference 561
9.45.1.76 GSLC_FEATURE_FOCUS_ON_TOUCH
#define GSLC_FEATURE_FOCUS_ON_TOUCH
9.45.1.77 GSLC_MAX
#define GSLC_MAX(
a,
b )
9.45.1.78 GSLC_MIN
#define GSLC_MIN(
a,
b )
9.45.1.79 GSLC_PMEM
#define GSLC_PMEM
9.45.2.1 GSLC_CB_DEBUG_OUT
9.45.2.2 GSLC_CB_DRAW
Generated by Doxygen
562 File Documentation
9.45.2.3 GSLC_CB_EVENT
9.45.2.4 GSLC_CB_INPUT
typedef bool(∗ GSLC_CB_INPUT) (void ∗pvGui, void ∗pvElemRef, int16_t nStatus, void ∗pvData)
9.45.2.5 GSLC_CB_PIN_POLL
9.45.2.6 GSLC_CB_TICK
9.45.2.7 GSLC_CB_TOUCH
typedef bool(∗ GSLC_CB_TOUCH) (void ∗pvGui, void ∗pvElemRef, gslc_teTouch eTouch, int16_t nX,
int16_t nY)
9.45.2.8 gslc_tsColor
Generated by Doxygen
9.45 src/GUIslice.h File Reference 563
9.45.2.9 gslc_tsElem
Element Struct.
• Each element is created with a user-specified ID for further accesses (or GSLC_ID_AUTO for it to be auto-
generated)
• Extensions to the core element types is provided through the pXData reference and pfuncX∗ callback func-
tions.
9.45.2.10 gslc_tsEvent
Event structure.
9.45.2.11 gslc_tsEventTouch
9.45.2.12 gslc_tsPt
9.45.2.13 gslc_tsRect
Generated by Doxygen
564 File Documentation
9.45.2.14 gslc_tsRectState
• Accounts for various rects including focus, frame and internal content
9.45.3.1 gslc_teAction
enum gslc_teAction
GUI Action Requested These actions are usually the result of an InputMap lookup.
Enumerator
9.45.3.2 gslc_teElemId
enum gslc_teElemId
Element ID enumerations.
• The Element ID is the primary means for user code to reference a graphic element.
• Application code can assign arbitrary Element ID values in the range of 0...16383
• Specifying GSLC_ID_AUTO to ElemCreate() requests that GUIslice auto-assign an ID value for the Element.
These auto-assigned values will begin at GSLC_ID_AUTO_BASE.
Generated by Doxygen
9.45 src/GUIslice.h File Reference 565
Enumerator
9.45.3.3 gslc_teElemInd
enum gslc_teElemInd
Enumerator
9.45.3.4 gslc_teElemRefFlags
enum gslc_teElemRefFlags
Enumerator
Generated by Doxygen
566 File Documentation
Enumerator
9.45.3.5 gslc_teEventSubType
enum gslc_teEventSubType
Event sub-types.
Enumerator
GSLC_EVTSUB_NONE
GSLC_EVTSUB_DRAW_NEEDED Incremental redraw (as needed)
GSLC_EVTSUB_DRAW_FORCE Force a full redraw.
9.45.3.6 gslc_teEventType
enum gslc_teEventType
Event types.
Enumerator
9.45.3.7 gslc_teFontId
enum gslc_teFontId
Font ID enumerations.
Generated by Doxygen
9.45 src/GUIslice.h File Reference 567
• The Font ID is the primary means for user code to reference a specific font.
• Application code can assign arbitrary Font ID values in the range of 0...16383
Enumerator
9.45.3.8 gslc_teFontRefMode
enum gslc_teFontRefMode
• The Font Reference mode defines the source for the selected font. For graphics libraries that offer multiple
types of fonts, this can be used to differentiate between a default font, hardware fonts, software fonts, etc.
Enumerator
9.45.3.9 gslc_teFontRefType
enum gslc_teFontRefType
• The Font Reference type defines the way in which a font is selected. In some device targets (such as LINUX
SDL) a filename to a font file is provided. In others (such as Arduino, ESP8266), a pointer is given to a font
structure (or NULL for default).
Enumerator
Generated by Doxygen
568 File Documentation
9.45.3.10 gslc_teGroupId
enum gslc_teGroupId
Group ID enumerations.
Enumerator
9.45.3.11 gslc_teImgRefFlags
enum gslc_teImgRefFlags
Enumerator
9.45.3.12 gslc_teInitStat
enum gslc_teInitStat
Enumerator
9.45.3.13 gslc_teInputMode
enum gslc_teInputMode
Dictates how directional controls affect the interaction with the GUI elements.
Enumerator
9.45.3.14 gslc_teInputRawEvent
enum gslc_teInputRawEvent
Enumerator
9.45.3.15 gslc_tePageId
enum gslc_tePageId
Page ID enumerations.
• The Page ID is the primary means for user code to reference a specific page of elements.
• Application code can assign arbitrary Page ID values in the range of 0...16383
Generated by Doxygen
570 File Documentation
Enumerator
9.45.3.16 gslc_tePin
enum gslc_tePin
Enumerator
9.45.3.17 gslc_teRedrawType
enum gslc_teRedrawType
Redraw types.
Enumerator
Generated by Doxygen
9.45 src/GUIslice.h File Reference 571
9.45.3.18 gslc_teStackPage
enum gslc_teStackPage
Enumerator
9.45.3.19 gslc_teTouch
enum gslc_teTouch
Enumerator
9.45.3.20 gslc_teTxtFlags
enum gslc_teTxtFlags
Generated by Doxygen
572 File Documentation
• ALLOC_NONE
• ALLOC_INT | MEM_RAM
• ALLOC_EXT | MEM_RAM
• ALLOC_EXT | MEM_PROG
Enumerator
9.45.3.21 gslc_teTypeCore
enum gslc_teTypeCore
Element type.
Enumerator
Generated by Doxygen
9.46 src/GUIslice_config.h File Reference 573
9.45.4.1 g_pfDebugOut
GSLC_CB_DEBUG_OUT g_pfDebugOut
This graph shows which files directly or indirectly include this file:
src/GUIslice_config.h
src/GUIslice_drv_tft
src/GUIslice.h src/GUIslice_drv_adagfx.cpp src/GUIslice_drv_m5stack.cpp src/GUIslice_drv_sdl.c src/GUIslice_drv_utft.cpp
_espi.cpp
src/GUIslice.c src/elem/XGraph.h src/elem/XKeyPad.h src/elem/XListbox.h src/elem/XProgress.h src/elem/XRadial.h src/elem/XRamp.h src/elem/XCheckbox.h src/elem/XGauge.h src/elem/XGlowball.h src/elem/XRingGauge.h src/elem/XSeekbar.h src/elem/XSelNum.h src/elem/XSlider.h src/elem/XSpinner.h src/elem/XTemplate.h src/elem/XTextbox.h src/elem/XTogglebtn.h src/GUIslice_drv_adagfx.h src/GUIslice_drv_m5stack.h src/elem/XToggleImgbtn.h
src/elem/XGraph.c src/elem/XKeyPad.c src/elem/XKeyPad_Alpha.h src/elem/XKeyPad_Num.h src/elem/XListbox.c src/elem/XProgress.c src/elem/XRadial.c src/elem/XRamp.c src/elem/XCheckbox.c src/elem/XGauge.c src/elem/XGlowball.c src/elem/XRingGauge.c src/elem/XSeekbar.c src/elem/XSelNum.c src/elem/XSlider.c src/elem/XSpinner.c src/elem/XTemplate.c src/elem/XTextbox.c src/elem/XTogglebtn.c src/elem/XToggleImgbtn.c
src/elem/XKeyPad_Alpha.c src/elem/XKeyPad_Num.c
This graph shows which files directly or indirectly include this file:
src/GUIslice_drv.h
src/elem/XCheckbox.c src/elem/XGauge.c src/elem/XGlowball.c src/elem/XGraph.c src/elem/XKeyPad.c src/elem/XKeyPad_Alpha.c src/elem/XKeyPad_Num.c src/elem/XListbox.c src/elem/XProgress.c src/elem/XRadial.c src/elem/XRamp.c src/elem/XRingGauge.c src/elem/XSeekbar.c src/elem/XSelNum.c src/elem/XSlider.c src/elem/XSpinner.c src/elem/XTemplate.c src/elem/XTextbox.c src/elem/XTogglebtn.c src/elem/XToggleImgbtn.c src/GUIslice.c
#include "GUIslice_config.h"
Include dependency graph for GUIslice_drv_adagfx.cpp:
src/GUIslice_drv_adagfx.cpp
GUIslice_config.h
Generated by Doxygen
574 File Documentation
src/GUIslice_drv_adagfx.h
GUIslice.h
Data Structures
• struct gslc_tsDriver
Macros
• #define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
• #define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
• #define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
• #define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
• #define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
• #define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
• #define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
• #define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
• #define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
• #define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
• #define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
• #define DRV_OVERRIDE_TXT_ALIGN
Driver provides text alignment.
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 575
Functions
Generated by Doxygen
576 File Documentation
• bool gslc_DrvDrawFrameRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor n←-
Col)
Draw a framed rounded rectangle.
• bool gslc_DrvDrawFillRoundRect (gslc_tsGui ∗pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol)
Draw a filled rounded rectangle.
• bool gslc_DrvDrawLine (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, gslc_tsColor
nCol)
Draw a line.
• bool gslc_DrvDrawFrameCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_ts←-
Color nCol)
Draw a framed circle.
• bool gslc_DrvDrawFillCircle (gslc_tsGui ∗pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor
nCol)
Draw a filled circle.
• bool gslc_DrvDrawFrameTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1,
int16_t nX2, int16_t nY2, gslc_tsColor nCol)
Draw a framed triangle.
• bool gslc_DrvDrawFillTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t
nX2, int16_t nY2, gslc_tsColor nCol)
Draw a filled triangle.
• bool gslc_DrvDrawImage (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, gslc_tsImgRef sImgRef)
Copy all of source image to destination screen at specified coordinate.
• void gslc_DrvDrawMonoFromMem (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, const unsigned char ∗p←-
Bitmap, bool bProgMem)
Draw a monochrome bitmap from a memory array.
• void gslc_DrvDrawBmp24FromMem (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, const unsigned char
∗pBitmap, bool bProgMem)
Draw a color 24-bit depth bitmap from a memory array.
• void gslc_DrvDrawBmp24FromSD (gslc_tsGui ∗pGui, const char ∗filename, uint16_t x, uint16_t y)
Draw a color 24-bit depth bitmap from SD card.
• void gslc_DrvDrawBkgnd (gslc_tsGui ∗pGui)
Copy the background image to destination screen.
• bool gslc_DrvInitTouch (gslc_tsGui ∗pGui, const char ∗acDev)
Perform any touchscreen-specific initialization.
• bool gslc_DrvGetTouch (gslc_tsGui ∗pGui, int16_t ∗pnX, int16_t ∗pnY, uint16_t ∗pnPress, gslc_teInputRaw←-
Event ∗peInputEvent, int16_t ∗pnInputVal)
Get the last touch event from the internal touch handler.
• bool gslc_DrvRotate (gslc_tsGui ∗pGui, uint8_t nRotation)
Change rotation, automatically adapt touchscreen axes swap/flip.
• uint16_t gslc_DrvAdaptColorToRaw (gslc_tsColor nCol)
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 577
9.49.2.1 DRV_HAS_DRAW_BMP_MEM
#define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
9.49.2.2 DRV_HAS_DRAW_CIRCLE_FILL
#define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
9.49.2.3 DRV_HAS_DRAW_CIRCLE_FRAME
#define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
9.49.2.4 DRV_HAS_DRAW_LINE
#define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
9.49.2.5 DRV_HAS_DRAW_POINT
#define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
9.49.2.6 DRV_HAS_DRAW_POINTS
#define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
Generated by Doxygen
578 File Documentation
9.49.2.7 DRV_HAS_DRAW_RECT_FILL
#define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
9.49.2.8 DRV_HAS_DRAW_RECT_FRAME
#define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
9.49.2.9 DRV_HAS_DRAW_RECT_ROUND_FILL
#define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
9.49.2.10 DRV_HAS_DRAW_RECT_ROUND_FRAME
#define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
9.49.2.11 DRV_HAS_DRAW_TEXT
#define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
9.49.2.12 DRV_HAS_DRAW_TRI_FILL
#define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 579
9.49.2.13 DRV_HAS_DRAW_TRI_FRAME
#define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
9.49.2.14 DRV_OVERRIDE_TXT_ALIGN
#define DRV_OVERRIDE_TXT_ALIGN
9.49.3.1 gslc_DrvAdaptColorToRaw()
uint16_t gslc_DrvAdaptColorToRaw (
gslc_tsColor nCol )
9.49.3.2 gslc_DrvDestruct()
void gslc_DrvDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
Generated by Doxygen
580 File Documentation
9.49.3.3 gslc_DrvDrawBkgnd()
void gslc_DrvDrawBkgnd (
gslc_tsGui ∗ pGui )
Parameters
Returns
9.49.3.4 gslc_DrvDrawBmp24FromMem()
void gslc_DrvDrawBmp24FromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Note that users must convert images from their native format (eg. BMP, PNG, etc.) into a C array.
Please refer to the following guide for details: https://github.com/ImpulseAdventure/GU←-
Islice/wiki/Display-Images-from-FLASH
• The converted file (c array) can then be included in the sketch.
Parameters
Returns
none
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 581
9.49.3.5 gslc_DrvDrawBmp24FromSD()
void gslc_DrvDrawBmp24FromSD (
gslc_tsGui ∗ pGui,
const char ∗ filename,
uint16_t x,
uint16_t y )
Parameters
Returns
none
9.49.3.6 gslc_DrvDrawFillCircle()
bool gslc_DrvDrawFillCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
582 File Documentation
9.49.3.7 gslc_DrvDrawFillRect()
bool gslc_DrvDrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.8 gslc_DrvDrawFillRoundRect()
bool gslc_DrvDrawFillRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.9 gslc_DrvDrawFillTriangle()
bool gslc_DrvDrawFillTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 583
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.10 gslc_DrvDrawFrameCircle()
bool gslc_DrvDrawFrameCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
584 File Documentation
9.49.3.11 gslc_DrvDrawFrameRect()
bool gslc_DrvDrawFrameRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.12 gslc_DrvDrawFrameRoundRect()
bool gslc_DrvDrawFrameRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.13 gslc_DrvDrawFrameTriangle()
bool gslc_DrvDrawFrameTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 585
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.14 gslc_DrvDrawImage()
bool gslc_DrvDrawImage (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
gslc_tsImgRef sImgRef )
Parameters
Returns
Generated by Doxygen
586 File Documentation
9.49.3.15 gslc_DrvDrawLine()
bool gslc_DrvDrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Draw a line.
Parameters
Returns
9.49.3.16 gslc_DrvDrawMonoFromMem()
void gslc_DrvDrawMonoFromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Draw from the bitmap buffer using the foreground color defined in the header (unset bits are transparent)
Parameters
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 587
Returns
none
9.49.3.17 gslc_DrvDrawPoint()
bool gslc_DrvDrawPoint (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
9.49.3.18 gslc_DrvDrawPoints()
bool gslc_DrvDrawPoints (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ asPt,
uint16_t nNumPt,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
Generated by Doxygen
588 File Documentation
9.49.3.19 gslc_DrvDrawTxt()
bool gslc_DrvDrawTxt (
gslc_tsGui ∗ pGui,
int16_t nTxtX,
int16_t nTxtY,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Parameters
Returns
9.49.3.20 gslc_DrvFontAdd()
Parameters
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 589
Returns
9.49.3.21 gslc_DrvFontsDestruct()
void gslc_DrvFontsDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.49.3.22 gslc_DrvGetDriverDisp()
void∗ gslc_DrvGetDriverDisp (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
9.49.3.23 gslc_DrvGetDriverTouch()
void∗ gslc_DrvGetDriverTouch (
gslc_tsGui ∗ pGui )
Generated by Doxygen
590 File Documentation
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
9.49.3.24 gslc_DrvGetNameDisp()
Parameters
Returns
9.49.3.25 gslc_DrvGetNameTouch()
Parameters
Returns
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 591
9.49.3.26 gslc_DrvGetTouch()
bool gslc_DrvGetTouch (
gslc_tsGui ∗ pGui,
int16_t ∗ pnX,
int16_t ∗ pnY,
uint16_t ∗ pnPress,
gslc_teInputRawEvent ∗ peInputEvent,
int16_t ∗ pnInputVal )
Get the last touch event from the internal touch handler.
Parameters
Returns
9.49.3.27 gslc_DrvGetTxtSize()
bool gslc_DrvGetTxtSize (
gslc_tsGui ∗ pGui,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
int16_t ∗ pnTxtX,
int16_t ∗ pnTxtY,
uint16_t ∗ pnTxtSzW,
uint16_t ∗ pnTxtSzH )
Parameters
Generated by Doxygen
592 File Documentation
Returns
9.49.3.28 gslc_DrvImageDestruct()
void gslc_DrvImageDestruct (
void ∗ pvImg )
Parameters
in pvImg Void ptr to image
Returns
none
9.49.3.29 gslc_DrvInit()
bool gslc_DrvInit (
gslc_tsGui ∗ pGui )
PRE:
• The environment variables should be configured before calling gslc_DrvInit(). This can be done with gslc_←-
DrvInitEnv() or manually in user function.
Parameters
Returns
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 593
9.49.3.30 gslc_DrvInitTouch()
bool gslc_DrvInitTouch (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.49.3.31 gslc_DrvInitTs()
bool gslc_DrvInitTs (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.49.3.32 gslc_DrvLoadImage()
void∗ gslc_DrvLoadImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Generated by Doxygen
594 File Documentation
Parameters
Returns
9.49.3.33 gslc_DrvPageFlipNow()
void gslc_DrvPageFlipNow (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.49.3.34 gslc_DrvRotate()
bool gslc_DrvRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Parameters
Returns
true if successful
Generated by Doxygen
9.49 src/GUIslice_drv_adagfx.h File Reference 595
9.49.3.35 gslc_DrvSetBkgndColor()
bool gslc_DrvSetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Parameters
Returns
9.49.3.36 gslc_DrvSetBkgndImage()
bool gslc_DrvSetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.49.3.37 gslc_DrvSetClipRect()
bool gslc_DrvSetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Generated by Doxygen
596 File Documentation
Parameters
Returns
9.49.3.38 gslc_DrvSetElemImageGlow()
bool gslc_DrvSetElemImageGlow (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.49.3.39 gslc_DrvSetElemImageNorm()
bool gslc_DrvSetElemImageNorm (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Generated by Doxygen
9.50 src/GUIslice_drv_m5stack.cpp File Reference 597
Returns
#include "GUIslice_config.h"
Include dependency graph for GUIslice_drv_m5stack.cpp:
src/GUIslice_drv_m5stack.cpp
GUIslice_config.h
#include "GUIslice.h"
#include <stdio.h>
Include dependency graph for GUIslice_drv_m5stack.h:
src/GUIslice_drv_m5stack.h
GUIslice.h
Data Structures
• struct gslc_tsDriver
Generated by Doxygen
598 File Documentation
Macros
• #define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
• #define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
• #define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
• #define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
• #define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
• #define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
• #define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
• #define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
• #define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
• #define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
• #define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
• #define DRV_OVERRIDE_TXT_ALIGN
Driver provides text alignment.
Functions
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 599
Generated by Doxygen
600 File Documentation
• bool gslc_DrvDrawFillTriangle (gslc_tsGui ∗pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, int16_t
nX2, int16_t nY2, gslc_tsColor nCol)
Draw a filled triangle.
• bool gslc_DrvDrawImage (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, gslc_tsImgRef sImgRef)
Copy all of source image to destination screen at specified coordinate.
• void gslc_DrvDrawMonoFromMem (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, const unsigned char ∗p←-
Bitmap, bool bProgMem)
Draw a monochrome bitmap from a memory array.
• void gslc_DrvDrawBmp24FromMem (gslc_tsGui ∗pGui, int16_t nDstX, int16_t nDstY, const unsigned char
∗pBitmap, bool bProgMem)
Draw a color 24-bit depth bitmap from a memory array.
• void gslc_DrvDrawBkgnd (gslc_tsGui ∗pGui)
Copy the background image to destination screen.
• bool gslc_DrvRotate (gslc_tsGui ∗pGui, uint8_t nRotation)
Change rotation, automatically adapt touchscreen axes swap/flip.
• uint16_t gslc_DrvAdaptColorToRaw (gslc_tsColor nCol)
Variables
9.51.2.1 DRV_HAS_DRAW_BMP_MEM
#define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
9.51.2.2 DRV_HAS_DRAW_CIRCLE_FILL
#define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 601
9.51.2.3 DRV_HAS_DRAW_CIRCLE_FRAME
#define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
9.51.2.4 DRV_HAS_DRAW_LINE
#define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
9.51.2.5 DRV_HAS_DRAW_POINT
#define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
9.51.2.6 DRV_HAS_DRAW_POINTS
#define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
9.51.2.7 DRV_HAS_DRAW_RECT_FILL
#define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
9.51.2.8 DRV_HAS_DRAW_RECT_FRAME
#define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
Generated by Doxygen
602 File Documentation
9.51.2.9 DRV_HAS_DRAW_RECT_ROUND_FILL
#define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
9.51.2.10 DRV_HAS_DRAW_RECT_ROUND_FRAME
#define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
9.51.2.11 DRV_HAS_DRAW_TEXT
#define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
9.51.2.12 DRV_HAS_DRAW_TRI_FILL
#define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
9.51.2.13 DRV_HAS_DRAW_TRI_FRAME
#define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
9.51.2.14 DRV_OVERRIDE_TXT_ALIGN
#define DRV_OVERRIDE_TXT_ALIGN
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 603
9.51.3.1 gslc_DrvAdaptColorToRaw()
uint16_t gslc_DrvAdaptColorToRaw (
gslc_tsColor nCol )
9.51.3.2 gslc_DrvDestruct()
void gslc_DrvDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.51.3.3 gslc_DrvDrawBkgnd()
void gslc_DrvDrawBkgnd (
gslc_tsGui ∗ pGui )
Parameters
Returns
Generated by Doxygen
604 File Documentation
9.51.3.4 gslc_DrvDrawBmp24FromMem()
void gslc_DrvDrawBmp24FromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Note that users must convert images from their native format (eg. BMP, PNG, etc.) into a C array.
Please refer to the following guide for details: https://github.com/ImpulseAdventure/GU←-
Islice/wiki/Display-Images-from-FLASH
• The converted file (c array) can then be included in the sketch.
Parameters
Returns
none
9.51.3.5 gslc_DrvDrawFillCircle()
bool gslc_DrvDrawFillCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 605
Returns
9.51.3.6 gslc_DrvDrawFillRect()
bool gslc_DrvDrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.51.3.7 gslc_DrvDrawFillRoundRect()
bool gslc_DrvDrawFillRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
606 File Documentation
9.51.3.8 gslc_DrvDrawFillTriangle()
bool gslc_DrvDrawFillTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.51.3.9 gslc_DrvDrawFrameCircle()
bool gslc_DrvDrawFrameCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 607
Returns
9.51.3.10 gslc_DrvDrawFrameRect()
bool gslc_DrvDrawFrameRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.51.3.11 gslc_DrvDrawFrameRoundRect()
bool gslc_DrvDrawFrameRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
608 File Documentation
9.51.3.12 gslc_DrvDrawFrameTriangle()
bool gslc_DrvDrawFrameTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.51.3.13 gslc_DrvDrawImage()
bool gslc_DrvDrawImage (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
gslc_tsImgRef sImgRef )
Parameters
Returns
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 609
9.51.3.14 gslc_DrvDrawLine()
bool gslc_DrvDrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Draw a line.
Parameters
Returns
9.51.3.15 gslc_DrvDrawMonoFromMem()
void gslc_DrvDrawMonoFromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Draw from the bitmap buffer using the foreground color defined in the header (unset bits are transparent)
Parameters
Generated by Doxygen
610 File Documentation
Returns
none
9.51.3.16 gslc_DrvDrawPoint()
bool gslc_DrvDrawPoint (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
9.51.3.17 gslc_DrvDrawPoints()
bool gslc_DrvDrawPoints (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ asPt,
uint16_t nNumPt,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 611
9.51.3.18 gslc_DrvDrawTxt()
bool gslc_DrvDrawTxt (
gslc_tsGui ∗ pGui,
int16_t nTxtX,
int16_t nTxtY,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Parameters
Returns
9.51.3.19 gslc_DrvDrawTxtAlign()
bool gslc_DrvDrawTxtAlign (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int8_t eTxtAlign,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Generated by Doxygen
612 File Documentation
Parameters
Returns
9.51.3.20 gslc_DrvFontAdd()
Parameters
Returns
9.51.3.21 gslc_DrvFontsDestruct()
void gslc_DrvFontsDestruct (
gslc_tsGui ∗ pGui )
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 613
Parameters
Returns
none
9.51.3.22 gslc_DrvGetDriverDisp()
void∗ gslc_DrvGetDriverDisp (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
9.51.3.23 gslc_DrvGetDriverTouch()
void∗ gslc_DrvGetDriverTouch (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Generated by Doxygen
614 File Documentation
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
9.51.3.24 gslc_DrvGetNameDisp()
Parameters
Returns
9.51.3.25 gslc_DrvGetNameTouch()
Parameters
Returns
9.51.3.26 gslc_DrvGetTxtSize()
bool gslc_DrvGetTxtSize (
gslc_tsGui ∗ pGui,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 615
int16_t ∗ pnTxtX,
int16_t ∗ pnTxtY,
uint16_t ∗ pnTxtSzW,
uint16_t ∗ pnTxtSzH )
Parameters
Returns
9.51.3.27 gslc_DrvImageDestruct()
void gslc_DrvImageDestruct (
void ∗ pvImg )
Parameters
in pvImg Void ptr to image
Returns
none
9.51.3.28 gslc_DrvInit()
bool gslc_DrvInit (
gslc_tsGui ∗ pGui )
Generated by Doxygen
616 File Documentation
PRE:
• The environment variables should be configured before calling gslc_DrvInit(). This can be done with gslc_←-
DrvInitEnv() or manually in user function.
Parameters
Returns
9.51.3.29 gslc_DrvInitTs()
bool gslc_DrvInitTs (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.51.3.30 gslc_DrvLoadImage()
void∗ gslc_DrvLoadImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 617
Parameters
Returns
9.51.3.31 gslc_DrvPageFlipNow()
void gslc_DrvPageFlipNow (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.51.3.32 gslc_DrvRotate()
bool gslc_DrvRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Parameters
Returns
true if successful
Generated by Doxygen
618 File Documentation
9.51.3.33 gslc_DrvSetBkgndColor()
bool gslc_DrvSetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Parameters
Returns
9.51.3.34 gslc_DrvSetBkgndImage()
bool gslc_DrvSetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.51.3.35 gslc_DrvSetClipRect()
bool gslc_DrvSetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Generated by Doxygen
9.51 src/GUIslice_drv_m5stack.h File Reference 619
Parameters
Returns
9.51.3.36 gslc_DrvSetElemImageGlow()
bool gslc_DrvSetElemImageGlow (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.51.3.37 gslc_DrvSetElemImageNorm()
bool gslc_DrvSetElemImageNorm (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Generated by Doxygen
620 File Documentation
Returns
9.51.4.1 ERRSTR_NULL
9.51.4.2 ERRSTR_PXD_NULL
#include "GUIslice_config.h"
Include dependency graph for GUIslice_drv_sdl.c:
src/GUIslice_drv_sdl.c
GUIslice_config.h
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 621
#include "GUIslice.h"
#include <stdio.h>
Include dependency graph for GUIslice_drv_sdl.h:
src/GUIslice_drv_sdl.h
GUIslice.h
Data Structures
• struct gslc_tsDriver
Macros
• #define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
• #define DRV_OVERRIDE_TXT_ALIGN
Driver provides text alignment.
Functions
Generated by Doxygen
622 File Documentation
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 623
9.53.2.1 DRV_HAS_DRAW_POINT
#define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
9.53.2.2 DRV_OVERRIDE_TXT_ALIGN
#define DRV_OVERRIDE_TXT_ALIGN
9.53.3.1 gslc_DrvAdaptColor()
SDL_Color gslc_DrvAdaptColor (
gslc_tsColor sCol )
Parameters
in sCol gslc_tsColor
Returns
Converted SDL_Color
Generated by Doxygen
624 File Documentation
9.53.3.2 gslc_DrvAdaptRect()
SDL_Rect gslc_DrvAdaptRect (
gslc_tsRect rRect )
Parameters
in rRect gslc_tsRect
Returns
Converted SDL_Rect
9.53.3.3 gslc_DrvCleanStart()
bool gslc_DrvCleanStart (
const char ∗ sTTY )
Ensure SDL initializes cleanly to workaround possible issues if previous SDL application failed to close down grace-
fully.
Parameters
Returns
true if success
9.53.3.4 gslc_DrvDestruct()
void gslc_DrvDestruct (
gslc_tsGui ∗ pGui )
Parameters
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 625
Returns
none
9.53.3.5 gslc_DrvDrawBkgnd()
void gslc_DrvDrawBkgnd (
gslc_tsGui ∗ pGui )
Parameters
Returns
9.53.3.6 gslc_DrvDrawFillRect()
bool gslc_DrvDrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.53.3.7 gslc_DrvDrawFrameRect()
bool gslc_DrvDrawFrameRect (
gslc_tsGui ∗ pGui,
Generated by Doxygen
626 File Documentation
gslc_tsRect rRect,
gslc_tsColor nCol )
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 627
Parameters
Returns
9.53.3.8 gslc_DrvDrawImage()
bool gslc_DrvDrawImage (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.53.3.9 gslc_DrvDrawLine()
bool gslc_DrvDrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Draw a line.
Generated by Doxygen
628 File Documentation
Parameters
Returns
9.53.3.10 gslc_DrvDrawPoint()
bool gslc_DrvDrawPoint (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
9.53.3.11 gslc_DrvDrawPoints()
bool gslc_DrvDrawPoints (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ asPt,
uint16_t nNumPt,
gslc_tsColor nCol )
Draw a point.
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 629
Parameters
Returns
9.53.3.12 gslc_DrvDrawTxt()
bool gslc_DrvDrawTxt (
gslc_tsGui ∗ pGui,
int16_t nTxtX,
int16_t nTxtY,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Parameters
Returns
9.53.3.13 gslc_DrvFontAdd()
Generated by Doxygen
630 File Documentation
Parameters
Returns
9.53.3.14 gslc_DrvFontsDestruct()
void gslc_DrvFontsDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.53.3.15 gslc_DrvGetDriverDisp()
void∗ gslc_DrvGetDriverDisp (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 631
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
9.53.3.16 gslc_DrvGetDriverTouch()
void∗ gslc_DrvGetDriverTouch (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
9.53.3.17 gslc_DrvGetNameDisp()
Parameters
Returns
9.53.3.18 gslc_DrvGetNameTouch()
Generated by Doxygen
632 File Documentation
Parameters
Returns
9.53.3.19 gslc_DrvGetTouch()
bool gslc_DrvGetTouch (
gslc_tsGui ∗ pGui,
int16_t ∗ pnX,
int16_t ∗ pnY,
uint16_t ∗ pnPress,
gslc_teInputRawEvent ∗ peInputEvent,
int16_t ∗ pnInputVal )
Parameters
Returns
9.53.3.20 gslc_DrvGetTxtSize()
bool gslc_DrvGetTxtSize (
gslc_tsGui ∗ pGui,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
int16_t ∗ pnTxtX,
int16_t ∗ pnTxtY,
uint16_t ∗ pnTxtSzW,
uint16_t ∗ pnTxtSzH )
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 633
Parameters
Returns
9.53.3.21 gslc_DrvImageDestruct()
void gslc_DrvImageDestruct (
void ∗ pvImg )
Parameters
in pvImg Void ptr to image
Returns
none
9.53.3.22 gslc_DrvInit()
bool gslc_DrvInit (
gslc_tsGui ∗ pGui )
PRE:
Generated by Doxygen
634 File Documentation
Parameters
Returns
9.53.3.23 gslc_DrvInitTouch()
bool gslc_DrvInitTouch (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.53.3.24 gslc_DrvLoadImage()
void∗ gslc_DrvLoadImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 635
9.53.3.25 gslc_DrvPageFlipNow()
void gslc_DrvPageFlipNow (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.53.3.26 gslc_DrvReportInfoPost()
void gslc_DrvReportInfoPost ( )
Returns
none
9.53.3.27 gslc_DrvReportInfoPre()
void gslc_DrvReportInfoPre ( )
Returns
none
9.53.3.28 gslc_DrvRotate()
bool gslc_DrvRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Generated by Doxygen
636 File Documentation
Parameters
Returns
true if successful
9.53.3.29 gslc_DrvSetBkgndColor()
bool gslc_DrvSetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Parameters
Returns
9.53.3.30 gslc_DrvSetBkgndImage()
bool gslc_DrvSetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Generated by Doxygen
9.53 src/GUIslice_drv_sdl.h File Reference 637
Returns
9.53.3.31 gslc_DrvSetClipRect()
bool gslc_DrvSetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Parameters
Returns
9.53.3.32 gslc_DrvSetElemImageGlow()
bool gslc_DrvSetElemImageGlow (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.53.3.33 gslc_DrvSetElemImageNorm()
bool gslc_DrvSetElemImageNorm (
gslc_tsGui ∗ pGui,
Generated by Doxygen
638 File Documentation
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
#include "GUIslice_config.h"
Include dependency graph for GUIslice_drv_tft_espi.cpp:
src/GUIslice_drv_tft
_espi.cpp
GUIslice_config.h
#include "GUIslice.h"
#include <stdio.h>
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 639
src/GUIslice_drv_tft
_espi.h
GUIslice.h
Data Structures
• struct gslc_tsDriver
Macros
• #define GSLC_SPIFFS_EN
• #define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
• #define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
• #define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
• #define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
• #define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
• #define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
• #define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
• #define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
• #define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
• #define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
• #define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
• #define DRV_OVERRIDE_TXT_ALIGN
Driver provides text alignment.
Generated by Doxygen
640 File Documentation
Functions
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 641
9.55.2.1 DRV_HAS_DRAW_BMP_MEM
#define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
Generated by Doxygen
642 File Documentation
9.55.2.2 DRV_HAS_DRAW_CIRCLE_FILL
#define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
9.55.2.3 DRV_HAS_DRAW_CIRCLE_FRAME
#define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
9.55.2.4 DRV_HAS_DRAW_LINE
#define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
9.55.2.5 DRV_HAS_DRAW_POINT
#define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
9.55.2.6 DRV_HAS_DRAW_POINTS
#define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
9.55.2.7 DRV_HAS_DRAW_RECT_FILL
#define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 643
9.55.2.8 DRV_HAS_DRAW_RECT_FRAME
#define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
9.55.2.9 DRV_HAS_DRAW_RECT_ROUND_FILL
#define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
9.55.2.10 DRV_HAS_DRAW_RECT_ROUND_FRAME
#define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
9.55.2.11 DRV_HAS_DRAW_TEXT
#define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
9.55.2.12 DRV_HAS_DRAW_TRI_FILL
#define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
9.55.2.13 DRV_HAS_DRAW_TRI_FRAME
#define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
Generated by Doxygen
644 File Documentation
9.55.2.14 DRV_OVERRIDE_TXT_ALIGN
#define DRV_OVERRIDE_TXT_ALIGN
9.55.2.15 GSLC_SPIFFS_EN
#define GSLC_SPIFFS_EN
9.55.3.1 gslc_DrvAdaptColorToRaw()
uint16_t gslc_DrvAdaptColorToRaw (
gslc_tsColor nCol )
9.55.3.2 gslc_DrvDestruct()
void gslc_DrvDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.55.3.3 gslc_DrvDrawBkgnd()
void gslc_DrvDrawBkgnd (
gslc_tsGui ∗ pGui )
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 645
Generated by Doxygen
646 File Documentation
Parameters
Returns
9.55.3.4 gslc_DrvDrawBmp24FromMem()
void gslc_DrvDrawBmp24FromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Note that users must convert images from their native format (eg. BMP, PNG, etc.) into a C array.
Please refer to the following guide for details: https://github.com/ImpulseAdventure/GU←-
Islice/wiki/Display-Images-from-FLASH
• The converted file (c array) can then be included in the sketch.
Parameters
Returns
none
9.55.3.5 gslc_DrvDrawFillCircle()
bool gslc_DrvDrawFillCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 647
Parameters
Returns
9.55.3.6 gslc_DrvDrawFillRect()
bool gslc_DrvDrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.7 gslc_DrvDrawFillRoundRect()
bool gslc_DrvDrawFillRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.8 gslc_DrvDrawFillTriangle()
bool gslc_DrvDrawFillTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.9 gslc_DrvDrawFrameCircle()
bool gslc_DrvDrawFrameCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.10 gslc_DrvDrawFrameRect()
bool gslc_DrvDrawFrameRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.11 gslc_DrvDrawFrameRoundRect()
bool gslc_DrvDrawFrameRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
650 File Documentation
9.55.3.12 gslc_DrvDrawFrameTriangle()
bool gslc_DrvDrawFrameTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.13 gslc_DrvDrawImage()
bool gslc_DrvDrawImage (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
gslc_tsImgRef sImgRef )
Parameters
Returns
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 651
9.55.3.14 gslc_DrvDrawLine()
bool gslc_DrvDrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Draw a line.
Parameters
Returns
9.55.3.15 gslc_DrvDrawMonoFromMem()
void gslc_DrvDrawMonoFromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Draw from the bitmap buffer using the foreground color defined in the header (unset bits are transparent)
Parameters
Generated by Doxygen
652 File Documentation
Returns
none
9.55.3.16 gslc_DrvDrawPoint()
bool gslc_DrvDrawPoint (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
9.55.3.17 gslc_DrvDrawPoints()
bool gslc_DrvDrawPoints (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ asPt,
uint16_t nNumPt,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 653
9.55.3.18 gslc_DrvDrawTxt()
bool gslc_DrvDrawTxt (
gslc_tsGui ∗ pGui,
int16_t nTxtX,
int16_t nTxtY,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Parameters
Returns
9.55.3.19 gslc_DrvDrawTxtAlign()
bool gslc_DrvDrawTxtAlign (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int8_t eTxtAlign,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Generated by Doxygen
654 File Documentation
Parameters
Returns
9.55.3.20 gslc_DrvFontAdd()
Parameters
Returns
9.55.3.21 gslc_DrvFontsDestruct()
void gslc_DrvFontsDestruct (
gslc_tsGui ∗ pGui )
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 655
Parameters
Returns
none
9.55.3.22 gslc_DrvGetDriverDisp()
void∗ gslc_DrvGetDriverDisp (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
9.55.3.23 gslc_DrvGetDriverTouch()
void∗ gslc_DrvGetDriverTouch (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Generated by Doxygen
656 File Documentation
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
9.55.3.24 gslc_DrvGetNameDisp()
Parameters
Returns
9.55.3.25 gslc_DrvGetNameTouch()
Parameters
Returns
9.55.3.26 gslc_DrvGetTxtSize()
bool gslc_DrvGetTxtSize (
gslc_tsGui ∗ pGui,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 657
int16_t ∗ pnTxtX,
int16_t ∗ pnTxtY,
uint16_t ∗ pnTxtSzW,
uint16_t ∗ pnTxtSzH )
Parameters
Returns
9.55.3.27 gslc_DrvImageDestruct()
void gslc_DrvImageDestruct (
void ∗ pvImg )
Parameters
in pvImg Void ptr to image
Returns
none
9.55.3.28 gslc_DrvInit()
bool gslc_DrvInit (
gslc_tsGui ∗ pGui )
Generated by Doxygen
658 File Documentation
PRE:
• The environment variables should be configured before calling gslc_DrvInit(). This can be done with gslc_←-
DrvInitEnv() or manually in user function.
Parameters
Returns
9.55.3.29 gslc_DrvInitTs()
bool gslc_DrvInitTs (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.55.3.30 gslc_DrvLoadImage()
void∗ gslc_DrvLoadImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 659
Parameters
Returns
9.55.3.31 gslc_DrvPageFlipNow()
void gslc_DrvPageFlipNow (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.55.3.32 gslc_DrvRotate()
bool gslc_DrvRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Parameters
Returns
true if successful
Generated by Doxygen
660 File Documentation
9.55.3.33 gslc_DrvSetBkgndColor()
bool gslc_DrvSetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Parameters
Returns
9.55.3.34 gslc_DrvSetBkgndImage()
bool gslc_DrvSetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.55.3.35 gslc_DrvSetClipRect()
bool gslc_DrvSetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Generated by Doxygen
9.55 src/GUIslice_drv_tft_espi.h File Reference 661
Parameters
Returns
9.55.3.36 gslc_DrvSetElemImageGlow()
bool gslc_DrvSetElemImageGlow (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.55.3.37 gslc_DrvSetElemImageNorm()
bool gslc_DrvSetElemImageNorm (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Generated by Doxygen
662 File Documentation
Returns
#include "GUIslice_config.h"
Include dependency graph for GUIslice_drv_utft.cpp:
src/GUIslice_drv_utft.cpp
GUIslice_config.h
#include "GUIslice.h"
#include <stdio.h>
Include dependency graph for GUIslice_drv_utft.h:
src/GUIslice_drv_utft.h
GUIslice.h
Data Structures
• struct gslc_tsDriver
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 663
Macros
• #define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
• #define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
• #define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
• #define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
• #define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
• #define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
• #define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
• #define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
• #define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
• #define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
• #define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
• #define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
• #define DRV_OVERRIDE_TXT_ALIGN
Driver provides text alignment.
Functions
Generated by Doxygen
664 File Documentation
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 665
9.57.2.1 DRV_HAS_DRAW_BMP_MEM
#define DRV_HAS_DRAW_BMP_MEM
Support gslc_DrvDrawBmp24FromMem()
9.57.2.2 DRV_HAS_DRAW_CIRCLE_FILL
#define DRV_HAS_DRAW_CIRCLE_FILL
Support gslc_DrvDrawFillCircle()
9.57.2.3 DRV_HAS_DRAW_CIRCLE_FRAME
#define DRV_HAS_DRAW_CIRCLE_FRAME
Support gslc_DrvDrawFrameCircle()
Generated by Doxygen
666 File Documentation
9.57.2.4 DRV_HAS_DRAW_LINE
#define DRV_HAS_DRAW_LINE
Support gslc_DrvDrawLine()
9.57.2.5 DRV_HAS_DRAW_POINT
#define DRV_HAS_DRAW_POINT
Support gslc_DrvDrawPoint()
9.57.2.6 DRV_HAS_DRAW_POINTS
#define DRV_HAS_DRAW_POINTS
Support gslc_DrvDrawPoints()
9.57.2.7 DRV_HAS_DRAW_RECT_FILL
#define DRV_HAS_DRAW_RECT_FILL
Support gslc_DrvDrawFillRect()
9.57.2.8 DRV_HAS_DRAW_RECT_FRAME
#define DRV_HAS_DRAW_RECT_FRAME
Support gslc_DrvDrawFrameRect()
9.57.2.9 DRV_HAS_DRAW_RECT_ROUND_FILL
#define DRV_HAS_DRAW_RECT_ROUND_FILL
Support gslc_DrvDrawFillRoundRect()
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 667
9.57.2.10 DRV_HAS_DRAW_RECT_ROUND_FRAME
#define DRV_HAS_DRAW_RECT_ROUND_FRAME
Support gslc_DrvDrawFrameRoundRect()
9.57.2.11 DRV_HAS_DRAW_TEXT
#define DRV_HAS_DRAW_TEXT
Support gslc_DrvDrawTxt()
9.57.2.12 DRV_HAS_DRAW_TRI_FILL
#define DRV_HAS_DRAW_TRI_FILL
Support gslc_DrvDrawFillTriangle()
9.57.2.13 DRV_HAS_DRAW_TRI_FRAME
#define DRV_HAS_DRAW_TRI_FRAME
Support gslc_DrvDrawFrameTriangle()
9.57.2.14 DRV_OVERRIDE_TXT_ALIGN
#define DRV_OVERRIDE_TXT_ALIGN
9.57.3.1 gslc_DrvAdaptColorToRaw()
uint16_t gslc_DrvAdaptColorToRaw (
gslc_tsColor nCol )
9.57.3.2 gslc_DrvDestruct()
void gslc_DrvDestruct (
gslc_tsGui ∗ pGui )
Generated by Doxygen
668 File Documentation
Parameters
Returns
none
9.57.3.3 gslc_DrvDrawBkgnd()
void gslc_DrvDrawBkgnd (
gslc_tsGui ∗ pGui )
Parameters
Returns
9.57.3.4 gslc_DrvDrawBmp24FromMem()
void gslc_DrvDrawBmp24FromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Note that users must convert images from their native format (eg. BMP, PNG, etc.) into a C array.
Please refer to the following guide for details: https://github.com/ImpulseAdventure/GU←-
Islice/wiki/Display-Images-from-FLASH
• The converted file (c array) can then be included in the sketch.
Parameters
Returns
none
9.57.3.5 gslc_DrvDrawFillCircle()
bool gslc_DrvDrawFillCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.57.3.6 gslc_DrvDrawFillRect()
bool gslc_DrvDrawFillRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
670 File Documentation
9.57.3.7 gslc_DrvDrawFillRoundRect()
bool gslc_DrvDrawFillRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.57.3.8 gslc_DrvDrawFillTriangle()
bool gslc_DrvDrawFillTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 671
9.57.3.9 gslc_DrvDrawFrameCircle()
bool gslc_DrvDrawFrameCircle (
gslc_tsGui ∗ pGui,
int16_t nMidX,
int16_t nMidY,
uint16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.57.3.10 gslc_DrvDrawFrameRect()
bool gslc_DrvDrawFrameRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
672 File Documentation
9.57.3.11 gslc_DrvDrawFrameRoundRect()
bool gslc_DrvDrawFrameRoundRect (
gslc_tsGui ∗ pGui,
gslc_tsRect rRect,
int16_t nRadius,
gslc_tsColor nCol )
Parameters
Returns
9.57.3.12 gslc_DrvDrawFrameTriangle()
bool gslc_DrvDrawFrameTriangle (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
int16_t nX2,
int16_t nY2,
gslc_tsColor nCol )
Parameters
Returns
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 673
9.57.3.13 gslc_DrvDrawImage()
bool gslc_DrvDrawImage (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.57.3.14 gslc_DrvDrawLine()
bool gslc_DrvDrawLine (
gslc_tsGui ∗ pGui,
int16_t nX0,
int16_t nY0,
int16_t nX1,
int16_t nY1,
gslc_tsColor nCol )
Draw a line.
Parameters
Returns
Generated by Doxygen
674 File Documentation
9.57.3.15 gslc_DrvDrawMonoFromMem()
void gslc_DrvDrawMonoFromMem (
gslc_tsGui ∗ pGui,
int16_t nDstX,
int16_t nDstY,
const unsigned char ∗ pBitmap,
bool bProgMem )
• Draw from the bitmap buffer using the foreground color defined in the header (unset bits are transparent)
Parameters
Returns
none
9.57.3.16 gslc_DrvDrawPoint()
bool gslc_DrvDrawPoint (
gslc_tsGui ∗ pGui,
int16_t nX,
int16_t nY,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 675
9.57.3.17 gslc_DrvDrawPoints()
bool gslc_DrvDrawPoints (
gslc_tsGui ∗ pGui,
gslc_tsPt ∗ asPt,
uint16_t nNumPt,
gslc_tsColor nCol )
Draw a point.
Parameters
Returns
9.57.3.18 gslc_DrvDrawTxt()
bool gslc_DrvDrawTxt (
gslc_tsGui ∗ pGui,
int16_t nTxtX,
int16_t nTxtY,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
gslc_tsColor colTxt,
gslc_tsColor colBg )
Parameters
Generated by Doxygen
676 File Documentation
Returns
9.57.3.19 gslc_DrvFontAdd()
Parameters
Returns
9.57.3.20 gslc_DrvFontsDestruct()
void gslc_DrvFontsDestruct (
gslc_tsGui ∗ pGui )
Parameters
Returns
none
9.57.3.21 gslc_DrvGetDriverDisp()
void∗ gslc_DrvGetDriverDisp (
gslc_tsGui ∗ pGui )
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 677
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the display driver instance. This pointer should be typecast to the particular driver being used.
If no driver was created then this function will return NULL.
9.57.3.22 gslc_DrvGetDriverTouch()
void∗ gslc_DrvGetDriverTouch (
gslc_tsGui ∗ pGui )
• This can be useful to access special commands available in the selected driver.
Parameters
Returns
Void pointer to the touch driver instance. This pointer should be typecast to the particular driver being used. If
no driver was created then this function will return NULL.
9.57.3.23 gslc_DrvGetNameDisp()
Parameters
Generated by Doxygen
678 File Documentation
Returns
9.57.3.24 gslc_DrvGetNameTouch()
Parameters
Returns
9.57.3.25 gslc_DrvGetTouch()
bool gslc_DrvGetTouch (
gslc_tsGui ∗ pGui,
int16_t ∗ pnX,
int16_t ∗ pnY,
uint16_t ∗ pnPress,
gslc_teInputRawEvent ∗ peInputEvent,
int16_t ∗ pnInputVal )
Get the last touch event from the internal touch handler.
Parameters
Returns
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 679
9.57.3.26 gslc_DrvGetTxtSize()
bool gslc_DrvGetTxtSize (
gslc_tsGui ∗ pGui,
gslc_tsFont ∗ pFont,
const char ∗ pStr,
gslc_teTxtFlags eTxtFlags,
int16_t ∗ pnTxtX,
int16_t ∗ pnTxtY,
uint16_t ∗ pnTxtSzW,
uint16_t ∗ pnTxtSzH )
Parameters
Returns
9.57.3.27 gslc_DrvImageDestruct()
void gslc_DrvImageDestruct (
void ∗ pvImg )
Parameters
in pvImg Void ptr to image
Returns
none
Generated by Doxygen
680 File Documentation
9.57.3.28 gslc_DrvInit()
bool gslc_DrvInit (
gslc_tsGui ∗ pGui )
PRE:
• The environment variables should be configured before calling gslc_DrvInit(). This can be done with gslc_←-
DrvInitEnv() or manually in user function.
Parameters
Returns
9.57.3.29 gslc_DrvInitTouch()
bool gslc_DrvInitTouch (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 681
9.57.3.30 gslc_DrvInitTs()
bool gslc_DrvInitTs (
gslc_tsGui ∗ pGui,
const char ∗ acDev )
Parameters
Returns
true if successful
9.57.3.31 gslc_DrvLoadImage()
void∗ gslc_DrvLoadImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.57.3.32 gslc_DrvPageFlipNow()
void gslc_DrvPageFlipNow (
gslc_tsGui ∗ pGui )
Generated by Doxygen
682 File Documentation
Parameters
Returns
none
9.57.3.33 gslc_DrvRotate()
bool gslc_DrvRotate (
gslc_tsGui ∗ pGui,
uint8_t nRotation )
Parameters
Returns
true if successful
9.57.3.34 gslc_DrvSetBkgndColor()
bool gslc_DrvSetBkgndColor (
gslc_tsGui ∗ pGui,
gslc_tsColor nCol )
Parameters
Generated by Doxygen
9.57 src/GUIslice_drv_utft.h File Reference 683
Returns
9.57.3.35 gslc_DrvSetBkgndImage()
bool gslc_DrvSetBkgndImage (
gslc_tsGui ∗ pGui,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.57.3.36 gslc_DrvSetClipRect()
bool gslc_DrvSetClipRect (
gslc_tsGui ∗ pGui,
gslc_tsRect ∗ pRect )
Parameters
Returns
Generated by Doxygen
684 File Documentation
9.57.3.37 gslc_DrvSetElemImageGlow()
bool gslc_DrvSetElemImageGlow (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
9.57.3.38 gslc_DrvSetElemImageNorm()
bool gslc_DrvSetElemImageNorm (
gslc_tsGui ∗ pGui,
gslc_tsElem ∗ pElem,
gslc_tsImgRef sImgRef )
Parameters
Returns
#include "GUIslice.h"
#include "elem/XCheckbox.h"
#include "elem/XGauge.h"
#include "elem/XGraph.h"
#include "elem/XSelNum.h"
#include "elem/XSlider.h"
Generated by Doxygen
9.59 src/GUIslice_th.cpp File Reference 685
#include "elem/XTextbox.h"
Include dependency graph for GUIslice_ex.h:
src/GUIslice_ex.h
GUIslice.h
#include "GUIslice_th.h"
Include dependency graph for GUIslice_th.cpp:
src/GUIslice_th.cpp
GUIslice_th.h
Arduino.h
Functions
Variables
• TouchHandler ∗ pTouchHandler
Generated by Doxygen
686 File Documentation
9.59.1.1 gslc_getTouchHandler()
TouchHandler∗ gslc_getTouchHandler (
void )
9.59.1.2 gslc_InitTouchHandler()
void gslc_InitTouchHandler (
TouchHandler ∗ pTH )
9.59.2.1 pTouchHandler
TouchHandler∗ pTouchHandler
#include <Arduino.h>
Include dependency graph for GUIslice_th.h:
src/GUIslice_th.h
Arduino.h
This graph shows which files directly or indirectly include this file:
src/GUIslice_th.h
src/GUIslice_th.cpp src/GUIslice_th_XPT2046.h
Generated by Doxygen
9.61 src/GUIslice_th_XPT2046.h File Reference 687
Data Structures
• class THPoint
• class TouchHandler
Functions
• void gslc_InitTouchHandler (TouchHandler ∗pTHO)
• TouchHandler ∗ gslc_getTouchHandler (void)
9.60.1.1 gslc_getTouchHandler()
TouchHandler∗ gslc_getTouchHandler (
void )
9.60.1.2 gslc_InitTouchHandler()
void gslc_InitTouchHandler (
TouchHandler ∗ pTHO )
#include <Arduino.h>
#include <GUIslice_th.h>
#include <XPT2046_touch.h>
Include dependency graph for GUIslice_th_XPT2046.h:
src/GUIslice_th_XPT2046.h
GUIslice_th.h XPT2046_touch.h
Arduino.h
Generated by Doxygen
688 File Documentation
Data Structures
• class TouchHandler_XPT2046
This graph shows which files directly or indirectly include this file:
src/GUIslice_version.h
src/GUIslice.c
Macros
• #define GUISLICE_VER
9.62.1.1 GUISLICE_VER
#define GUISLICE_VER
Generated by Doxygen