GUIslice
0.16.0
Embedded GUI in C
|
Functions | |
bool | gslc_PageEvent (void *pvGui, gslc_tsEvent sEvent) |
Common event handler function for a page. More... | |
void | gslc_PageRedrawGo (gslc_tsGui *pGui) |
Redraw all elements on the active page. More... | |
void | gslc_PageFlipSet (gslc_tsGui *pGui, bool bNeeded) |
Indicate whether the screen requires page flip. More... | |
bool | gslc_PageFlipGet (gslc_tsGui *pGui) |
Get state of pending page flip state. More... | |
void | gslc_PageFlipGo (gslc_tsGui *pGui) |
Update the visible screen if page has been marked for flipping. More... | |
gslc_tsPage * | gslc_PageFindById (gslc_tsGui *pGui, int16_t nPageId) |
Find a page in the GUI by its ID. More... | |
void | gslc_PageRedrawCalc (gslc_tsGui *pGui) |
Perform a redraw calculation on the page to determine if additional elements should also be redrawn. More... | |
int16_t | gslc_PageFocusStep (gslc_tsGui *pGui, gslc_tsPage *pPage, bool bNext) |
gslc_tsEvent | gslc_EventCreate (gslc_tsGui *pGui, gslc_teEventType eType, uint8_t nSubType, void *pvScope, void *pvData) |
Create an event structure. More... | |
bool | gslc_ElemEvent (void *pvGui, gslc_tsEvent sEvent) |
Common event handler function for an element. More... | |
bool | gslc_ElemSendEventTouch (gslc_tsGui *pGui, gslc_tsElemRef *pElemRefTracked, gslc_teTouch eTouch, int16_t nX, int16_t nY) |
Trigger an element's touch event. More... | |
bool gslc_ElemEvent | ( | void * | pvGui, |
gslc_tsEvent | sEvent | ||
) |
Common event handler function for an element.
[in] | pvGui | Void pointer to GUI |
[in] | sEvent | Event data structure |
bool gslc_ElemSendEventTouch | ( | gslc_tsGui * | pGui, |
gslc_tsElemRef * | pElemRefTracked, | ||
gslc_teTouch | eTouch, | ||
int16_t | nX, | ||
int16_t | nY | ||
) |
Trigger an element's touch event.
This is an optional behavior useful in some extended element types.
[in] | pGui | Pointer to GUI |
[in] | pElemRefTracked | Pointer to tracked Element reference (or NULL for none)) |
[in] | eTouch | Touch event type |
[in] | nX | X coordinate of event (absolute coordinate) |
[in] | nY | Y coordinate of event (absolute coordinate) |
gslc_tsEvent gslc_EventCreate | ( | gslc_tsGui * | pGui, |
gslc_teEventType | eType, | ||
uint8_t | nSubType, | ||
void * | pvScope, | ||
void * | pvData | ||
) |
Create an event structure.
[in] | pGui | Pointer to GUI |
[in] | eType | Event type (draw, touch, tick, etc.) |
[in] | nSubType | Refinement of event type (or 0 if unused) |
[in] | pvScope | Void ptr to object receiving event so that the event handler will have the context |
[in] | pvData | Void ptr to additional data associated with the event (eg. coordinates for touch events) |
bool gslc_PageEvent | ( | void * | pvGui, |
gslc_tsEvent | sEvent | ||
) |
Common event handler function for a page.
[in] | pvGui | Void pointer to GUI |
[in] | sEvent | Event data structure |
gslc_tsPage* gslc_PageFindById | ( | gslc_tsGui * | pGui, |
int16_t | nPageId | ||
) |
Find a page in the GUI by its ID.
[in] | pGui | Pointer to GUI |
[in] | nPageId | Page ID to search |
bool gslc_PageFlipGet | ( | gslc_tsGui * | pGui | ) |
Get state of pending page flip state.
[in] | pGui | Pointer to GUI |
void gslc_PageFlipGo | ( | gslc_tsGui * | pGui | ) |
Update the visible screen if page has been marked for flipping.
[in] | pGui | Pointer to GUI |
void gslc_PageFlipSet | ( | gslc_tsGui * | pGui, |
bool | bNeeded | ||
) |
Indicate whether the screen requires page flip.
[in] | pGui | Pointer to GUI |
[in] | bNeeded | True if screen requires page flip |
int16_t gslc_PageFocusStep | ( | gslc_tsGui * | pGui, |
gslc_tsPage * | pPage, | ||
bool | bNext | ||
) |
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).
[in] | pGui | Pointer to GUI |
void gslc_PageRedrawGo | ( | gslc_tsGui * | pGui | ) |
Redraw all elements on the active page.
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)
[in] | pGui | Pointer to GUI |