Files
MuditaOS/module-apps/apps-common/widgets/ProgressTimerWithBarGraphAndCounter.hpp
Lefucjusz cc0fceaedf [BH-1826] Implement new countdown progress bar design
Implemented new countdown progress bar design,
used in Relaxation, Meditation and Power Nap
apps. New implementation shows progress
bar as decrementing as the time passes instead
of incrementing.
Cleanups.
2023-12-12 13:57:44 +01:00

40 lines
1005 B
C++

// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "ProgressTimer.hpp"
#include "TimeFixedWidget.hpp"
#include <Timers/TimerHandle.hpp>
#include <time/time_conversion.hpp>
#include <atomic>
#include <chrono>
#include <string>
namespace gui
{
class Text;
class Progress;
} // namespace gui
namespace app
{
class ProgressTimerWithBarGraphAndCounter : public ProgressTimer
{
gui::Text *text = nullptr;
gui::Progress *progress = nullptr;
gui::TimeFixedWidget *timeWidget = nullptr;
void update() override;
void updateText();
void updateTimeWidget();
void updateProgress();
public:
using ProgressTimer::ProgressTimer;
void attach(gui::Progress *_progress);
void attach(gui::Text *_text);
void attach(gui::TimeFixedWidget *_timeWidget);
};
} // namespace app