Add Stopwatch application
It can be started, stopped, and cleared. It also continues to run if you leave the screen.
This commit is contained in:
@@ -34,6 +34,7 @@ ScreenManager::ScreenManager(BSP::Schedule::TaskScheduler &scheduler,
|
||||
: m_scheduler(scheduler)
|
||||
, m_screen_stack{nullptr}
|
||||
, m_screen_stack_depth(0)
|
||||
, m_root_initialized(false)
|
||||
, m_display(display)
|
||||
, m_buttons(buttons)
|
||||
{
|
||||
@@ -74,10 +75,14 @@ NextTime ScreenManager::execute()
|
||||
|
||||
ReturnCode ScreenManager::set_root_screen(Screen &screen)
|
||||
{
|
||||
m_screen_stack[m_screen_stack_depth] = &screen;
|
||||
m_screen_stack_depth = 1;
|
||||
current_screen()->enable();
|
||||
m_scheduler.add_task(*this, NextTime::asap());
|
||||
m_screen_stack[0] = &screen;
|
||||
|
||||
if (!m_root_initialized) {
|
||||
m_screen_stack_depth = 1;
|
||||
current_screen()->enable();
|
||||
m_scheduler.add_task(*this, NextTime::asap());
|
||||
m_root_initialized = true;
|
||||
}
|
||||
|
||||
return ReturnCode::OK;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user