From 0934241eadef639a183cbccbbe555af28ba6b647 Mon Sep 17 00:00:00 2001 From: Tanguy Pruvot Date: Thu, 26 Aug 2021 07:37:40 +0200 Subject: [PATCH] COLOR_UI: Use common touch class --- Marlin/src/lcd/tft/touch.cpp | 9 +++++++++ Marlin/src/lcd/tft/touch.h | 2 ++ Marlin/src/lcd/tft/ui_1024x600.cpp | 2 +- Marlin/src/lcd/tft/ui_320x240.cpp | 2 +- Marlin/src/lcd/tft/ui_480x320.cpp | 2 +- Marlin/src/lcd/tft/ui_common.h | 3 --- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp index 64dfaa5755f28..3d4da02534f2a 100644 --- a/Marlin/src/lcd/tft/touch.cpp +++ b/Marlin/src/lcd/tft/touch.cpp @@ -274,6 +274,15 @@ bool Touch::get_point(int16_t *x, int16_t *y) { return is_touched; } + +bool Touch::isSleeping() { + #if ENABLED(TFT_TOUCH_DEVICE_XPT2046) + return io.isSleeping(); + #else + return false; + #endif +} + Touch touch; bool MarlinUI::touch_pressed() { diff --git a/Marlin/src/lcd/tft/touch.h b/Marlin/src/lcd/tft/touch.h index 54dfb420d8d6b..a1c934aa3c5c2 100644 --- a/Marlin/src/lcd/tft/touch.h +++ b/Marlin/src/lcd/tft/touch.h @@ -122,6 +122,8 @@ class Touch { static void disable() { enabled = false; } static void enable() { enabled = true; } + static bool isSleeping(); + static void add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, intptr_t data = 0); }; diff --git a/Marlin/src/lcd/tft/ui_1024x600.cpp b/Marlin/src/lcd/tft/ui_1024x600.cpp index ce2d884c5a5ac..a911a28fd1091 100644 --- a/Marlin/src/lcd/tft/ui_1024x600.cpp +++ b/Marlin/src/lcd/tft/ui_1024x600.cpp @@ -49,7 +49,7 @@ void MarlinUI::tft_idle() { #if ENABLED(TOUCH_SCREEN) #if HAS_TOUCH_SLEEP static bool sleepCleared; - if (touchIO.isSleeping()) { + if (touch.isSleeping()) { tft.queue.reset(); if (!sleepCleared) { sleepCleared = true; diff --git a/Marlin/src/lcd/tft/ui_320x240.cpp b/Marlin/src/lcd/tft/ui_320x240.cpp index e06a88d5142a2..54176fcc0bc14 100644 --- a/Marlin/src/lcd/tft/ui_320x240.cpp +++ b/Marlin/src/lcd/tft/ui_320x240.cpp @@ -49,7 +49,7 @@ void MarlinUI::tft_idle() { #if ENABLED(TOUCH_SCREEN) #if HAS_TOUCH_SLEEP static bool sleepCleared; - if (touchIO.isSleeping()) { + if (touch.isSleeping()) { tft.queue.reset(); if (!sleepCleared) { sleepCleared = true; diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp index 3e843f625db52..7b996e3ec3a82 100644 --- a/Marlin/src/lcd/tft/ui_480x320.cpp +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -49,7 +49,7 @@ void MarlinUI::tft_idle() { #if ENABLED(TOUCH_SCREEN) #if HAS_TOUCH_SLEEP static bool sleepCleared; - if (touchIO.isSleeping()) { + if (touch.isSleeping()) { tft.queue.reset(); if (!sleepCleared) { sleepCleared = true; diff --git a/Marlin/src/lcd/tft/ui_common.h b/Marlin/src/lcd/tft/ui_common.h index de780f387b511..ced73375d0e2f 100644 --- a/Marlin/src/lcd/tft/ui_common.h +++ b/Marlin/src/lcd/tft/ui_common.h @@ -35,9 +35,6 @@ #if ENABLED(TOUCH_SCREEN) #include "touch.h" extern bool draw_menu_navigation; - #if HAS_TOUCH_SLEEP - extern XPT2046 touchIO; - #endif #endif #if HAS_UI_320x240