mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-08-24 03:29:58 +00:00
29 lines
853 B
C++
29 lines
853 B
C++
#pragma once
|
|
#ifdef ARDUINO
|
|
#include <cstddef>
|
|
#include <functional>
|
|
#include <lvgl.h>
|
|
|
|
namespace UI::LXMF {
|
|
class HomeScreen {
|
|
public:
|
|
using Callback = std::function<void()>;
|
|
enum : std::size_t { APP_COUNT = 5 };
|
|
HomeScreen();
|
|
~HomeScreen();
|
|
void set_messages_callback(Callback cb) { _messages = std::move(cb); }
|
|
void set_nomadnet_callback(Callback cb) { _nomadnet = std::move(cb); }
|
|
void set_network_callback(Callback cb) { _network = std::move(cb); }
|
|
void set_settings_callback(Callback cb) { _settings = std::move(cb); }
|
|
void set_map_callback(Callback cb) { _map = std::move(cb); }
|
|
void show();
|
|
void hide();
|
|
private:
|
|
lv_obj_t* _screen = nullptr;
|
|
lv_obj_t* _buttons[APP_COUNT]{};
|
|
Callback _messages, _nomadnet, _network, _settings, _map;
|
|
static void clicked(lv_event_t* event);
|
|
};
|
|
}
|
|
#endif
|