Updated German translation
[dasher.git] / Src / DasherCore / DasherButtons.h
blobf1bf0a1e52ed5d6ac2064c6680dab8c9e1785278
2 // DasherButtons.h
3 // Copyright 2005 by Chris Ball
5 #ifndef __DASHER_BUTTONS_H__
6 #define __DASHER_BUTTONS_H__
8 #include <string>
9 #include <vector>
10 #include <iostream>
11 #include <fstream>
12 #include <algorithm>
13 #include "Event.h"
14 #include "InputFilter.h"
17 using namespace std;
18 namespace Dasher {
19 /// \ingroup Input
20 /// @{
21 class CDasherButtons : public CStaticFilter
23 public:
24 CDasherButtons(CSettingsUser *pCreator, CDasherInterfaceBase *pInterface, bool bMenu, ModuleID_t iID, const char *szName);
26 ~CDasherButtons();
28 virtual bool DecorateView(CDasherView *pView, CDasherInput *pInput)=0;
30 void KeyDown(unsigned long iTime, int iId, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel);
31 void Timer(unsigned long Time, CDasherView *pView, CDasherInput *pInput, CDasherModel *m_pDasherModel, CExpansionPolicy **pol);
32 void Activate();
34 struct SBoxInfo {
35 int iTop;
36 int iBottom;
37 int iDisplayTop;
38 int iDisplayBottom;
41 protected:
42 virtual void SetupBoxes()=0;
43 void NewDrawGoTo(CDasherView *pView, myint iDasherMin, myint iDasherMax, bool bActive);
44 bool m_bMenu;
45 bool m_bDecorationChanged;
46 SBoxInfo *m_pBoxes;
47 int m_iNumBoxes, iActiveBox;
48 unsigned long m_iScanTime;
50 virtual void DirectKeyDown(unsigned long iTime, int iId, CDasherView *pView, CDasherModel *pModel);
53 /// @}
55 #endif