|
GUIslice
0.16.0
Embedded GUI in C
|
GUIslice library (driver layer for UTFT) More...

Go to the source code of this file.
Data Structures | |
| struct | gslc_tsDriver |
Functions | |
| bool | gslc_DrvInit (gslc_tsGui *pGui) |
| Initialize the SDL library. More... | |
| bool | gslc_DrvInitTs (gslc_tsGui *pGui, const char *acDev) |
| Perform any touchscreen-specific initialization. More... | |
| void | gslc_DrvDestruct (gslc_tsGui *pGui) |
| Free up any members associated with the driver. More... | |
| const char * | gslc_DrvGetNameDisp (gslc_tsGui *pGui) |
| Get the display driver name. More... | |
| const char * | gslc_DrvGetNameTouch (gslc_tsGui *pGui) |
| Get the touch driver name. More... | |
| void * | gslc_DrvGetDriverDisp (gslc_tsGui *pGui) |
| Get the native display driver instance. More... | |
| void * | gslc_DrvGetDriverTouch (gslc_tsGui *pGui) |
| Get the native touch driver instance. More... | |
| void * | gslc_DrvLoadImage (gslc_tsGui *pGui, gslc_tsImgRef sImgRef) |
| Load a bitmap (*.bmp) and create a new image resource. More... | |
| bool | gslc_DrvSetBkgndImage (gslc_tsGui *pGui, gslc_tsImgRef sImgRef) |
| Configure the background to use a bitmap image. More... | |
| bool | gslc_DrvSetBkgndColor (gslc_tsGui *pGui, gslc_tsColor nCol) |
| Configure the background to use a solid color. More... | |
| bool | gslc_DrvSetElemImageNorm (gslc_tsGui *pGui, gslc_tsElem *pElem, gslc_tsImgRef sImgRef) |
| Set an element's normal-state image. More... | |
| bool | gslc_DrvSetElemImageGlow (gslc_tsGui *pGui, gslc_tsElem *pElem, gslc_tsImgRef sImgRef) |
| Set an element's glow-state image. More... | |
| void | gslc_DrvImageDestruct (void *pvImg) |
| Release an image surface. More... | |
| bool | gslc_DrvSetClipRect (gslc_tsGui *pGui, gslc_tsRect *pRect) |
| Set the clipping rectangle for future drawing updates. More... | |
| const void * | gslc_DrvFontAdd (gslc_teFontRefType eFontRefType, const void *pvFontRef, uint16_t nFontSz) |
| Load a font from a resource and return pointer to it. More... | |
| void | gslc_DrvFontsDestruct (gslc_tsGui *pGui) |
| Release all fonts defined in the GUI. More... | |
| 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) |
| Get the extent (width and height) of a text string. More... | |
| 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) |
| Draw a text string at the given coordinate. More... | |
| void | gslc_DrvPageFlipNow (gslc_tsGui *pGui) |
| Force a page flip to occur. More... | |
| bool | gslc_DrvDrawPoint (gslc_tsGui *pGui, int16_t nX, int16_t nY, gslc_tsColor nCol) |
| Draw a point. More... | |
| bool | gslc_DrvDrawPoints (gslc_tsGui *pGui, gslc_tsPt *asPt, uint16_t nNumPt, gslc_tsColor nCol) |
| Draw a point. More... | |
| bool | gslc_DrvDrawFrameRect (gslc_tsGui *pGui, gslc_tsRect rRect, gslc_tsColor nCol) |
| Draw a framed rectangle. More... | |
| bool | gslc_DrvDrawFillRect (gslc_tsGui *pGui, gslc_tsRect rRect, gslc_tsColor nCol) |
| Draw a filled rectangle. More... | |
| bool | gslc_DrvDrawFrameRoundRect (gslc_tsGui *pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol) |
| Draw a framed rounded rectangle. More... | |
| bool | gslc_DrvDrawFillRoundRect (gslc_tsGui *pGui, gslc_tsRect rRect, int16_t nRadius, gslc_tsColor nCol) |
| Draw a filled rounded rectangle. More... | |
| bool | gslc_DrvDrawLine (gslc_tsGui *pGui, int16_t nX0, int16_t nY0, int16_t nX1, int16_t nY1, gslc_tsColor nCol) |
| Draw a line. More... | |
| bool | gslc_DrvDrawFrameCircle (gslc_tsGui *pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor nCol) |
| Draw a framed circle. More... | |
| bool | gslc_DrvDrawFillCircle (gslc_tsGui *pGui, int16_t nMidX, int16_t nMidY, uint16_t nRadius, gslc_tsColor nCol) |
| Draw a filled circle. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| void | gslc_DrvDrawMonoFromMem (gslc_tsGui *pGui, int16_t nDstX, int16_t nDstY, const unsigned char *pBitmap, bool bProgMem) |
| Draw a monochrome bitmap from a memory array. More... | |
| 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. More... | |
| void | gslc_DrvDrawBkgnd (gslc_tsGui *pGui) |
| Copy the background image to destination screen. More... | |
| bool | gslc_DrvInitTouch (gslc_tsGui *pGui, const char *acDev) |
| Perform any touchscreen-specific initialization. More... | |
| 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. More... | |
| bool | gslc_DrvRotate (gslc_tsGui *pGui, uint8_t nRotation) |
| Change rotation, automatically adapt touchscreen axes swap/flip. More... | |
| uint16_t | gslc_DrvAdaptColorToRaw (gslc_tsColor nCol) |
GUIslice library (driver layer for UTFT)
| #define DRV_HAS_DRAW_BMP_MEM |
Support gslc_DrvDrawBmp24FromMem()
| #define DRV_HAS_DRAW_CIRCLE_FILL |
Support gslc_DrvDrawFillCircle()
| #define DRV_HAS_DRAW_CIRCLE_FRAME |
Support gslc_DrvDrawFrameCircle()
| #define DRV_HAS_DRAW_LINE |
Support gslc_DrvDrawLine()
| #define DRV_HAS_DRAW_POINT |
Support gslc_DrvDrawPoint()
| #define DRV_HAS_DRAW_POINTS |
Support gslc_DrvDrawPoints()
| #define DRV_HAS_DRAW_RECT_FILL |
Support gslc_DrvDrawFillRect()
| #define DRV_HAS_DRAW_RECT_FRAME |
Support gslc_DrvDrawFrameRect()
| #define DRV_HAS_DRAW_RECT_ROUND_FILL |
Support gslc_DrvDrawFillRoundRect()
| #define DRV_HAS_DRAW_RECT_ROUND_FRAME |
Support gslc_DrvDrawFrameRoundRect()
| #define DRV_HAS_DRAW_TEXT |
Support gslc_DrvDrawTxt()
| #define DRV_HAS_DRAW_TRI_FILL |
Support gslc_DrvDrawFillTriangle()
| #define DRV_HAS_DRAW_TRI_FRAME |
Support gslc_DrvDrawFrameTriangle()
| #define DRV_OVERRIDE_TXT_ALIGN |
Driver provides text alignment.
| uint16_t gslc_DrvAdaptColorToRaw | ( | gslc_tsColor | nCol | ) |
| void gslc_DrvDestruct | ( | gslc_tsGui * | pGui | ) |
Free up any members associated with the driver.
| [in] | pGui | Pointer to GUI |
| void gslc_DrvDrawBkgnd | ( | gslc_tsGui * | pGui | ) |
Copy the background image to destination screen.
| [in] | pGui | Pointer to GUI |
| 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.
| [in] | pGui | Pointer to GUI |
| [in] | nDstX | X coord for copy |
| [in] | nDstY | Y coord for copy |
| [in] | pBitmap | Pointer to bitmap buffer |
| [in] | bProgMem | Bitmap is stored in Flash if true, RAM otherwise |
| bool gslc_DrvDrawFillCircle | ( | gslc_tsGui * | pGui, |
| int16_t | nMidX, | ||
| int16_t | nMidY, | ||
| uint16_t | nRadius, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a filled circle.
| [in] | pGui | Pointer to GUI |
| [in] | nMidX | Center of circle (X coordinate) |
| [in] | nMidY | Center of circle (Y coordinate) |
| [in] | nRadius | Radius of circle |
| [in] | nCol | Color RGB value to fill |
| bool gslc_DrvDrawFillRect | ( | gslc_tsGui * | pGui, |
| gslc_tsRect | rRect, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a filled rectangle.
| [in] | pGui | Pointer to GUI |
| [in] | rRect | Rectangular region to fill |
| [in] | nCol | Color RGB value to fill |
| bool gslc_DrvDrawFillRoundRect | ( | gslc_tsGui * | pGui, |
| gslc_tsRect | rRect, | ||
| int16_t | nRadius, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a filled rounded rectangle.
| [in] | pGui | Pointer to GUI |
| [in] | rRect | Rectangular region to fill |
| [in] | nRadius | Radius for rounded corners |
| [in] | nCol | Color RGB value to fill |
| 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.
| [in] | pGui | Pointer to GUI |
| [in] | nX0 | X Coordinate #1 |
| [in] | nY0 | Y Coordinate #1 |
| [in] | nX1 | X Coordinate #2 |
| [in] | nY1 | Y Coordinate #2 |
| [in] | nX2 | X Coordinate #3 |
| [in] | nY2 | Y Coordinate #3 |
| [in] | nCol | Color RGB value to fill |
| bool gslc_DrvDrawFrameCircle | ( | gslc_tsGui * | pGui, |
| int16_t | nMidX, | ||
| int16_t | nMidY, | ||
| uint16_t | nRadius, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a framed circle.
| [in] | pGui | Pointer to GUI |
| [in] | nMidX | Center of circle (X coordinate) |
| [in] | nMidY | Center of circle (Y coordinate) |
| [in] | nRadius | Radius of circle |
| [in] | nCol | Color RGB value to frame |
| bool gslc_DrvDrawFrameRect | ( | gslc_tsGui * | pGui, |
| gslc_tsRect | rRect, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a framed rectangle.
| [in] | pGui | Pointer to GUI |
| [in] | rRect | Rectangular region to frame |
| [in] | nCol | Color RGB value to frame |
| bool gslc_DrvDrawFrameRoundRect | ( | gslc_tsGui * | pGui, |
| gslc_tsRect | rRect, | ||
| int16_t | nRadius, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a framed rounded rectangle.
| [in] | pGui | Pointer to GUI |
| [in] | rRect | Rectangular region to frame |
| [in] | nRadius | Radius for rounded corners |
| [in] | nCol | Color RGB value to frame |
| 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.
| [in] | pGui | Pointer to GUI |
| [in] | nX0 | X Coordinate #1 |
| [in] | nY0 | Y Coordinate #1 |
| [in] | nX1 | X Coordinate #2 |
| [in] | nY1 | Y Coordinate #2 |
| [in] | nX2 | X Coordinate #3 |
| [in] | nY2 | Y Coordinate #3 |
| [in] | nCol | Color RGB value to frame |
| 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.
| [in] | pGui | Pointer to GUI |
| [in] | nDstX | Destination X coord for copy |
| [in] | nDstY | Destination Y coord for copy |
| [in] | sImgRef | Image reference |
| bool gslc_DrvDrawLine | ( | gslc_tsGui * | pGui, |
| int16_t | nX0, | ||
| int16_t | nY0, | ||
| int16_t | nX1, | ||
| int16_t | nY1, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a line.
| [in] | pGui | Pointer to GUI |
| [in] | nX0 | Line start (X coordinate) |
| [in] | nY0 | Line start (Y coordinate) |
| [in] | nX1 | Line finish (X coordinate) |
| [in] | nY1 | Line finish (Y coordinate) |
| [in] | nCol | Color RGB value to draw |
| void gslc_DrvDrawMonoFromMem | ( | gslc_tsGui * | pGui, |
| int16_t | nDstX, | ||
| int16_t | nDstY, | ||
| const unsigned char * | pBitmap, | ||
| bool | bProgMem | ||
| ) |
Draw a monochrome bitmap from a memory array.
| [in] | pGui | Pointer to GUI |
| [in] | nDstX | Destination X coord for copy |
| [in] | nDstY | Destination Y coord for copy |
| [in] | pBitmap | Pointer to bitmap buffer |
| [in] | bProgMem | Bitmap is stored in Flash if true, RAM otherwise |
| bool gslc_DrvDrawPoint | ( | gslc_tsGui * | pGui, |
| int16_t | nX, | ||
| int16_t | nY, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a point.
| [in] | pGui | Pointer to GUI |
| [in] | nX | X coordinate of point |
| [in] | nY | Y coordinate of point |
| [in] | nCol | Color RGB value to draw |
| bool gslc_DrvDrawPoints | ( | gslc_tsGui * | pGui, |
| gslc_tsPt * | asPt, | ||
| uint16_t | nNumPt, | ||
| gslc_tsColor | nCol | ||
| ) |
Draw a point.
| [in] | pGui | Pointer to GUI |
| [in] | asPt | Array of points to draw |
| [in] | nNumPt | Number of points in array |
| [in] | nCol | Color RGB value to draw |
| 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 | ||
| ) |
Draw a text string at the given coordinate.
| [in] | pGui | Pointer to GUI |
| [in] | nTxtX | X coordinate of top-left text string |
| [in] | nTxtY | Y coordinate of top-left text string |
| [in] | pFont | Ptr to Font |
| [in] | pStr | String to display |
| [in] | eTxtFlags | Flags associated with text string |
| [in] | colTxt | Color to draw text |
| [in] | colBg | unused in ADAGFX, defaults to black |
| const void* gslc_DrvFontAdd | ( | gslc_teFontRefType | eFontRefType, |
| const void * | pvFontRef, | ||
| uint16_t | nFontSz | ||
| ) |
Load a font from a resource and return pointer to it.
| [in] | eFontRefType | Font reference type (GSLC_FONTREF_PTR for Arduino) |
| [in] | pvFontRef | Font reference pointer (Pointer to the GFXFont array) |
| [in] | nFontSz | Typeface size to use |
| void gslc_DrvFontsDestruct | ( | gslc_tsGui * | pGui | ) |
Release all fonts defined in the GUI.
| [in] | pGui | Pointer to GUI |
| void* gslc_DrvGetDriverDisp | ( | gslc_tsGui * | pGui | ) |
Get the native display driver instance.
| [in] | pGui | Pointer to GUI |
| void* gslc_DrvGetDriverTouch | ( | gslc_tsGui * | pGui | ) |
Get the native touch driver instance.
| [in] | pGui | Pointer to GUI |
| const char* gslc_DrvGetNameDisp | ( | gslc_tsGui * | pGui | ) |
Get the display driver name.
| [in] | pGui | Pointer to GUI |
| const char* gslc_DrvGetNameTouch | ( | gslc_tsGui * | pGui | ) |
Get the touch driver name.
| [in] | pGui | Pointer to GUI |
| 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.
| [in] | pGui | Pointer to GUI |
| [out] | pnX | Ptr to X coordinate of last touch event |
| [out] | pnY | Ptr to Y coordinate of last touch event |
| [out] | pnPress | Ptr to Pressure level of last touch event (0 for none, 1 for touch) |
| [out] | peInputEvent | Indication of event type |
| [out] | pnInputVal | Additional data for event type |
Get the last touch event from the SDL_Event handler.
| [in] | pGui | Pointer to GUI |
| [out] | pnX | Ptr to X coordinate of last touch event |
| [out] | pnY | Ptr to Y coordinate of last touch event |
| [out] | pnPress | Ptr to Pressure level of last touch event (0 for none, 1 for touch) |
| [out] | peInputEvent | Indication of event type |
| [out] | pnInputVal | Additional data for event type |
| 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 | ||
| ) |
Get the extent (width and height) of a text string.
| [in] | pGui | Pointer to GUI |
| [in] | pFont | Ptr to Font structure |
| [in] | pStr | String to display |
| [in] | eTxtFlags | Flags associated with text string |
| [out] | pnTxtX | Ptr to offset X of text |
| [out] | pnTxtY | Ptr to offset Y of text |
| [out] | pnTxtSzW | Ptr to width of text |
| [out] | pnTxtSzH | Ptr to height of text |
| void gslc_DrvImageDestruct | ( | void * | pvImg | ) |
Release an image surface.
| [in] | pvImg | Void ptr to image |
| bool gslc_DrvInit | ( | gslc_tsGui * | pGui | ) |
Initialize the SDL library.
PRE:
| [in] | pGui | Pointer to GUI |
| bool gslc_DrvInitTouch | ( | gslc_tsGui * | pGui, |
| const char * | acDev | ||
| ) |
Perform any touchscreen-specific initialization.
| [in] | pGui | Pointer to GUI |
| [in] | acDev | Device path to touchscreen eg. "/dev/input/touchscreen" |
| bool gslc_DrvInitTs | ( | gslc_tsGui * | pGui, |
| const char * | acDev | ||
| ) |
Perform any touchscreen-specific initialization.
| [in] | pGui | Pointer to GUI |
| [in] | acDev | Device path to touchscreen eg. "/dev/input/touchscreen" |
| void* gslc_DrvLoadImage | ( | gslc_tsGui * | pGui, |
| gslc_tsImgRef | sImgRef | ||
| ) |
Load a bitmap (*.bmp) and create a new image resource.
Transparency is enabled by GSLC_BMP_TRANS_EN through use of color (GSLC_BMP_TRANS_RGB).
| [in] | pGui | Pointer to GUI |
| [in] | sImgRef | Image reference |
| void gslc_DrvPageFlipNow | ( | gslc_tsGui * | pGui | ) |
Force a page flip to occur.
This generally copies active screen surface to the display.
| [in] | pGui | Pointer to GUI |
| bool gslc_DrvRotate | ( | gslc_tsGui * | pGui, |
| uint8_t | nRotation | ||
| ) |
Change rotation, automatically adapt touchscreen axes swap/flip.
| [in] | pGui | Pointer to GUI |
| [in] | nRotation | Screen Rotation value (0, 1, 2 or 3) |
Change rotation, automatically adapt touchscreen axes swap/flip.
| bool gslc_DrvSetBkgndColor | ( | gslc_tsGui * | pGui, |
| gslc_tsColor | nCol | ||
| ) |
Configure the background to use a solid color.
| [in] | pGui | Pointer to GUI |
| [in] | nCol | RGB Color to use |
| bool gslc_DrvSetBkgndImage | ( | gslc_tsGui * | pGui, |
| gslc_tsImgRef | sImgRef | ||
| ) |
Configure the background to use a bitmap image.
| [in] | pGui | Pointer to GUI |
| [in] | sImgRef | Image reference |
| bool gslc_DrvSetClipRect | ( | gslc_tsGui * | pGui, |
| gslc_tsRect * | pRect | ||
| ) |
Set the clipping rectangle for future drawing updates.
| [in] | pGui | Pointer to GUI |
| [in] | pRect | Rectangular region to constrain edits |
| bool gslc_DrvSetElemImageGlow | ( | gslc_tsGui * | pGui, |
| gslc_tsElem * | pElem, | ||
| gslc_tsImgRef | sImgRef | ||
| ) |
Set an element's glow-state image.
| [in] | pGui | Pointer to GUI |
| [in] | pElem | Pointer to Element to update |
| [in] | sImgRef | Image reference |
| bool gslc_DrvSetElemImageNorm | ( | gslc_tsGui * | pGui, |
| gslc_tsElem * | pElem, | ||
| gslc_tsImgRef | sImgRef | ||
| ) |
Set an element's normal-state image.
| [in] | pGui | Pointer to GUI |
| [in] | pElem | Pointer to Element to update |
| [in] | sImgRef | Image reference |