Modification of footer layout and new swipe icon
This commit is contained in:
parent
f690cf3a34
commit
e917a7fc76
|
@ -328,16 +328,11 @@ void displayHeader(CommonData &commonData, GwApi::BoatValue *date, GwApi::BoatVa
|
|||
|
||||
// Display key lock status
|
||||
if (commonData.keylock) {
|
||||
getdisplay().drawXBitmap(150, 1, lock_bits, icon_width, icon_height, commonData.fgcolor);
|
||||
getdisplay().drawXBitmap(170, 1, lock_bits, icon_width, icon_height, commonData.fgcolor);
|
||||
} else {
|
||||
getdisplay().drawXBitmap(150, 1, swipe_bits, icon_width, icon_height, commonData.fgcolor);
|
||||
getdisplay().drawXBitmap(166, 1, swipe_bits, swipe_width, swipe_height, commonData.fgcolor);
|
||||
}
|
||||
|
||||
// Current page number in a small box
|
||||
getdisplay().setFont(&Ubuntu_Bold8pt7b);
|
||||
getdisplay().drawRect(170, 2, 20, 15, commonData.fgcolor);
|
||||
drawTextCenter(179, 9, String(commonData.data.actpage));
|
||||
|
||||
// Heartbeat as dot
|
||||
getdisplay().setTextColor(commonData.fgcolor);
|
||||
getdisplay().setFont(&Ubuntu_Bold32pt7b);
|
||||
|
@ -382,13 +377,21 @@ void displayFooter(CommonData &commonData) {
|
|||
getdisplay().setTextColor(commonData.fgcolor);
|
||||
|
||||
// Frame around key icon area
|
||||
getdisplay().drawLine(0, 280, 399, 280, commonData.fgcolor);
|
||||
if (! commonData.keylock) {
|
||||
getdisplay().drawLine(68, 280, 68, 299, commonData.fgcolor);
|
||||
getdisplay().drawLine(134, 280, 134, 299, commonData.fgcolor);
|
||||
getdisplay().drawLine(200, 280, 200, 299, commonData.fgcolor);
|
||||
getdisplay().drawLine(266, 280, 266, 299, commonData.fgcolor);
|
||||
getdisplay().drawLine(332, 280, 332, 299, commonData.fgcolor);
|
||||
// horizontal elements
|
||||
const uint16_t top = 280;
|
||||
const uint16_t bottom = 299;
|
||||
getdisplay().drawLine(commonData.keydata[0].x, top, commonData.keydata[0].x+10, top, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[1].x-10, top, commonData.keydata[1].x+10, top, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[2].x-10, top, commonData.keydata[2].x+10, top, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[4].x-10, top, commonData.keydata[4].x+10, top, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[5].x-10, top, commonData.keydata[5].x+10, top, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[5].x + commonData.keydata[5].w - 10, top, commonData.keydata[5].x + commonData.keydata[5].w + 1, top, commonData.fgcolor);
|
||||
// vertical key separators
|
||||
getdisplay().drawLine(commonData.keydata[0].x + commonData.keydata[0].w, top, commonData.keydata[0].x + commonData.keydata[0].w, bottom, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[1].x + commonData.keydata[1].w, top, commonData.keydata[1].x + commonData.keydata[1].w, bottom, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[3].x + commonData.keydata[3].w, top, commonData.keydata[3].x + commonData.keydata[3].w, bottom, commonData.fgcolor);
|
||||
getdisplay().drawLine(commonData.keydata[4].x + commonData.keydata[4].w, top, commonData.keydata[4].x + commonData.keydata[4].w, bottom, commonData.fgcolor);
|
||||
for (int i = 0; i < 6; i++) {
|
||||
uint16_t x, y;
|
||||
if (commonData.keydata[i].label.length() > 0) {
|
||||
|
@ -412,6 +415,9 @@ void displayFooter(CommonData &commonData) {
|
|||
}
|
||||
}
|
||||
}
|
||||
// Current page number in a small box
|
||||
getdisplay().drawRect(190, 280, 23, 19, commonData.fgcolor);
|
||||
drawTextCenter(200, 289, String(commonData.data.actpage));
|
||||
} else {
|
||||
getdisplay().setCursor(65, 295);
|
||||
getdisplay().print("Press 1 and 6 fast to unlock keys");
|
||||
|
|
|
@ -114,11 +114,6 @@ static unsigned char right_bits[] PROGMEM = {
|
|||
0xfe, 0x7f, 0xfe, 0xff, 0xfe, 0xff, 0xfe, 0x7f, 0xfe, 0x3f, 0x80, 0x1f,
|
||||
0x80, 0x0f, 0x80, 0x07, 0x80, 0x03, 0x00, 0x00 };
|
||||
|
||||
static unsigned char swipe_bits[] = {
|
||||
0x30, 0x00, 0x48, 0x00, 0x48, 0x00, 0x48, 0x00, 0xc8, 0x05, 0x48, 0x0e,
|
||||
0x4a, 0x12, 0x4d, 0x32, 0x09, 0x50, 0x41, 0x44, 0x62, 0x4c, 0xf2, 0x5f,
|
||||
0x64, 0x2c, 0x48, 0x24, 0x10, 0x10, 0xe0, 0x0f };
|
||||
|
||||
static unsigned char lock_bits[] PROGMEM = {
|
||||
0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x10, 0x08, 0x10, 0x08, 0x10, 0x08,
|
||||
0xfc, 0x3f, 0x04, 0x20, 0x04, 0x20, 0x84, 0x21, 0x84, 0x21, 0x84, 0x21,
|
||||
|
@ -139,19 +134,38 @@ static unsigned char fram_bits[] PROGMEM = {
|
|||
0xff, 0xff, 0xf8, 0x1f, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f,
|
||||
0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f };
|
||||
|
||||
static unsigned char ap_bits[] = {
|
||||
0xe0, 0x03, 0x18, 0x0c, 0x04, 0x10, 0xc2, 0x21, 0x30, 0x06, 0x08, 0x08,
|
||||
0xc0, 0x01, 0x20, 0x02, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xc0, 0x01,
|
||||
0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00 };
|
||||
|
||||
static unsigned char dish_bits[] PROGMEM= {
|
||||
0x3c, 0x00, 0x42, 0x18, 0xfa, 0x1b, 0x02, 0x04, 0x02, 0x0a, 0x02, 0x09,
|
||||
0x82, 0x08, 0x06, 0x0a, 0x0e, 0x1b, 0x9c, 0x2b, 0x38, 0x2b, 0x74, 0x20,
|
||||
0xec, 0x1f, 0x1c, 0x00, 0xf4, 0x00, 0xfe, 0x03 };
|
||||
|
||||
static std::map<String, unsigned char *> iconmap = {
|
||||
{"LEFT", left_bits},
|
||||
{"RIGHT", right_bits},
|
||||
{"SWIPE", swipe_bits},
|
||||
{"LOCK", lock_bits},
|
||||
{"PLUS", plus_bits},
|
||||
{"MINUS", minus_bits}
|
||||
{"MINUS", minus_bits},
|
||||
{"DISH", dish_bits},
|
||||
{"AP", ap_bits}
|
||||
};
|
||||
|
||||
// Other symbols
|
||||
#define swipe_width 24
|
||||
#define swipe_height 16
|
||||
static unsigned char swipe_bits[] PROGMEM = {
|
||||
0x00, 0x06, 0x00, 0x24, 0x09, 0x24, 0x12, 0x09, 0x48, 0x7f, 0x09, 0xfe,
|
||||
0x12, 0xb9, 0x48, 0x24, 0xc9, 0x25, 0x40, 0x49, 0x02, 0xa0, 0x49, 0x06,
|
||||
0x20, 0x01, 0x0a, 0x20, 0x00, 0x08, 0x40, 0x00, 0x08, 0x40, 0x00, 0x08,
|
||||
0x80, 0x00, 0x04, 0x00, 0x01, 0x04, 0x00, 0x02, 0x02, 0x00, 0xfc, 0x01 };
|
||||
|
||||
#define exclamation_width 32
|
||||
#define exclamation_height 32
|
||||
static unsigned char exclamation_bits[] = {
|
||||
static unsigned char exclamation_bits[] PROGMEM = {
|
||||
0x00, 0xc0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0xb0, 0x0d, 0x00,
|
||||
0x00, 0xd8, 0x1b, 0x00, 0x00, 0xec, 0x37, 0x00, 0x00, 0xf6, 0x6f, 0x00,
|
||||
0x00, 0x3b, 0xdc, 0x00, 0x80, 0x3d, 0xbc, 0x01, 0xc0, 0x3e, 0x7c, 0x03,
|
||||
|
|
|
@ -22,35 +22,40 @@ long starttime = 0; // Start time point for pressed key
|
|||
|
||||
void initKeys(CommonData &commonData) {
|
||||
// coordinates for virtual keyboard keys
|
||||
commonData.keydata[0].x = 1;
|
||||
commonData.keydata[0].y = 281;
|
||||
commonData.keydata[0].w = 67;
|
||||
commonData.keydata[0].h = 18;
|
||||
|
||||
commonData.keydata[1].x = 69;
|
||||
commonData.keydata[1].y = 281;
|
||||
commonData.keydata[1].w = 66;
|
||||
commonData.keydata[1].h = 18;
|
||||
static uint16_t top = 281;
|
||||
static uint16_t width = 65;
|
||||
static uint16_t height = 18;
|
||||
|
||||
commonData.keydata[2].x = 135;
|
||||
commonData.keydata[2].y = 281;
|
||||
commonData.keydata[2].w = 66;
|
||||
commonData.keydata[2].h = 18;
|
||||
commonData.keydata[0].x = 0;
|
||||
commonData.keydata[0].y = top;
|
||||
commonData.keydata[0].w = width + 1;
|
||||
commonData.keydata[0].h = height;
|
||||
|
||||
commonData.keydata[3].x = 201;
|
||||
commonData.keydata[3].y = 281;
|
||||
commonData.keydata[3].w = 66;
|
||||
commonData.keydata[3].h = 18;
|
||||
commonData.keydata[1].x = commonData.keydata[0].x + commonData.keydata[0].w + 1;
|
||||
commonData.keydata[1].y = top;
|
||||
commonData.keydata[1].w = width;
|
||||
commonData.keydata[1].h = height;
|
||||
|
||||
commonData.keydata[4].x = 267;
|
||||
commonData.keydata[4].y = 281;
|
||||
commonData.keydata[4].w = 66;
|
||||
commonData.keydata[4].h = 18;
|
||||
commonData.keydata[2].x = commonData.keydata[1].x + commonData.keydata[1].w + 1;
|
||||
commonData.keydata[2].y = top;
|
||||
commonData.keydata[2].w = width;
|
||||
commonData.keydata[2].h = height;
|
||||
|
||||
commonData.keydata[5].x = 333;
|
||||
commonData.keydata[5].y = 281;
|
||||
commonData.keydata[5].w = 66;
|
||||
commonData.keydata[5].h = 18;
|
||||
commonData.keydata[3].x = commonData.keydata[2].x + commonData.keydata[2].w + 1;
|
||||
commonData.keydata[3].y = top;
|
||||
commonData.keydata[3].w = width;
|
||||
commonData.keydata[3].h = height;
|
||||
|
||||
commonData.keydata[4].x = commonData.keydata[3].x + commonData.keydata[3].w + 1;
|
||||
commonData.keydata[4].y = top;
|
||||
commonData.keydata[4].w = width;
|
||||
commonData.keydata[4].h = height;
|
||||
|
||||
commonData.keydata[5].x = commonData.keydata[4].x + commonData.keydata[4].w + 1;
|
||||
commonData.keydata[5].y = top;
|
||||
commonData.keydata[5].w = width;
|
||||
commonData.keydata[5].h = height;
|
||||
}
|
||||
|
||||
#ifdef HARDWARE_V21
|
||||
|
|
Loading…
Reference in New Issue