00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef AEDOBJECT_H
00024 #define AEDOBJECT_H
00025
00026 #include <vector>
00027 #include <map>
00028 #include <string>
00029 #include <algorithm>
00030 #include <math.h>
00031 #include <typeinfo>
00032 #include "SDL.h"
00033 #include "dllmacros.h"
00034 #include "aedSignal.h"
00035
00036
00037 typedef enum
00038 {
00039
00040 MOUSE_LBUTTON_DOWN = 1000,
00041 MOUSE_LBUTTON_UP,
00042 MOUSE_RBUTTON_DOWN,
00043 MOUSE_RBUTTON_UP,
00044 MOUSE_MBUTTON_DOWN,
00045 MOUSE_MBUTTON_UP,
00046 MOUSE_MOVE,
00047
00048
00049 GOT_FOCUS = 1500,
00050 LOST_FOCUS,
00051
00052
00053 KEY_DOWN = 2000,
00054
00055
00056 TEXT_CHANGED = 3000,
00057
00058
00059 SCREEN_RESOLUTION_CHANGED = 4000,
00060
00061
00062 STATE_CHANGED = 5000,
00063
00064
00065 TIMER_ALARM = 6000,
00066
00067
00068
00069 VALUE_CHANGED = 7000
00070 } aedEvents;
00071
00073 class DLLEXPORT aedObject
00074 {
00075 public:
00076 aedObject();
00077 virtual ~ aedObject();
00078
00080 bool connect(aedEvents evt, aedCallBack cbf);
00081 bool disconnect(aedEvents evt);
00082 void triggerEvent(aedEvents evt, void *caller, void *data);
00083
00084 protected:
00085 std::multimap < aedEvents, aedSignal > m_Signals;
00086 };
00087
00088 #endif