class FrontendApplication : public MVPApplication
{
public:
FrontendApplication(Model& m, FrontendHeap& heap);
virtual ~FrontendApplication() { }
virtual void handleClickEvent(const ClickEvent& evt);
virtual void handleDragEvent(const DragEvent& evt);
virtual void handleTickEvent();
void resetScreenSaver();
void gotoMainMenuScreenNoTransition();
void gotoMainMenuScreen();
void gotoCustomControlsScreen();
void gotoGraphScreen();
void gotoEasingEquationScreen();
void gotoProductPresenterScreen();
private:
static const int SCREEN_SAVER_TIMEOUT = 180000;
static const int MINOR_TICK_FREQ = 3000 / 17;
static const int MAJOR_TICK_FREQ = 10000 / 17;
Callback<FrontendApplication> transitionCallback;
FrontendHeap& frontendHeap;
Model& model;
void gotoMainMenuScreenNoTransitionImpl();
void gotoMainMenuScreenImpl();
void gotoCustomControlsScreenImpl();
void gotoGraphScreenImpl();
void gotoEasingEquationScreenImpl();
void gotoProductPresenterScreenImpl();
int tickCounter;
int screenSaverTick;
Time lastClickTime;
};