50 #ifndef INPUTMANAGER_H_
51 #define INPUTMANAGER_H_
53 #include "system/thread/Thread.h"
54 using namespace ::br::pucrio::telemidia::ginga::core::system::thread;
56 #include "util/functions.h"
57 using namespace ::br::pucrio::telemidia::util;
59 #include "system/compat/SystemCompat.h"
60 using namespace ::br::pucrio::telemidia::ginga::core::system::compat;
62 #include "interface/InputEventFactory.h"
65 #include "IInputManager.h"
87 map<IInputEventListener*, set<int>*> eventListeners;
88 vector<LockedAction*> actionsToInpListeners;
89 set<IInputEventListener*> applicationListeners;
90 vector<LockedAction*> actionsToAppListeners;
92 set<IMotionEventListener*> motionListeners;
96 pthread_mutex_t mlMutex;
102 double lastEventTime;
103 double imperativeIntervalTime;
104 double declarativeIntervalTime;
106 GingaScreenID myScreen;
114 pthread_mutex_t actAppMutex;
115 pthread_mutex_t actInpMutex;
117 pthread_mutex_t appMutex;
124 void initializeInputIntervalTime();
133 void notifyMotionListeners(
int x,
int y,
int z);
136 void addInputEventListener(
144 void performInputLockedActions();
145 void performApplicationLockedActions();
147 bool dispatchApplicationEvent(
IInputEvent* keyEvent);
151 void removeApplicationInputEventListener(
155 void postInputEvent(
int keyCode);
156 void postCommand(
string cmd,
string args);
158 void setAxisValues(
int x,
int y,
int z);
159 void setAxisBoundaries(
int x,
int y,
int z);
160 int getCurrentXAxisValue();
161 int getCurrentYAxisValue();
Definition: IMotionEventListener.h:59
Definition: IInputEventListener.h:61
Definition: InputEventFactory.h:71
Definition: ICmdEventListener.h:62
Definition: IEventBuffer.h:63
Definition: IInputEvent.h:61
Definition: InputManager.h:85
Definition: InputManager.h:73
Definition: IInputManager.h:67