aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/samsungtv
diff options
context:
space:
mode:
authorPaweł Kołodziejski2009-11-10 19:15:30 +0000
committerPaweł Kołodziejski2009-11-10 19:15:30 +0000
commitbbd8c302a3e624f23bb0dd2d81a7b32ecbe7435e (patch)
tree332bec4160d67b359332cbd03ffdda1cb0182f01 /backends/platform/samsungtv
parent2bb14776e4b0e8fcdbbe10668103833d33c61db2 (diff)
downloadscummvm-rg350-bbd8c302a3e624f23bb0dd2d81a7b32ecbe7435e.tar.gz
scummvm-rg350-bbd8c302a3e624f23bb0dd2d81a7b32ecbe7435e.tar.bz2
scummvm-rg350-bbd8c302a3e624f23bb0dd2d81a7b32ecbe7435e.zip
fix warpMouse(), add missing setMousePos on cursor events
svn-id: r45808
Diffstat (limited to 'backends/platform/samsungtv')
-rw-r--r--backends/platform/samsungtv/events.cpp4
-rw-r--r--backends/platform/samsungtv/graphics.cpp9
2 files changed, 9 insertions, 4 deletions
diff --git a/backends/platform/samsungtv/events.cpp b/backends/platform/samsungtv/events.cpp
index f477f9c4d2..385b16b6c9 100644
--- a/backends/platform/samsungtv/events.cpp
+++ b/backends/platform/samsungtv/events.cpp
@@ -124,24 +124,28 @@ bool OSystem_SDL_SamsungTV::remapKey(SDL_Event &ev, Common::Event &event) {
_km.y_down_count = 1;
event.type = Common::EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
+ setMousePos(event.mouse.x, event.mouse.y);
return true;
} else if (ev.key.keysym.sym == SDLK_DOWN) {
_km.y_vel = 1;
_km.y_down_count = 1;
event.type = Common::EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
+ setMousePos(event.mouse.x, event.mouse.y);
return true;
} else if (ev.key.keysym.sym == SDLK_LEFT) {
_km.x_vel = -1;
_km.x_down_count = 1;
event.type = Common::EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
+ setMousePos(event.mouse.x, event.mouse.y);
return true;
} else if (ev.key.keysym.sym == SDLK_RIGHT) {
_km.x_vel = 1;
_km.x_down_count = 1;
event.type = Common::EVENT_MOUSEMOVE;
fillMouseEvent(event, _km.x, _km.y);
+ setMousePos(event.mouse.x, event.mouse.y);
return true;
} else if (ev.key.keysym.sym == SDLK_z) {
event.type = Common::EVENT_LBUTTONDOWN;
diff --git a/backends/platform/samsungtv/graphics.cpp b/backends/platform/samsungtv/graphics.cpp
index 88f4674c54..79267b8628 100644
--- a/backends/platform/samsungtv/graphics.cpp
+++ b/backends/platform/samsungtv/graphics.cpp
@@ -541,6 +541,11 @@ void OSystem_SDL_SamsungTV::setFullscreenMode(bool enable) {
}
}
+void OSystem_SDL_SamsungTV::warpMouse(int x, int y) {
+ if (_mouseCurState.x != x || _mouseCurState.y != y)
+ setMousePos(x, y);
+}
+
void OSystem_SDL_SamsungTV::setMouseCursor(const byte *buf, uint w, uint h, int hotspot_x, int hotspot_y, uint32 keycolor, int cursorTargetScale, const Graphics::PixelFormat *format) {
if (!format)
_cursorFormat = Graphics::PixelFormat::createFormatCLUT8();
@@ -837,8 +842,4 @@ void OSystem_SDL_SamsungTV::drawMouse() {
addDirtyRect(dst.x, dst.y, dst.w, dst.h, true);
}
-void OSystem_SDL_SamsungTV::warpMouse(int x, int y) {
- setMousePos(x, y);
-}
-
#endif