22 #ifndef FIFE_EVENTCHANNEL_EVENTMANAGER_H
23 #define FIFE_EVENTCHANNEL_EVENTMANAGER_H
39 #include "util/base/fife_stdint.h"
40 #include "eventchannel/command/ec_command.h"
41 #include "eventchannel/command/ec_icommandcontroller.h"
42 #include "eventchannel/command/ec_icommandlistener.h"
44 #include "eventchannel/key/ec_ikeycontroller.h"
45 #include "eventchannel/key/ec_ikeylistener.h"
46 #include "eventchannel/key/ec_keyevent.h"
47 #include "eventchannel/key/ec_key.h"
49 #include "eventchannel/mouse/ec_imousecontroller.h"
50 #include "eventchannel/mouse/ec_imouselistener.h"
51 #include "eventchannel/mouse/ec_mouseevent.h"
53 #include "eventchannel/sdl/ec_isdleventcontroller.h"
54 #include "eventchannel/sdl/ec_isdleventlistener.h"
58 class ICommandListener;
130 void processActiveEvent(SDL_Event event);
131 void processKeyEvent(SDL_Event event);
132 void processMouseEvent(SDL_Event event);
133 bool combineEvents(SDL_Event& event1,
const SDL_Event& event2);
136 bool dispatchSdlEvent(SDL_Event& evt);
137 void dispatchKeyEvent(
KeyEvent& evt);
142 void fillKeyEvent(
const SDL_Event& sdlevt,
KeyEvent& keyevt);
143 void fillMouseEvent(
const SDL_Event& sdlevt,
MouseEvent& mouseevt);
145 std::deque<ICommandListener*> m_commandlisteners;
146 std::deque<ICommandListener*> m_pending_commandlisteners;
147 std::deque<ICommandListener*> m_pending_commandlisteners_front;
148 std::deque<ICommandListener*> m_pending_cldeletions;
150 std::deque<IKeyListener*> m_keylisteners;
151 std::deque<IKeyListener*> m_pending_keylisteners;
152 std::deque<IKeyListener*> m_pending_keylisteners_front;
153 std::deque<IKeyListener*> m_pending_kldeletions;
155 std::deque<IMouseListener*> m_mouselisteners;
156 std::deque<IMouseListener*> m_pending_mouselisteners;
157 std::deque<IMouseListener*> m_pending_mouselisteners_front;
158 std::deque<IMouseListener*> m_pending_mldeletions;
160 std::deque<ISdlEventListener*> m_sdleventlisteners;
161 std::deque<ISdlEventListener*> m_pending_sdleventlisteners;
162 std::deque<ISdlEventListener*> m_pending_sdleventlisteners_front;
163 std::deque<ISdlEventListener*> m_pending_sdldeletions;
165 std::map<int32_t, bool> m_keystatemap;
167 int32_t m_mousestate;
173 float m_mousesensitivity;
179 uint32_t m_lastticks;
void removeMouseListener(IMouseListener *listener)
float getMouseSensitivity() const
bool getMouseAcceleration() const
void addKeyListenerFront(IKeyListener *listener)
void addSdlEventListener(ISdlEventListener *listener)
void dispatchCommand(Command &command)
void addCommandListenerFront(ICommandListener *listener)
void removeCommandListener(ICommandListener *listener)
void addCommandListener(ICommandListener *listener)
EventSourceType getEventSourceType()
void removeKeyListener(IKeyListener *listener)
void addMouseListener(IMouseListener *listener)
void setMouseAcceleration(bool acceleration)
void addSdlEventListenerFront(ISdlEventListener *listener)
void setMouseSensitivity(float sensitivity)
void addMouseListenerFront(IMouseListener *listener)
void addKeyListener(IKeyListener *listener)
void removeSdlEventListener(ISdlEventListener *listener)