UVControl/src/menu/start.cpp

43 lines
891 B
C++
Raw Normal View History

2017-12-07 22:43:24 +00:00
#include "start.h"
#include "state.h"
#include "display.h"
2017-12-08 10:08:53 +00:00
#include "screen/countdown.h"
2017-12-07 22:43:24 +00:00
const char* StartMenuItem::getTitle()
{
return UniqueString("Start");
}
const char* StartMenuItem::getValue()
{
const char* time = FormatTime(GetExposureTime());
const char* intensity = FormatPercentage(GetExposureIntensity());
uint8_t timeLength = strlen(time);
uint8_t intensityLength = strlen(intensity);
char* value = new char[timeLength + 3 + intensityLength + 1];
strcpy(value, time);
delete[] time;
uint8_t offset = timeLength;
value[offset] = ' '; offset++;
value[offset] = '@'; offset++;
value[offset] = ' '; offset++;
strcpy(value + offset, intensity);
delete[] intensity;
return value;
}
void StartMenuItem::execute(ScreenManager* screenManager, uint32_t currentTime)
2017-12-07 22:43:24 +00:00
{
StartExposureTimer(currentTime);
2017-12-08 10:08:53 +00:00
screenManager->show<CountdownScreen>();
2017-12-07 22:43:24 +00:00
}