InfiniTime.git

ref: 9196c18d376d4f18c686bcfec8550f9c8659d5ea

src/displayapp/screens/BatteryIcon.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
#pragma once
#include <cstdint>
#include <lvgl/src/lv_core/lv_obj.h>

namespace Pinetime {
  namespace Applications {
    namespace Screens {
      class BatteryIcon {
      public:
        explicit BatteryIcon(bool colorOnLowBattery);
        void Create(lv_obj_t* parent);

        void SetColor(lv_color_t);
        void SetBatteryPercentage(uint8_t percentage);
        lv_obj_t* GetObject();

        static const char* GetUnknownIcon();
        static const char* GetPlugIcon(bool isCharging);

      private:
        lv_obj_t* batteryImg;
        lv_obj_t* batteryJuice;
        bool colorOnLowBattery = false;
      };
    }
  }
}