/* * Copyright 2023 jacqueline * * SPDX-License-Identifier: GPL-3.0-only */ #pragma once #include #include "core/lv_group.h" #include "core/lv_obj.h" #include "core/lv_obj_tree.h" #include "lvgl.h" namespace ui { class Screen { public: Screen() : root_(lv_obj_create(NULL)), group_(lv_group_create()) {} virtual ~Screen() { lv_obj_del(root_); lv_group_del(group_); } virtual auto Tick() -> void {} auto root() -> lv_obj_t* { return root_; } auto group() -> lv_group_t* { return group_; } protected: lv_obj_t* const root_; lv_group_t* const group_; }; } // namespace ui