~aleteoryx/muditaos

ref: ca9579a252e7ea6186b2dedb4dd6f66309eb0d93 muditaos/module-gui/gui/widgets/status-bar/BatteryBase.cpp -rw-r--r-- 1.1 KiB
ca9579a2 — Dawid Wojtas [BH-1590] Light press ends the Power Nap 3 years ago
                                                                                
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
// Copyright (c) 2017-2022, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include "BatteryBase.hpp"
#include "BoxLayout.hpp"

namespace gui::status_bar
{
    BatteryBase::BatteryBase(Item *parent, uint32_t x, uint32_t y, uint32_t w, uint32_t h)
        : StatusBarWidgetBase(parent, x, y, w, h)
    {
        setEdges(RectangleEdge::None);
        setAlignment(Alignment(Alignment::Horizontal::Right, Alignment::Vertical::Bottom));
    }

    bool BatteryBase::update(const Store::Battery &batteryContext)
    {
        switch (batteryContext.state) {
        case Store::Battery::State::Discharging:
            [[fallthrough]];
        case Store::Battery::State::PluggedNotCharging:
            showBatteryLevel(batteryContext.level);
            break;
        case Store::Battery::State::Charging:
            showBatteryCharging();
            break;
        case Store::Battery::State::ChargingDone:
            showBatteryChargingDone();
            break;
        }

        return Store::Battery::takeUpdated();
    }
} // namespace gui::status_bar