Replace bitmap icons by font icons (provided by AwesomeFont and LVGL). These icons are smaller in memory and quicker to draw.
BLE and battery icon replaced in Clock screen. Added heartbeat and step icons in Clock screen. Replace all labels in Menu by icons. Add doc to generate new font.
This commit is contained in:
@@ -1,62 +1,21 @@
|
||||
#include "BatteryIcon.h"
|
||||
|
||||
#include "Symbols.h"
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
|
||||
|
||||
extern lv_img_dsc_t ck_os_battery_error;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_100;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_090;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_080;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_070;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_060;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_050;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_040;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_030;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_020;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_010;
|
||||
extern lv_img_dsc_t ck_os_batterycharging_005;
|
||||
|
||||
extern lv_img_dsc_t ck_os_battery_100;
|
||||
extern lv_img_dsc_t ck_os_battery_090;
|
||||
extern lv_img_dsc_t ck_os_battery_080;
|
||||
extern lv_img_dsc_t ck_os_battery_070;
|
||||
extern lv_img_dsc_t ck_os_battery_060;
|
||||
extern lv_img_dsc_t ck_os_battery_050;
|
||||
extern lv_img_dsc_t ck_os_battery_040;
|
||||
extern lv_img_dsc_t ck_os_battery_030;
|
||||
extern lv_img_dsc_t ck_os_battery_020;
|
||||
extern lv_img_dsc_t ck_os_battery_010;
|
||||
extern lv_img_dsc_t ck_os_battery_005;
|
||||
|
||||
|
||||
lv_img_dsc_t *BatteryIcon::GetIcon(bool isCharging, float batteryPercent) {
|
||||
if(isCharging) {
|
||||
if(batteryPercent > 90.0f) return &ck_os_batterycharging_100;
|
||||
else if(batteryPercent > 80.0f) return &ck_os_batterycharging_090;
|
||||
else if(batteryPercent > 70.0f) return &ck_os_batterycharging_080;
|
||||
else if(batteryPercent > 60.0f) return &ck_os_batterycharging_070;
|
||||
else if(batteryPercent > 50.0f) return &ck_os_batterycharging_060;
|
||||
else if(batteryPercent > 40.0f) return &ck_os_batterycharging_050;
|
||||
else if(batteryPercent > 30.0f) return &ck_os_batterycharging_040;
|
||||
else if(batteryPercent > 20.0f) return &ck_os_batterycharging_030;
|
||||
else if(batteryPercent > 10.0f) return &ck_os_batterycharging_020;
|
||||
else if(batteryPercent > 5.0f) return &ck_os_batterycharging_010;
|
||||
else return &ck_os_batterycharging_005;
|
||||
} else {
|
||||
if(batteryPercent > 90.0f) return &ck_os_battery_100;
|
||||
else if(batteryPercent > 80.0f) return &ck_os_battery_090;
|
||||
else if(batteryPercent > 70.0f) return &ck_os_battery_080;
|
||||
else if(batteryPercent > 60.0f) return &ck_os_battery_070;
|
||||
else if(batteryPercent > 50.0f) return &ck_os_battery_060;
|
||||
else if(batteryPercent > 40.0f) return &ck_os_battery_050;
|
||||
else if(batteryPercent > 30.0f) return &ck_os_battery_040;
|
||||
else if(batteryPercent > 20.0f) return &ck_os_battery_030;
|
||||
else if(batteryPercent > 10.0f) return &ck_os_battery_020;
|
||||
else if(batteryPercent > 5.0f) return &ck_os_battery_010;
|
||||
else return &ck_os_battery_005;
|
||||
}
|
||||
const char* BatteryIcon::GetBatteryIcon(float batteryPercent) {
|
||||
if(batteryPercent > 90.0f) return Symbols::batteryFull;
|
||||
if(batteryPercent > 75.0f) return Symbols::batteryThreeQuarter;
|
||||
if(batteryPercent > 50.0f) return Symbols::batteryHalf;
|
||||
if(batteryPercent > 25.0f) return Symbols::batteryOneQuarter;
|
||||
return Symbols::batteryEmpty;
|
||||
}
|
||||
|
||||
lv_img_dsc_t *BatteryIcon::GetUnknownIcon() {
|
||||
return &ck_os_battery_error;
|
||||
const char* BatteryIcon::GetUnknownIcon() {
|
||||
return Symbols::batteryEmpty;
|
||||
}
|
||||
|
||||
const char *BatteryIcon::GetPlugIcon(bool isCharging) {
|
||||
if(isCharging)
|
||||
return Symbols::plug;
|
||||
else return "";
|
||||
}
|
||||
|
@@ -7,8 +7,9 @@ namespace Pinetime {
|
||||
namespace Screens {
|
||||
class BatteryIcon {
|
||||
public:
|
||||
static lv_img_dsc_t* GetUnknownIcon();
|
||||
static lv_img_dsc_t* GetIcon(bool isCharging, float batteryPercent);
|
||||
static const char* GetUnknownIcon();
|
||||
static const char* GetBatteryIcon(float batteryPercent);
|
||||
static const char* GetPlugIcon(bool isCharging);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@@ -1,12 +1,8 @@
|
||||
#include "BleIcon.h"
|
||||
|
||||
#include "Symbols.h"
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
|
||||
|
||||
extern lv_img_dsc_t ck_os_bt_connected;
|
||||
extern lv_img_dsc_t ck_os_bt_disconnected;
|
||||
|
||||
lv_img_dsc_t *BleIcon::GetIcon(bool isConnected) {
|
||||
if(isConnected) return &ck_os_bt_connected;
|
||||
else return &ck_os_bt_disconnected;
|
||||
const char* BleIcon::GetIcon(bool isConnected) {
|
||||
if(isConnected) return Symbols::bluetooth;
|
||||
else return "";
|
||||
}
|
@@ -1,13 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <libs/lvgl/src/lv_draw/lv_img_decoder.h>
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
namespace Screens {
|
||||
class BleIcon {
|
||||
public:
|
||||
static lv_img_dsc_t* GetIcon(bool isConnected);
|
||||
static const char* GetIcon(bool isConnected);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@@ -1,13 +1,12 @@
|
||||
#include <cstdio>
|
||||
#include <libs/date/includes/date/date.h>
|
||||
#include <Components/DateTime/DateTimeController.h>
|
||||
#include <Version.h>
|
||||
#include <libs/lvgl/lvgl.h>
|
||||
#include "Clock.h"
|
||||
#include "../DisplayApp.h"
|
||||
#include "BatteryIcon.h"
|
||||
#include "BleIcon.h"
|
||||
|
||||
#include "Symbols.h"
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
extern lv_font_t jetbrains_mono_extrabold_compressed;
|
||||
extern lv_font_t jetbrains_mono_bold_20;
|
||||
@@ -21,7 +20,7 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
Clock::Clock(DisplayApp* app,
|
||||
Controllers::DateTime& dateTimeController,
|
||||
Controllers::Battery& batteryController,
|
||||
Controllers::Ble& bleController) : Screen(app), currentDateTime{{}}, version {{}},
|
||||
Controllers::Ble& bleController) : Screen(app), currentDateTime{{}},
|
||||
dateTimeController{dateTimeController}, batteryController{batteryController}, bleController{bleController} {
|
||||
displayedChar[0] = 0;
|
||||
displayedChar[1] = 0;
|
||||
@@ -29,13 +28,18 @@ Clock::Clock(DisplayApp* app,
|
||||
displayedChar[3] = 0;
|
||||
displayedChar[4] = 0;
|
||||
|
||||
batteryIcon = lv_img_create(lv_scr_act(), NULL);
|
||||
lv_img_set_src(batteryIcon, BatteryIcon::GetUnknownIcon());
|
||||
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, 0, 0);
|
||||
batteryIcon = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(batteryIcon, Symbols::batteryFull);
|
||||
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, -5, 2);
|
||||
|
||||
batteryPlug = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(batteryPlug, Symbols::plug);
|
||||
lv_obj_align(batteryPlug, batteryIcon, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
|
||||
bleIcon = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(bleIcon, Symbols::bluetooth);
|
||||
lv_obj_align(bleIcon, batteryPlug, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
|
||||
bleIcon = lv_img_create(lv_scr_act(), NULL);
|
||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(false));
|
||||
lv_obj_align(bleIcon, batteryIcon, LV_ALIGN_OUT_LEFT_MID, 0, 0);
|
||||
|
||||
label_date = lv_label_create(lv_scr_act(), NULL);
|
||||
|
||||
@@ -53,6 +57,27 @@ Clock::Clock(DisplayApp* app,
|
||||
lv_obj_set_size(backgroundLabel, 240, 240);
|
||||
lv_obj_set_pos(backgroundLabel, 0, 0);
|
||||
lv_label_set_text(backgroundLabel, "");
|
||||
|
||||
|
||||
heartbeatIcon = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(heartbeatIcon, Symbols::heartBeat);
|
||||
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
|
||||
|
||||
heartbeatValue = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(heartbeatValue, "0");
|
||||
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||
|
||||
heartbeatBpm = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(heartbeatBpm, "BPM");
|
||||
lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||
|
||||
stepValue = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(stepValue, "0");
|
||||
lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, -5, -2);
|
||||
|
||||
stepIcon = lv_label_create(lv_scr_act(), NULL);
|
||||
lv_label_set_text(stepIcon, Symbols::shoe);
|
||||
lv_obj_align(stepIcon, stepValue, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
}
|
||||
|
||||
Clock::~Clock() {
|
||||
@@ -63,17 +88,22 @@ bool Clock::Refresh() {
|
||||
batteryPercentRemaining = batteryController.PercentRemaining();
|
||||
if (batteryPercentRemaining.IsUpdated()) {
|
||||
auto batteryPercent = batteryPercentRemaining.Get();
|
||||
lv_img_set_src(batteryIcon, BatteryIcon::GetIcon(batteryController.IsCharging() || batteryController.IsPowerPresent(), batteryPercent));
|
||||
lv_label_set_text(batteryIcon, BatteryIcon::GetBatteryIcon(batteryPercent));
|
||||
auto isCharging = batteryController.IsCharging() || batteryController.IsPowerPresent();
|
||||
lv_label_set_text(batteryPlug, BatteryIcon::GetPlugIcon(isCharging));
|
||||
}
|
||||
|
||||
bleState = bleController.IsConnected();
|
||||
if (bleState.IsUpdated()) {
|
||||
if(bleState.Get() == true) {
|
||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(true));
|
||||
lv_label_set_text(bleIcon, BleIcon::GetIcon(true));
|
||||
} else {
|
||||
lv_img_set_src(bleIcon, BleIcon::GetIcon(false));
|
||||
lv_label_set_text(bleIcon, BleIcon::GetIcon(false));
|
||||
}
|
||||
}
|
||||
lv_obj_align(batteryIcon, lv_scr_act(), LV_ALIGN_IN_TOP_RIGHT, -5, 5);
|
||||
lv_obj_align(batteryPlug, batteryIcon, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
lv_obj_align(bleIcon, batteryPlug, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
|
||||
currentDateTime = dateTimeController.CurrentDateTime();
|
||||
|
||||
@@ -124,6 +154,25 @@ bool Clock::Refresh() {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO heartbeat = heartBeatController.GetValue();
|
||||
if(heartbeat.IsUpdated()) {
|
||||
char heartbeatBuffer[4];
|
||||
sprintf(heartbeatBuffer, "%d", heartbeat.Get());
|
||||
lv_label_set_text(heartbeatValue, heartbeatBuffer);
|
||||
lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2);
|
||||
lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||
lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0);
|
||||
}
|
||||
|
||||
// TODO stepCount = stepController.GetValue();
|
||||
if(stepCount.IsUpdated()) {
|
||||
char stepBuffer[5];
|
||||
sprintf(stepBuffer, "%lu", stepCount.Get());
|
||||
lv_label_set_text(stepValue, stepBuffer);
|
||||
lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_BOTTOM_RIGHT, -5, -2);
|
||||
lv_obj_align(stepIcon, stepValue, LV_ALIGN_OUT_LEFT_MID, -5, 0);
|
||||
}
|
||||
|
||||
return running;
|
||||
}
|
||||
|
||||
|
@@ -2,16 +2,12 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||
#include <Components/Battery/BatteryController.h>
|
||||
#include <Components/Ble/BleController.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
@@ -64,13 +60,21 @@ namespace Pinetime {
|
||||
DirtyValue<uint8_t> batteryPercentRemaining {0};
|
||||
DirtyValue<bool> bleState {false};
|
||||
DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
|
||||
DirtyValue<Pinetime::Version> version;
|
||||
DirtyValue<uint32_t> stepCount {0};
|
||||
DirtyValue<uint8_t> heartbeat {0};
|
||||
|
||||
|
||||
lv_obj_t* label_time;
|
||||
lv_obj_t* label_date;
|
||||
lv_obj_t* backgroundLabel;
|
||||
lv_obj_t * batteryIcon;
|
||||
lv_obj_t * bleIcon;
|
||||
lv_obj_t* batteryPlug;
|
||||
lv_obj_t* heartbeatIcon;
|
||||
lv_obj_t* heartbeatValue;
|
||||
lv_obj_t* heartbeatBpm;
|
||||
lv_obj_t* stepIcon;
|
||||
lv_obj_t* stepValue;
|
||||
|
||||
Controllers::DateTime& dateTimeController;
|
||||
Controllers::Battery& batteryController;
|
||||
|
@@ -2,16 +2,11 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||
#include <Components/Battery/BatteryController.h>
|
||||
#include <Components/Ble/BleController.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
|
@@ -1,17 +1,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||
#include <Components/Battery/BatteryController.h>
|
||||
#include <Components/Ble/BleController.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
|
@@ -1,13 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
#include <lvgl/src/lv_core/lv_style.h>
|
||||
|
||||
namespace Pinetime {
|
||||
|
@@ -2,16 +2,10 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||
#include <Components/Battery/BatteryController.h>
|
||||
#include <Components/Ble/BleController.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
|
@@ -2,16 +2,10 @@
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_style.h>
|
||||
#include <libs/lvgl/src/lv_core/lv_obj.h>
|
||||
#include <Components/Battery/BatteryController.h>
|
||||
#include <Components/Ble/BleController.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#include <libs/lvgl/lvgl.h>
|
||||
#include <DisplayApp/DisplayApp.h>
|
||||
#include "ScreenList.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
|
||||
|
24
src/DisplayApp/Screens/Symbols.h
Normal file
24
src/DisplayApp/Screens/Symbols.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
namespace Pinetime {
|
||||
namespace Applications {
|
||||
namespace Screens {
|
||||
namespace Symbols {
|
||||
static constexpr char* batteryFull = "\xEF\x89\x80";
|
||||
static constexpr char* batteryEmpty = "\xEF\x89\x84";
|
||||
static constexpr char* batteryThreeQuarter = "\xEF\x89\x81";
|
||||
static constexpr char* batteryHalf = "\xEF\x89\x82";
|
||||
static constexpr char* batteryOneQuarter = "\xEF\x89\x83";
|
||||
static constexpr char* heartBeat = "\xEF\x88\x9E";
|
||||
static constexpr char* bluetoothFull = "\xEF\x8A\x93";
|
||||
static constexpr char* bluetooth = "\xEF\x8A\x94";
|
||||
static constexpr char* plug = "\xEF\x87\xA6";
|
||||
static constexpr char* shoe = "\xEF\x95\x8B";
|
||||
static constexpr char* clock = "\xEF\x80\x97";
|
||||
static constexpr char* info = "\xEF\x84\xA9";
|
||||
static constexpr char* list = "\xEF\x80\xBA";
|
||||
static constexpr char* sun = "\xEF\x86\x85";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,13 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
#include <lvgl/src/lv_core/lv_style.h>
|
||||
|
||||
namespace Pinetime {
|
||||
|
@@ -3,7 +3,8 @@
|
||||
#include <libs/lvgl/lvgl.h>
|
||||
#include "Tile.h"
|
||||
#include <DisplayApp/DisplayApp.h>
|
||||
|
||||
#include "Symbols.h"
|
||||
#include "../../Version.h"
|
||||
|
||||
using namespace Pinetime::Applications::Screens;
|
||||
|
||||
@@ -16,89 +17,17 @@ static void event_handler(lv_obj_t * obj, lv_event_t event) {
|
||||
screen->OnObjectEvent(obj, event, eventData);
|
||||
}
|
||||
|
||||
static const char * btnm_map1[] = {"Meter", "Gauge", "Clock", "\n", "Soft\nversion", "App2", "Brightness", ""};
|
||||
static const char * btnm_map1[] = {Symbols::heartBeat, Symbols::shoe, Symbols::clock, "\n", Symbols::info, Symbols::list, Symbols::sun, ""};
|
||||
|
||||
Tile::Tile(DisplayApp* app) : Screen(app) {
|
||||
modal.reset(new Modal(app));
|
||||
/*
|
||||
static lv_point_t valid_pos[] = {{0,0}, {LV_COORD_MIN, LV_COORD_MIN}};
|
||||
tileview = lv_tileview_create(lv_scr_act(), NULL);
|
||||
lv_tileview_set_valid_positions(tileview, valid_pos, 1);
|
||||
lv_tileview_set_edge_flash(tileview, false);
|
||||
|
||||
tile1 = lv_obj_create(tileview, NULL);
|
||||
lv_obj_set_pos(tile1, 0, 0);
|
||||
lv_obj_set_size(tile1, LV_HOR_RES, LV_VER_RES);
|
||||
lv_tileview_add_element(tileview, tile1);
|
||||
*/
|
||||
btnm1 = lv_btnm_create(lv_scr_act(), NULL);
|
||||
lv_btnm_set_map(btnm1, btnm_map1);
|
||||
lv_obj_set_size(btnm1, LV_HOR_RES, LV_VER_RES);
|
||||
|
||||
// labelRelStyle = const_cast<lv_style_t *>(lv_label_get_style(btnm1, LV_BTNM_STYLE_BTN_REL));
|
||||
// labelRelStyle->text.font = &jetbrains_mono_bold_20;
|
||||
// labelRelStyle->body.grad_color = labelRelStyle->body.main_color;
|
||||
// lv_btnm_set_style(btnm1, LV_BTNM_STYLE_BTN_REL, labelRelStyle);
|
||||
//
|
||||
// labelPrStyle = const_cast<lv_style_t *>(lv_label_get_style(btnm1, LV_BTNM_STYLE_BTN_PR));
|
||||
// labelPrStyle->text.font = &jetbrains_mono_bold_20;
|
||||
// labelPrStyle->body.grad_color = labelPrStyle->body.shadow.color;
|
||||
|
||||
|
||||
|
||||
// lv_btnm_set_style(btnm1, LV_BTNM_STYLE_BTN_PR, labelPrStyle);
|
||||
//TODO better style handling
|
||||
// lv_obj_align(btnm1, tile1, LV_ALIGN_CENTER, 0, 0);
|
||||
btnm1->user_data = this;
|
||||
lv_obj_set_event_cb(btnm1, event_handler);
|
||||
|
||||
/*
|
||||
tile2 = lv_obj_create(tileview, NULL);
|
||||
lv_obj_set_pos(tile2, 0, LV_VER_RES);
|
||||
lv_obj_set_size(tile2, LV_HOR_RES, LV_VER_RES);
|
||||
lv_tileview_add_element(tileview, tile2);
|
||||
|
||||
btnm2 = lv_btnm_create(tileview, NULL);
|
||||
lv_btnm_set_map(btnm2, btnm_map2);
|
||||
lv_obj_align(btnm2, tile2, LV_ALIGN_CENTER, 0, 0);
|
||||
*/
|
||||
/*
|
||||
tile1 = lv_obj_create(tileview, NULL);
|
||||
lv_obj_set_pos(tile1, 0, 0);
|
||||
lv_obj_set_size(tile1, LV_HOR_RES, LV_VER_RES);
|
||||
lv_tileview_add_element(tileview, tile1);
|
||||
|
||||
btn1 = lv_btn_create(tile1, NULL);
|
||||
lv_obj_align(btn1, tile1, LV_ALIGN_CENTER, 0, 0);
|
||||
|
||||
label1 = lv_label_create(btn1, NULL);
|
||||
lv_label_set_text(label1, "Button1");
|
||||
*/
|
||||
/*
|
||||
tile2 = lv_obj_create(tileview, NULL);
|
||||
lv_obj_set_pos(tile2, 0, LV_VER_RES);
|
||||
lv_obj_set_size(tile2, LV_HOR_RES, LV_VER_RES);
|
||||
lv_tileview_add_element(tileview, tile2);
|
||||
|
||||
btn2 = lv_btn_create(tile2, NULL);
|
||||
lv_obj_align(btn2, tile2, LV_ALIGN_CENTER, 0, 0);
|
||||
|
||||
|
||||
label2 = lv_label_create(btn2, NULL);
|
||||
lv_label_set_text(label2, "Button2");
|
||||
|
||||
tile3 = lv_obj_create(tileview, NULL);
|
||||
lv_obj_set_pos(tile3, 0, LV_VER_RES*2);
|
||||
lv_obj_set_size(tile3, LV_HOR_RES, LV_VER_RES);
|
||||
lv_tileview_add_element(tileview, tile3);
|
||||
|
||||
btn3 = lv_btn_create(tile3, NULL);
|
||||
lv_obj_align(btn3, tile3, LV_ALIGN_CENTER, 0, 0);
|
||||
|
||||
|
||||
label3 = lv_label_create(btn3, NULL);
|
||||
lv_label_set_text(label3, "Button3");
|
||||
*/
|
||||
}
|
||||
|
||||
Tile::~Tile() {
|
||||
|
@@ -1,13 +1,8 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
#include <Components/Gfx/Gfx.h>
|
||||
#include "Screen.h"
|
||||
#include <bits/unique_ptr.h>
|
||||
#include "../Fonts/lcdfont14.h"
|
||||
#include "../Fonts/lcdfont70.h"
|
||||
#include "../../Version.h"
|
||||
#include "Modal.h"
|
||||
#include <lvgl/src/lv_core/lv_style.h>
|
||||
|
||||
|
Reference in New Issue
Block a user