aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gui.c14
-rw-r--r--gui.h2
2 files changed, 10 insertions, 6 deletions
diff --git a/gui.c b/gui.c
index f7da8f8c..598433ba 100644
--- a/gui.c
+++ b/gui.c
@@ -86,13 +86,14 @@ static void guiThread(const uint16_t interval) {
if(*(node->active) == active) {
x = tpReadX();
y = tpReadY();
-
- if(x >= node->x0 && x <= node->x1 && y >= node->y0 && y <= node->y1)
- *(node->state) = 1;
- else
+ if(node->type == button) {
+ if(x >= node->x0 && x <= node->x1 && y >= node->y0 && y <= node->y1)
+ *(node->state) = 1;
+ else
+ *(node->state) = 0;
+ } else {
*(node->state) = 0;
- } else {
- *(node->state) = 0;
+ }
}
}
@@ -119,6 +120,7 @@ uint8_t guiDrawButton(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, char *
newNode->y0 = y0;
newNode->x1 = x1;
newNode->y1 = y1;
+ newNode->type = button;
newNode->name = str;
newNode->active = active;
newNode->state = state;
diff --git a/gui.h b/gui.h
index 54031295..a95e9d36 100644
--- a/gui.h
+++ b/gui.h
@@ -7,6 +7,7 @@
#include "touchpad.h"
static struct guiNode_t {
+ uint8_t type;
uint16_t x0;
uint16_t y0;
uint16_t x1;
@@ -21,6 +22,7 @@ static struct guiNode_t {
extern "C" {
#endif
+enum {button};
enum {horizontal, vertical};
enum {inactive, active};