diff options
Diffstat (limited to 'backends/events')
-rw-r--r-- | backends/events/dinguxsdl/dinguxsdl-events.cpp | 12 | ||||
-rw-r--r-- | backends/events/gph/gph-events.cpp | 18 | ||||
-rw-r--r-- | backends/events/linuxmotosdl/linuxmotosdl-events.cpp | 14 | ||||
-rw-r--r-- | backends/events/openpandora/op-events.cpp | 12 | ||||
-rw-r--r-- | backends/events/ps3sdl/ps3sdl-events.cpp | 8 | ||||
-rw-r--r-- | backends/events/sdl/sdl-events.cpp | 39 | ||||
-rw-r--r-- | backends/events/sdl/sdl-events.h | 13 | ||||
-rw-r--r-- | backends/events/symbiansdl/symbiansdl-events.cpp | 14 | ||||
-rw-r--r-- | backends/events/webossdl/webossdl-events.cpp | 12 | ||||
-rw-r--r-- | backends/events/wincesdl/wincesdl-events.cpp | 16 | ||||
-rw-r--r-- | backends/events/wincesdl/wincesdl-events.h | 2 |
11 files changed, 85 insertions, 75 deletions
diff --git a/backends/events/dinguxsdl/dinguxsdl-events.cpp b/backends/events/dinguxsdl/dinguxsdl-events.cpp index 946507ccfd..64d8fbeb62 100644 --- a/backends/events/dinguxsdl/dinguxsdl-events.cpp +++ b/backends/events/dinguxsdl/dinguxsdl-events.cpp @@ -50,7 +50,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == PAD_DOWN) { @@ -63,7 +63,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == PAD_LEFT) { @@ -76,7 +76,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == PAD_RIGHT) { @@ -89,7 +89,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == BUT_Y) { // left mouse button @@ -99,7 +99,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { event.type = Common::EVENT_LBUTTONUP; } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == BUT_B) { // right mouse button @@ -109,7 +109,7 @@ bool DINGUXSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { event.type = Common::EVENT_RBUTTONUP; } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == BUT_X) { // '.' skip dialogue diff --git a/backends/events/gph/gph-events.cpp b/backends/events/gph/gph-events.cpp index b461f85fbb..ce5d892957 100644 --- a/backends/events/gph/gph-events.cpp +++ b/backends/events/gph/gph-events.cpp @@ -165,7 +165,7 @@ GPHEventSource::GPHEventSource() : _buttonStateL(false){ } -//void GPHEventSource::fillMouseEvent(Common::Event &event, int x, int y) { +//void GPHEventSource::processMouseEvent(Common::Event &event, int x, int y) { // if (GPHGraphicsManager::_videoMode.mode == GFX_HALF && !GPHGraphicsManager::_overlayVisible){ // event.mouse.x = x*2; // event.mouse.y = y*2; @@ -260,7 +260,7 @@ bool GPHEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -287,7 +287,7 @@ bool GPHEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) { else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -310,16 +310,16 @@ bool GPHEventSource::handleJoyButtonDown(SDL_Event &ev, Common::Event &event) { case BUTTON_UPRIGHT: moveStick(); event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_B: case BUTTON_CLICK: event.type = Common::EVENT_LBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_X: event.type = Common::EVENT_RBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_L: BUTTON_STATE_L = true; @@ -433,16 +433,16 @@ bool GPHEventSource::handleJoyButtonUp(SDL_Event &ev, Common::Event &event) { case BUTTON_UPRIGHT: moveStick(); event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_B: case BUTTON_CLICK: event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_X: event.type = Common::EVENT_RBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BUTTON_L: BUTTON_STATE_L = false; diff --git a/backends/events/linuxmotosdl/linuxmotosdl-events.cpp b/backends/events/linuxmotosdl/linuxmotosdl-events.cpp index e859c5291b..5d9f032e19 100644 --- a/backends/events/linuxmotosdl/linuxmotosdl-events.cpp +++ b/backends/events/linuxmotosdl/linuxmotosdl-events.cpp @@ -132,7 +132,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_RIGHT) { if (ev.type == SDL_KEYDOWN) { @@ -144,7 +144,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_DOWN) { @@ -157,7 +157,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_UP) { @@ -170,7 +170,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_RETURN) { @@ -181,7 +181,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { event.type = Common::EVENT_LBUTTONUP; } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_PLUS) { @@ -191,7 +191,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { } else { event.type = Common::EVENT_RBUTTONUP; } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_MINUS) { @@ -202,7 +202,7 @@ bool LinuxmotoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { event.type = Common::EVENT_LBUTTONUP; } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } else { diff --git a/backends/events/openpandora/op-events.cpp b/backends/events/openpandora/op-events.cpp index 72bc56c95d..56915f96fe 100644 --- a/backends/events/openpandora/op-events.cpp +++ b/backends/events/openpandora/op-events.cpp @@ -81,7 +81,7 @@ bool OPEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) { else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -108,7 +108,7 @@ bool OPEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) { else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -123,12 +123,12 @@ bool OPEventSource::remapKey(SDL_Event &ev, Common::Event &event) { switch (ev.key.keysym.sym) { case SDLK_HOME: event.type = Common::EVENT_LBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; break; case SDLK_END: event.type = Common::EVENT_RBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; break; case SDLK_PAGEDOWN: @@ -159,12 +159,12 @@ bool OPEventSource::remapKey(SDL_Event &ev, Common::Event &event) { switch (ev.key.keysym.sym) { case SDLK_HOME: event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; break; case SDLK_END: event.type = Common::EVENT_RBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; break; case SDLK_PAGEDOWN: diff --git a/backends/events/ps3sdl/ps3sdl-events.cpp b/backends/events/ps3sdl/ps3sdl-events.cpp index eefc641844..723942af11 100644 --- a/backends/events/ps3sdl/ps3sdl-events.cpp +++ b/backends/events/ps3sdl/ps3sdl-events.cpp @@ -60,11 +60,11 @@ bool PS3SdlEventSource::handleJoyButtonDown(SDL_Event &ev, Common::Event &event) switch (ev.jbutton.button) { case BTN_CROSS: // Left mouse button event.type = Common::EVENT_LBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BTN_CIRCLE: // Right mouse button event.type = Common::EVENT_RBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BTN_TRIANGLE: // Game menu event.type = Common::EVENT_KEYDOWN; @@ -98,11 +98,11 @@ bool PS3SdlEventSource::handleJoyButtonUp(SDL_Event &ev, Common::Event &event) { switch (ev.jbutton.button) { case BTN_CROSS: // Left mouse button event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BTN_CIRCLE: // Right mouse button event.type = Common::EVENT_RBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); break; case BTN_TRIANGLE: // Game menu event.type = Common::EVENT_KEYUP; diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp index d4f40958fe..9d235e9044 100644 --- a/backends/events/sdl/sdl-events.cpp +++ b/backends/events/sdl/sdl-events.cpp @@ -50,7 +50,7 @@ #define JOY_BUT_F5 5 SdlEventSource::SdlEventSource() - : _scrollLock(false), _joystick(0), _lastScreenID(0), EventSource() { + : EventSource(), _scrollLock(false), _joystick(0), _lastScreenID(0), _graphicsManager(0) { // Reset mouse state memset(&_km, 0, sizeof(_km)); @@ -91,10 +91,15 @@ int SdlEventSource::mapKey(SDLKey key, SDLMod mod, Uint16 unicode) { return key; } -void SdlEventSource::fillMouseEvent(Common::Event &event, int x, int y) { +void SdlEventSource::processMouseEvent(Common::Event &event, int x, int y) { event.mouse.x = x; event.mouse.y = y; + if (_graphicsManager) { + _graphicsManager->notifyMousePos(Common::Point(x, y)); + _graphicsManager->transformMouseCoordinates(event.mouse); + } + // Update the "keyboard mouse" coords _km.x = x; _km.y = y; @@ -377,16 +382,14 @@ bool SdlEventSource::dispatchSDLEvent(SDL_Event &ev, Common::Event &event) { return handleJoyAxisMotion(ev, event); case SDL_VIDEOEXPOSE: - // HACK: Send a fake event, handled by SdlGraphicsManager - event.type = (Common::EventType)OSystem_SDL::kSdlEventExpose; - return true; + if (_graphicsManager) + _graphicsManager->notifyVideoExpose(); + return false; case SDL_VIDEORESIZE: - // HACK: Send a fake event, handled by OpenGLSdlGraphicsManager - event.type = (Common::EventType)OSystem_SDL::kSdlEventResize; - event.mouse.x = ev.resize.w; - event.mouse.y = ev.resize.h; - return true; + if (_graphicsManager) + _graphicsManager->notifyResize(ev.resize.w, ev.resize.h); + return false; case SDL_QUIT: event.type = Common::EVENT_QUIT; @@ -504,7 +507,7 @@ bool SdlEventSource::handleKeyUp(SDL_Event &ev, Common::Event &event) { bool SdlEventSource::handleMouseMotion(SDL_Event &ev, Common::Event &event) { event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, ev.motion.x, ev.motion.y); + processMouseEvent(event, ev.motion.x, ev.motion.y); return true; } @@ -527,7 +530,7 @@ bool SdlEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -543,7 +546,7 @@ bool SdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) { #endif else return false; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); return true; } @@ -551,10 +554,10 @@ bool SdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &event) { bool SdlEventSource::handleJoyButtonDown(SDL_Event &ev, Common::Event &event) { if (ev.jbutton.button == JOY_BUT_LMOUSE) { event.type = Common::EVENT_LBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); } else if (ev.jbutton.button == JOY_BUT_RMOUSE) { event.type = Common::EVENT_RBUTTONDOWN; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); } else { event.type = Common::EVENT_KEYDOWN; switch (ev.jbutton.button) { @@ -582,10 +585,10 @@ bool SdlEventSource::handleJoyButtonDown(SDL_Event &ev, Common::Event &event) { bool SdlEventSource::handleJoyButtonUp(SDL_Event &ev, Common::Event &event) { if (ev.jbutton.button == JOY_BUT_LMOUSE) { event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); } else if (ev.jbutton.button == JOY_BUT_RMOUSE) { event.type = Common::EVENT_RBUTTONUP; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); } else { event.type = Common::EVENT_KEYUP; switch (ev.jbutton.button) { @@ -653,7 +656,7 @@ bool SdlEventSource::handleJoyAxisMotion(SDL_Event &ev, Common::Event &event) { #endif } - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; } diff --git a/backends/events/sdl/sdl-events.h b/backends/events/sdl/sdl-events.h index 9122692a8e..2ba88c702b 100644 --- a/backends/events/sdl/sdl-events.h +++ b/backends/events/sdl/sdl-events.h @@ -24,6 +24,7 @@ #define BACKEND_EVENTS_SDL_H #include "backends/platform/sdl/sdl-sys.h" +#include "backends/graphics/sdl/sdl-graphics.h" #include "common/events.h" @@ -36,6 +37,8 @@ public: SdlEventSource(); virtual ~SdlEventSource(); + void setGraphicsManager(SdlGraphicsManager *gMan) { _graphicsManager = gMan; } + /** * Gets and processes SDL events. */ @@ -77,6 +80,11 @@ protected: int _lastScreenID; /** + * The associated graphics manager. + */ + SdlGraphicsManager *_graphicsManager; + + /** * Pre process an event before it is dispatched. */ virtual void preprocessEvents(SDL_Event *event) {} @@ -108,9 +116,10 @@ protected: //@} /** - * Assigns the mouse coords to the mouse event + * Assigns the mouse coords to the mouse event. Furthermore notify the + * graphics manager about the position change. */ - virtual void fillMouseEvent(Common::Event &event, int x, int y); + virtual void processMouseEvent(Common::Event &event, int x, int y); /** * Remaps key events. This allows platforms to configure diff --git a/backends/events/symbiansdl/symbiansdl-events.cpp b/backends/events/symbiansdl/symbiansdl-events.cpp index 1ffaae2ba0..308621e697 100644 --- a/backends/events/symbiansdl/symbiansdl-events.cpp +++ b/backends/events/symbiansdl/symbiansdl-events.cpp @@ -63,7 +63,7 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { _km.y_down_count = 0; } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; @@ -76,7 +76,7 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { _km.y_down_count = 0; } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; @@ -89,7 +89,7 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { _km.x_down_count = 0; } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; @@ -102,19 +102,19 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { _km.x_down_count = 0; } event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; case GUI::ACTION_LEFTCLICK: event.type = (ev.type == SDL_KEYDOWN ? Common::EVENT_LBUTTONDOWN : Common::EVENT_LBUTTONUP); - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; case GUI::ACTION_RIGHTCLICK: event.type = (ev.type == SDL_KEYDOWN ? Common::EVENT_RBUTTONDOWN : Common::EVENT_RBUTTONUP); - fillMouseEvent(event, _km.x, _km.y); + processMouseEvent(event, _km.x, _km.y); return true; @@ -132,7 +132,7 @@ bool SymbianSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { if (_currentZone >= TOTAL_ZONES) _currentZone = 0; event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, _mouseXZone[_currentZone], _mouseYZone[_currentZone]); + processMouseEvent(event, _mouseXZone[_currentZone], _mouseYZone[_currentZone]); SDL_WarpMouse(event.mouse.x, event.mouse.y); } diff --git a/backends/events/webossdl/webossdl-events.cpp b/backends/events/webossdl/webossdl-events.cpp index 102eb5802e..a6a2ed3644 100644 --- a/backends/events/webossdl/webossdl-events.cpp +++ b/backends/events/webossdl/webossdl-events.cpp @@ -159,7 +159,7 @@ bool WebOSSdlEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &ev if (getMillis() - dragStartTime < 250) { dragging = true; event.type = Common::EVENT_LBUTTONDOWN; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); } } return true; @@ -180,7 +180,7 @@ bool WebOSSdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &even if (dragging) { event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); dragging = false; return true; } @@ -195,7 +195,7 @@ bool WebOSSdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &even // left mouse click. if (duration < 500) { event.type = Common::EVENT_LBUTTONUP; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); g_system->getEventManager()->pushEvent(event); event.type = Common::EVENT_LBUTTONDOWN; dragStartTime = getMillis(); @@ -205,7 +205,7 @@ bool WebOSSdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &even // right mouse click. else if (duration < 1000) { event.type = Common::EVENT_RBUTTONUP; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); g_system->getEventManager()->pushEvent(event); event.type = Common::EVENT_RBUTTONDOWN; } @@ -214,7 +214,7 @@ bool WebOSSdlEventSource::handleMouseButtonUp(SDL_Event &ev, Common::Event &even // middle mouse click. else { event.type = Common::EVENT_MBUTTONUP; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); g_system->getEventManager()->pushEvent(event); event.type = Common::EVENT_MBUTTONDOWN; } @@ -240,7 +240,7 @@ bool WebOSSdlEventSource::handleMouseMotion(SDL_Event &ev, Common::Event &event) dragDiffX += ev.motion.xrel; dragDiffY += ev.motion.yrel; event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, curX, curY); + processMouseEvent(event, curX, curY); } return true; } diff --git a/backends/events/wincesdl/wincesdl-events.cpp b/backends/events/wincesdl/wincesdl-events.cpp index 1116cbbb8d..e73a4e66dd 100644 --- a/backends/events/wincesdl/wincesdl-events.cpp +++ b/backends/events/wincesdl/wincesdl-events.cpp @@ -43,7 +43,7 @@ void WINCESdlEventSource::init(WINCESdlGraphicsManager *graphicsMan) { _graphicsMan = graphicsMan; } -void WINCESdlEventSource::fillMouseEvent(Common::Event &event, int x, int y) { +void WINCESdlEventSource::processMouseEvent(Common::Event &event, int x, int y) { event.mouse.x = x; event.mouse.y = y; @@ -153,7 +153,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) { case SDL_MOUSEMOTION: event.type = Common::EVENT_MOUSEMOVE; - fillMouseEvent(event, ev.motion.x, ev.motion.y); + processMouseEvent(event, ev.motion.x, ev.motion.y); _graphicsMan->setMousePos(event.mouse.x, event.mouse.y); return true; @@ -165,7 +165,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) { event.type = Common::EVENT_RBUTTONDOWN; else break; - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); if (event.mouse.x > _tapX) @@ -241,7 +241,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) { _rbutton = false; } - fillMouseEvent(event, ev.button.x, ev.button.y); + processMouseEvent(event, ev.button.x, ev.button.y); if (freeLookActive && !_closeClick) { _tapX = event.mouse.x; @@ -261,8 +261,7 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) { return true; case SDL_VIDEOEXPOSE: - // HACK: Send a fake event, handled by SdlGraphicsManager - event.type = (Common::EventType)OSystem_SDL::kSdlEventExpose; + _graphicsMan->notifyVideoExpose(); break; case SDL_QUIT: @@ -279,9 +278,8 @@ bool WINCESdlEventSource::pollEvent(Common::Event &event) { if (ev.active.state & SDL_APPINPUTFOCUS) { _graphicsMan->_hasfocus = ev.active.gain; SDL_PauseAudio(!_graphicsMan->_hasfocus); - if (_graphicsMan->_hasfocus) { - event.type = (Common::EventType)OSystem_SDL::kSdlEventExpose; - } + if (_graphicsMan->_hasfocus) + _graphicsMan->notifyVideoExpose(); } break; } diff --git a/backends/events/wincesdl/wincesdl-events.h b/backends/events/wincesdl/wincesdl-events.h index deeee6196c..5eff630c2a 100644 --- a/backends/events/wincesdl/wincesdl-events.h +++ b/backends/events/wincesdl/wincesdl-events.h @@ -43,7 +43,7 @@ public: // Overloaded from SDL backend (toolbar handling) bool pollEvent(Common::Event &event); // Overloaded from SDL backend (mouse and new scaler handling) - void fillMouseEvent(Common::Event &event, int x, int y); + void processMouseEvent(Common::Event &event, int x, int y); protected: |