diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-17 15:58:32 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-17 15:58:32 +1000 |
| commit | d8533c42df9d3ac250d896c9fd1077b8c9a9552b (patch) | |
| tree | be53ecc6ed7fcd4d8e5d46bd2e5a9c9868919e0c /src/ui/include | |
| parent | f3c5eec0251ec98f90d324c88d3519de2e6ee5e0 (diff) | |
| download | tangara-fw-d8533c42df9d3ac250d896c9fd1077b8c9a9552b.tar.gz | |
Start on basic onboarding screens
Diffstat (limited to 'src/ui/include')
| -rw-r--r-- | src/ui/include/screen_onboarding.hpp | 50 | ||||
| -rw-r--r-- | src/ui/include/ui_fsm.hpp | 7 |
2 files changed, 57 insertions, 0 deletions
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 <me@jacqueline.id.au> + * + * SPDX-License-Identifier: GPL-3.0-only + */ + +#pragma once + +#include <memory> +#include <vector> + +#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; |
