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 gotoMainMenuCarouselScreen();
void gotoMainMenuAnimatingButtonsScreen();
void gotoProductPresenterScreen();
void gotoGame2048Screen();
void gotoGame2DScreen();
void gotoCustomControlsScreen();
void gotoGraphScreen();
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 gotoMainMenuCarouselScreenImpl();
void gotoMainMenuAnimatingButtonsScreenImpl();
void gotoProductPresenterScreenImpl();
void gotoGame2048ScreenImpl();
void gotoGame2DScreenImpl();
void gotoCustomControlsScreenImpl();
void gotoGraphScreenImpl();
int tickCounter;
int screenSaverTick;
Time lastClickTime;
};