tagging release
[dasher.git] / trunk / Src / DasherCore / InputFilter.h
blob478839baf41b5c2d30f96d7caff9807cb469bcba
1 #ifndef __INPUT_FILTER_H__
2 #define __INPUT_FILTER_H__
4 #include "DasherView.h"
5 #include "DasherModel.h"
6 #include "DasherModule.h"
7 #include "UserLogBase.h"
9 namespace Dasher {
10 class CDasherInterfaceBase;
13 /// \defgroup InputFilter Input filters
14 /// @{
15 class CInputFilter : public CDasherModule {
16 public:
17 CInputFilter(Dasher::CEventHandler * pEventHandler, CSettingsStore * pSettingsStore, CDasherInterfaceBase *pInterface, ModuleID_t iID, int iType, const char *szName)
18 : CDasherModule(pEventHandler, pSettingsStore, iID, iType, szName) {
19 m_pInterface = pInterface;
22 virtual void HandleEvent(Dasher::CEvent * pEvent) {};
23 virtual bool DecorateView(CDasherView *pView) { return false; };
24 virtual void KeyDown(int Time, int iId, CDasherModel *pModel, CUserLogBase *pUserLog) {};
25 virtual void KeyUp(int Time, int iId, CDasherModel *pModel) {};
26 virtual bool Timer(int Time, CDasherView *m_pDasherView, CDasherModel *m_pDasherModel, Dasher::VECTOR_SYMBOL_PROB *pAdded, int *pNumDeleted) { return false; };
28 virtual void Activate() {};
29 virtual void Deactivate() {};
31 virtual bool GetMinWidth(int &iMinWidth) {
32 return false;
35 protected:
36 CDasherInterfaceBase *m_pInterface;
38 /// @}
40 #endif