2020-08-14 09:46:37 +02:00
|
|
|
#pragma once
|
2023-10-23 20:12:34 +02:00
|
|
|
#include <cstddef>
|
2023-12-10 18:35:19 +01:00
|
|
|
#include <cstdint>
|
2023-11-29 00:46:10 +01:00
|
|
|
|
2020-08-14 09:46:37 +02:00
|
|
|
namespace Pinetime {
|
|
|
|
namespace Applications {
|
2023-12-10 18:35:19 +01:00
|
|
|
enum class Apps : uint8_t {
|
2021-04-18 20:28:14 +03:00
|
|
|
None,
|
|
|
|
Launcher,
|
|
|
|
Clock,
|
|
|
|
SysInfo,
|
|
|
|
FirmwareUpdate,
|
|
|
|
FirmwareValidation,
|
|
|
|
NotificationsPreview,
|
|
|
|
Notifications,
|
2021-05-20 20:43:54 +02:00
|
|
|
Timer,
|
2021-09-10 18:40:13 -04:00
|
|
|
Alarm,
|
2021-04-18 20:28:14 +03:00
|
|
|
FlashLight,
|
|
|
|
BatteryInfo,
|
|
|
|
Music,
|
|
|
|
Paint,
|
|
|
|
Paddle,
|
|
|
|
Twos,
|
|
|
|
HeartRate,
|
|
|
|
Navigation,
|
|
|
|
StopWatch,
|
2021-06-12 09:06:58 -04:00
|
|
|
Metronome,
|
2021-04-18 20:28:14 +03:00
|
|
|
Motion,
|
2021-04-26 21:29:48 +01:00
|
|
|
Steps,
|
2024-01-23 03:45:52 -05:00
|
|
|
Dice,
|
2021-10-30 13:02:39 -05:00
|
|
|
PassKey,
|
2021-04-18 20:28:14 +03:00
|
|
|
QuickSettings,
|
|
|
|
Settings,
|
|
|
|
SettingWatchFace,
|
|
|
|
SettingTimeFormat,
|
2023-07-15 02:23:10 +02:00
|
|
|
SettingWeatherFormat,
|
2021-04-18 20:28:14 +03:00
|
|
|
SettingDisplay,
|
2021-04-26 21:29:48 +01:00
|
|
|
SettingWakeUp,
|
2021-06-24 19:15:23 +02:00
|
|
|
SettingSteps,
|
2023-01-14 14:50:21 -05:00
|
|
|
SettingSetDateTime,
|
2021-11-07 10:50:33 +00:00
|
|
|
SettingChimes,
|
2021-09-27 02:52:02 +00:00
|
|
|
SettingShakeThreshold,
|
2022-04-02 16:03:20 +03:00
|
|
|
SettingBluetooth,
|
2023-10-23 20:12:34 +02:00
|
|
|
Error,
|
|
|
|
Weather
|
|
|
|
};
|
2023-11-01 21:06:26 +01:00
|
|
|
|
2023-12-10 18:35:19 +01:00
|
|
|
enum class WatchFace : uint8_t {
|
2023-12-17 17:35:36 +01:00
|
|
|
Digital,
|
|
|
|
Analog,
|
|
|
|
PineTimeStyle,
|
|
|
|
Terminal,
|
|
|
|
Infineat,
|
|
|
|
CasioStyleG7710,
|
2023-12-10 18:35:19 +01:00
|
|
|
};
|
|
|
|
|
2023-10-23 20:12:34 +02:00
|
|
|
template <Apps>
|
|
|
|
struct AppTraits {};
|
|
|
|
|
2023-12-10 18:35:19 +01:00
|
|
|
template <WatchFace>
|
|
|
|
struct WatchFaceTraits {};
|
|
|
|
|
2023-11-01 21:06:26 +01:00
|
|
|
template <Apps... As>
|
2023-10-23 20:12:34 +02:00
|
|
|
struct TypeList {
|
|
|
|
static constexpr size_t Count = sizeof...(As);
|
2021-04-04 03:08:51 +01:00
|
|
|
};
|
2023-10-23 20:12:34 +02:00
|
|
|
|
2023-12-17 16:34:00 +01:00
|
|
|
using UserAppTypes = TypeList<@USERAPP_TYPES@>;
|
|
|
|
|
2023-12-10 18:35:19 +01:00
|
|
|
template <WatchFace... Ws>
|
|
|
|
struct WatchFaceTypeList {
|
|
|
|
static constexpr size_t Count = sizeof...(Ws);
|
|
|
|
};
|
|
|
|
|
2023-12-24 11:44:37 +01:00
|
|
|
using UserWatchFaceTypes = WatchFaceTypeList<@WATCHFACE_TYPES@>;
|
2023-12-10 18:35:19 +01:00
|
|
|
|
|
|
|
static_assert(UserWatchFaceTypes::Count >= 1);
|
2020-08-14 09:46:37 +02:00
|
|
|
}
|
2020-12-03 20:03:45 +05:30
|
|
|
}
|