diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-28 15:01:09 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-28 15:01:09 +1000 |
| commit | 85379b359cc0ffac0b113fd53bd2dbac8660c9a6 (patch) | |
| tree | 099c9d9758a111a3ba1466f1738f4fc77a1ef761 /src/ui/widget_top_bar.cpp | |
| parent | 3a0c42f9240eedfbc6a1e94ad3a59c52664fb5b5 (diff) | |
| download | tangara-fw-85379b359cc0ffac0b113fd53bd2dbac8660c9a6.tar.gz | |
Add some cool battery icons
Diffstat (limited to 'src/ui/widget_top_bar.cpp')
| -rw-r--r-- | src/ui/widget_top_bar.cpp | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/ui/widget_top_bar.cpp b/src/ui/widget_top_bar.cpp index 851b617f..c5c3d88b 100644 --- a/src/ui/widget_top_bar.cpp +++ b/src/ui/widget_top_bar.cpp @@ -16,6 +16,13 @@ #include "widgets/lv_img.h" #include "widgets/lv_label.h" +LV_IMG_DECLARE(battery_empty); +LV_IMG_DECLARE(battery_20); +LV_IMG_DECLARE(battery_40); +LV_IMG_DECLARE(battery_60); +LV_IMG_DECLARE(battery_80); +LV_IMG_DECLARE(battery_full); + namespace ui { namespace widgets { @@ -48,8 +55,7 @@ TopBar::TopBar(lv_obj_t* parent, const Configuration& config) { playback_ = lv_label_create(container_); lv_label_set_text(playback_, ""); - battery_ = lv_label_create(container_); - lv_label_set_text(battery_, ""); + battery_ = lv_img_create(container_); } auto TopBar::Update(const State& state) -> void { @@ -65,18 +71,21 @@ auto TopBar::Update(const State& state) -> void { break; } - lv_label_set_text(battery_, std::to_string(state.battery_percent).c_str()); - // if (state.battery_percent >= 95) { - // lv_label_set_text(battery_, "100"); - // } else if (state.battery_percent >= 70) { - // lv_label_set_text(battery_, ">70"); - // } else if (state.battery_percent >= 40) { - // lv_label_set_text(battery_, ">40"); - // } else if (state.battery_percent >= 10) { - // lv_label_set_text(battery_, ">10"); - // } else { - // lv_label_set_text(battery_, "0"); - // } + if (state.battery_percent >= 95) { + lv_img_set_src(battery_, &battery_full); + } else if (state.battery_percent >= 75) { + lv_img_set_src(battery_, &battery_80); + lv_label_set_text(battery_, ">70"); + } else if (state.battery_percent >= 55) { + lv_img_set_src(battery_, &battery_60); + lv_label_set_text(battery_, ">40"); + } else if (state.battery_percent >= 35) { + lv_img_set_src(battery_, &battery_40); + } else if (state.battery_percent >= 15) { + lv_img_set_src(battery_, &battery_20); + } else { + lv_img_set_src(battery_, &battery_empty); + } } } // namespace widgets |
