From 7abc67242b2245bf968cbf4cdaf71bb19e0b6910 Mon Sep 17 00:00:00 2001 From: Just Call Me Koko <25190487+justcallmekoko@users.noreply.github.com> Date: Sun, 8 Mar 2020 03:07:34 -0400 Subject: [PATCH] Add finger drag on buttons --- esp32_marauder/MenuFunctions.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/esp32_marauder/MenuFunctions.cpp b/esp32_marauder/MenuFunctions.cpp index d198c62..40dbd86 100644 --- a/esp32_marauder/MenuFunctions.cpp +++ b/esp32_marauder/MenuFunctions.cpp @@ -104,17 +104,39 @@ void MenuFunctions::main() //display_obj.key[b].drawButton2(current_menu->list->get(b).name, true); // draw invert //display_obj.key[b].drawButton(ML_DATUM, BUTTON_PADDING, current_menu->list->get(b).name, true); display_obj.key[b].drawButton(true, current_menu->list->get(b).name); - + if (current_menu->list->get(b).name != "Back") + display_obj.tft.drawXBitmap(0, + KEY_Y + b * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), + menu_icons[current_menu->list->get(b).icon], + ICON_W, + ICON_H, + current_menu->list->get(b).color, + TFT_BLACK); } + //else if (pressed) + // display_obj.key[b].drawButton(false, current_menu->list->get(b).name); // If button was just release, execute the button's function - if (display_obj.key[b].justReleased()) + if ((display_obj.key[b].justReleased()) && (!pressed)) { //display_obj.key[b].drawButton2(current_menu->list->get(b).name); // draw normal //display_obj.key[b].drawButton(ML_DATUM, BUTTON_PADDING, current_menu->list->get(b).name); display_obj.key[b].drawButton(false, current_menu->list->get(b).name); current_menu->list->get(b).callable(); } + // This + else if ((display_obj.key[b].justReleased()) && (pressed)) { + display_obj.key[b].drawButton(false, current_menu->list->get(b).name); + if (current_menu->list->get(b).name != "Back") + display_obj.tft.drawXBitmap(0, + KEY_Y + b * (KEY_H + KEY_SPACING_Y) - (ICON_H / 2), + menu_icons[current_menu->list->get(b).icon], + ICON_W, + ICON_H, + TFT_BLACK, + current_menu->list->get(b).color); + } + display_obj.tft.setFreeFont(NULL); } }