]> Shamusworld >> Repos - architektonas/blob - src/action.h
96e8e87c9ccb5bad1390aaea4ee77ae6178a736d
[architektonas] / src / action.h
1 #ifndef __ACTION_H__
2 #define __ACTION_H__
3
4 #include <QtGui>
5 #include "vector.h"
6
7 class Object;
8 class Painter;
9
10 class Action: public QObject
11 {
12         Q_OBJECT
13
14         public:
15                 Action();
16                 ~Action();
17
18                 // These are all pure virtual functions: Derived classes must define
19                 // ALL of them.
20                 virtual void Draw(Painter *) = 0;
21                 virtual void MouseDown(Vector) = 0;
22                 virtual void MouseMoved(Vector) = 0;
23                 virtual void MouseReleased(void) = 0;
24                 virtual bool KeyDown(int) = 0;
25                 virtual bool KeyReleased(int) = 0;
26
27         signals:
28                 void ObjectReady(Object *);
29 };
30
31 #endif  // __ACTION_H__
32