Updated German translation
[dasher.git] / Src / DasherCore / CircleStartHandler.h
blob1cf6129f5148b550dc37ae9c53fbe8559067ed7a
1 #ifndef __CIRCLE_START_HANDLER_H__
2 #define __CIRCLE_START_HANDLER_H__
4 #include "StartHandler.h"
5 #include "SettingsStore.h"
6 #include "DasherScreen.h"
8 /// \ingroup Start
9 /// @{
10 namespace Dasher {
11 class CCircleStartHandler : public CStartHandler, public CSettingsUserObserver, public Observer<CDasherView *> {
12 public:
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);
19 void onPause();
20 void onRun(unsigned long iTime);
21 protected:
22 ///Time (as unix timestamp) when user entered circle; max() => already acted upon
23 long m_iEnterTime;
24 ///Whether the user was in the circle in last call to Timer
25 bool m_bInCircle;
26 ///Radius of circle in screen coordinates (-1 = needs recomputing)
27 int m_iScreenRadius;
28 CDasherView *m_pView;
29 virtual CDasherScreen::point CircleCenter(CDasherView *pView);
30 private:
31 ///Cached center of screen circle (needs recomputing if radius does)
32 CDasherScreen::point m_screenCircleCenter;
35 /// @}
37 #endif