From d8533c42df9d3ac250d896c9fd1077b8c9a9552b Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 17 Aug 2023 15:58:32 +1000 Subject: Start on basic onboarding screens --- src/ui/include/screen_onboarding.hpp | 50 ++++++++++++++++++++++++++++++++++++ src/ui/include/ui_fsm.hpp | 7 +++++ 2 files changed, 57 insertions(+) create mode 100644 src/ui/include/screen_onboarding.hpp (limited to 'src/ui/include') diff --git a/src/ui/include/screen_onboarding.hpp b/src/ui/include/screen_onboarding.hpp new file mode 100644 index 00000000..d7751926 --- /dev/null +++ b/src/ui/include/screen_onboarding.hpp @@ -0,0 +1,50 @@ +/* + * Copyright 2023 jacqueline + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include +#include + +#include "lvgl.h" + +#include "screen.hpp" + +namespace ui { +namespace screens { + +class Onboarding : public Screen { + public: + Onboarding(const std::string& title, bool show_prev, bool show_next); + + private: + lv_obj_t* window_; + lv_obj_t* title_; + lv_obj_t* next_button_; + lv_obj_t* prev_button_; + + protected: + lv_obj_t* content_; +}; + +namespace onboarding { + +class LinkToManual : public Onboarding { + LinkToManual(); +}; + +class Controls : public Onboarding { + Controls(); +}; + +class FormatSdCard : public Onboarding { + FormatSdCard(); +}; + +} // namespace onboarding + +} // namespace screens +} // namespace ui diff --git a/src/ui/include/ui_fsm.hpp b/src/ui/include/ui_fsm.hpp index bb8ecd0a..1551932a 100644 --- a/src/ui/include/ui_fsm.hpp +++ b/src/ui/include/ui_fsm.hpp @@ -79,6 +79,13 @@ class Splash : public UiState { using UiState::react; }; +class Onboarding : public UiState { + public: + void entry() override; + + using UiState::react; +}; + class Browse : public UiState { void entry() override; -- cgit v1.2.3