-
-
Notifications
You must be signed in to change notification settings - Fork 984
/
Copy pathSettingWakeUp.h
56 lines (43 loc) · 1.7 KB
/
SettingWakeUp.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#pragma once
#include <array>
#include <cstdint>
#include <lvgl/lvgl.h>
#include "components/settings/Settings.h"
#include "displayapp/screens/Page.h"
#include "displayapp/screens/Screen.h"
#include "displayapp/screens/ScreenList.h"
#include "displayapp/widgets/PageIndicator.h"
namespace Pinetime {
namespace Applications {
namespace Screens {
class SettingWakeUp : public Screen {
public:
SettingWakeUp(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Settings& settingsController);
~SettingWakeUp() override;
void UpdateSelected(lv_obj_t* object);
bool OnTouchEvent(TouchEvents event) override;
private:
auto CreateScreenList();
std::unique_ptr<Screen> CreateScreen(size_t screenNum);
struct Option {
Controllers::Settings::WakeUpMode wakeUpMode;
const char* name;
};
static constexpr size_t numOptions = 6;
static constexpr size_t optionsPerScreen = 4;
static constexpr size_t nScreens = 2;
Controllers::Settings& settingsController;
ScreenList<nScreens> screens;
static constexpr std::array<Option, numOptions> options = {{
{Controllers::Settings::WakeUpMode::SingleTap, "Single Tap"},
{Controllers::Settings::WakeUpMode::DoubleTap, "Double Tap"},
{Controllers::Settings::WakeUpMode::RaiseWrist, "Raise Wrist"},
{Controllers::Settings::WakeUpMode::Shake, "Shake Wake"},
{Controllers::Settings::WakeUpMode::LowerWrist, "Lower Wrist"},
{Controllers::Settings::WakeUpMode::ButtonUnlocks, "Button Unlock"},
}};
std::array<lv_obj_t*, numOptions> cbOption;
};
}
}
}