diff options
Diffstat (limited to 'gui.c')
-rw-r--r-- | gui.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -135,8 +135,9 @@ uint8_t guiDeleteElement(char *label) { return deleteElement(label); } -uint8_t guiDrawButton(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, char *str, uint16_t fontColor, uint16_t buttonColor, char *label, uint8_t *active, uint8_t *state) { +uint8_t guiDrawButton(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, char *str, uint16_t fontColor, uint16_t buttonColor, uint16_t shadow, char *label, uint8_t *active, uint8_t *state) { struct guiNode_t *newNode; + uint16_t i; newNode = chHeapAlloc(NULL, sizeof(struct guiNode_t)); if(newNode == NULL) @@ -157,6 +158,13 @@ uint8_t guiDrawButton(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, char * lcdDrawRectString(x0, y0, x1, y1, str, fontColor, buttonColor); + if(shadow != 0) { + for(i = 0; i < shadow; i++) { + lcdDrawLine(x1+i, y0-i, x1+i, y1-i-1, Black); + lcdDrawLine(x0+i, y0-i, x1+i, y0-i, Black); + } + } + chHeapFree(newNode); return 1; |