1 #ifndef __CIRCLE_START_HANDLER_H__
2 #define __CIRCLE_START_HANDLER_H__
4 #include "StartHandler.h"
5 #include "SettingsStore.h"
6 #include "DasherScreen.h"
11 class CCircleStartHandler
: public CStartHandler
, public CSettingsUserObserver
, public Observer
<CDasherView
*> {
13 CCircleStartHandler(CDefaultFilter
*pCreator
);
14 ~CCircleStartHandler();
15 virtual bool DecorateView(CDasherView
*pView
);
16 virtual void Timer(unsigned long iTime
, dasherint iX
, dasherint iY
, CDasherView
*pView
);
17 virtual void HandleEvent(int iParameter
);
18 virtual void HandleEvent(CDasherView
*pView
);
20 void onRun(unsigned long iTime
);
22 ///Time (as unix timestamp) when user entered circle; max() => already acted upon
24 ///Whether the user was in the circle in last call to Timer
26 ///Radius of circle in screen coordinates (-1 = needs recomputing)
29 virtual CDasherScreen::point
CircleCenter(CDasherView
*pView
);
31 ///Cached center of screen circle (needs recomputing if radius does)
32 CDasherScreen::point m_screenCircleCenter
;