diff options
Diffstat (limited to 'src/DisplayApp/Screens/ScreenList.h')
-rw-r--r-- | src/DisplayApp/Screens/ScreenList.h | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/DisplayApp/Screens/ScreenList.h b/src/DisplayApp/Screens/ScreenList.h deleted file mode 100644 index d873336d..00000000 --- a/src/DisplayApp/Screens/ScreenList.h +++ /dev/null @@ -1,66 +0,0 @@ -#pragma once - -#include <vector> -#include <Components/Ble/NimbleController.h> -#include <functional> -#include "Screen.h" -#include "Label.h" - -namespace Pinetime { - namespace Applications { - namespace Screens { - template <size_t N> - class ScreenList : public Screen { - public: - ScreenList(DisplayApp* app, std::array<std::function<std::unique_ptr<Screen>()>, N>&& screens) - : Screen(app), screens{std::move(screens)}, current{this->screens[0]()} { - - } - - ~ScreenList() override { - - } - - bool Refresh() override { - running = current->Refresh(); - return running; - } - - bool OnButtonPushed() override { - running = false; - return true; - } - - bool OnTouchEvent(TouchEvents event) override { - switch (event) { - case TouchEvents::SwipeDown: - if (screenIndex > 0) { - current.reset(nullptr); - app->SetFullRefresh(DisplayApp::FullRefreshDirections::Down); - screenIndex--; - current = screens[screenIndex](); - } - return true; - case TouchEvents::SwipeUp: - if (screenIndex < screens.size() - 1) { - current.reset(nullptr); - app->SetFullRefresh(DisplayApp::FullRefreshDirections::Up); - screenIndex++; - current = screens[screenIndex](); - } - return true; - default: - return false; - } - return false; - } - - private: - bool running = true; - uint8_t screenIndex = 0; - std::array<std::function<std::unique_ptr<Screen>()>, N> screens; - std::unique_ptr<Screen> current; - }; - } - } -}
\ No newline at end of file |