summaryrefslogtreecommitdiff
path: root/src/ui/include/screen.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-05-02 19:12:26 +1000
committerjacqueline <me@jacqueline.id.au>2024-05-02 19:12:26 +1000
commit1573a8c4cde1cd9528b422b2dcc598e37ffe94a7 (patch)
treed162822b8fd7054f81bace0c7a65ab4d5e6f93ef /src/ui/include/screen.hpp
parenta231fd1c8afedbeb14b0bc77d76bad61db986059 (diff)
downloadtangara-fw-1573a8c4cde1cd9528b422b2dcc598e37ffe94a7.tar.gz
WIP merge cyclically dependent components into one big component
Diffstat (limited to 'src/ui/include/screen.hpp')
-rw-r--r--src/ui/include/screen.hpp58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/ui/include/screen.hpp b/src/ui/include/screen.hpp
deleted file mode 100644
index 40284fda..00000000
--- a/src/ui/include/screen.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2023 jacqueline <me@jacqueline.id.au>
- *
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-#pragma once
-
-#include <memory>
-#include <optional>
-#include <vector>
-
-#include "core/lv_group.h"
-#include "core/lv_obj.h"
-#include "core/lv_obj_tree.h"
-#include "lvgl.h"
-
-namespace ui {
-
-/*
- * Base class for ever discrete screen in the app. Provides a consistent
- * interface that can be used for transitioning between screens, adding them to
- * back stacks, etc.
- */
-class Screen {
- public:
- Screen();
- virtual ~Screen();
-
- virtual auto onShown() -> void {}
- virtual auto onHidden() -> void {}
-
- auto root() -> lv_obj_t* { return root_; }
- auto content() -> lv_obj_t* { return content_; }
- auto alert() -> lv_obj_t* { return alert_; }
-
- auto modal_content() -> lv_obj_t* { return modal_content_; }
- auto modal_group(lv_group_t* g) -> void { modal_group_ = g; }
- auto group() -> lv_group_t* {
- if (modal_group_) {
- return modal_group_;
- }
- return group_;
- }
-
- virtual auto canPop() -> bool = 0;
-
- protected:
- lv_obj_t* const root_;
- lv_obj_t* content_;
- lv_obj_t* modal_content_;
- lv_obj_t* alert_;
-
- lv_group_t* const group_;
- lv_group_t* modal_group_;
-};
-
-} // namespace ui