summaryrefslogtreecommitdiff
path: root/src/video
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-11-09 16:07:03 +0000
committerrubidium <rubidium@openttd.org>2009-11-09 16:07:03 +0000
commit88a7e238974e8de608ebdb6191e3d34ce25da44e (patch)
treec5f14ce7a2df826bbde3f6aa7924b0fafd404be4 /src/video
parentcbf4b80b86a3fec2e8021e618fd828e9953c464b (diff)
downloadopenttd-88a7e238974e8de608ebdb6191e3d34ce25da44e.tar.xz
(svn r18031) -Codechange: since basically r7157 adding up 'all' mouse movement isn't needed anymore because after each even that movement is handled and the counter is reset. As such simply assigning instead of adding works.
Diffstat (limited to 'src/video')
-rw-r--r--src/video/allegro_v.cpp4
-rw-r--r--src/video/sdl_v.cpp4
-rw-r--r--src/video/win32_v.cpp8
3 files changed, 8 insertions, 8 deletions
diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp
index 542422aef..4dc588159 100644
--- a/src/video/allegro_v.cpp
+++ b/src/video/allegro_v.cpp
@@ -379,8 +379,8 @@ static void PollEvent()
int dy = mouse_y - _cursor.pos.y;
if (dx != 0 || dy != 0) {
if (_cursor.fix_at) {
- _cursor.delta.x += dx;
- _cursor.delta.y += dy;
+ _cursor.delta.x = dx;
+ _cursor.delta.y = dy;
position_mouse(_cursor.pos.x, _cursor.pos.y);
} else {
_cursor.delta.x = dx;
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp
index 984556237..0e347645e 100644
--- a/src/video/sdl_v.cpp
+++ b/src/video/sdl_v.cpp
@@ -385,8 +385,8 @@ static int PollEvent()
int dx = ev.motion.x - _screen.width / 2;
int dy = ev.motion.y - _screen.height / 2;
if (dx != 0 || dy != 0) {
- _cursor.delta.x += dx;
- _cursor.delta.y += dy;
+ _cursor.delta.x = dx;
+ _cursor.delta.y = dy;
SDL_CALL SDL_WarpMouse(_screen.width / 2, _screen.height / 2);
}
} else {
diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp
index 31cc01471..57108f355 100644
--- a/src/video/win32_v.cpp
+++ b/src/video/win32_v.cpp
@@ -433,8 +433,8 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
int dx = x - _cursor.pos.x;
int dy = y - _cursor.pos.y;
if (dx != 0 || dy != 0) {
- _cursor.delta.x += dx;
- _cursor.delta.y += dy;
+ _cursor.delta.x = dx;
+ _cursor.delta.y = dy;
pt.x = _cursor.pos.x;
pt.y = _cursor.pos.y;
@@ -443,8 +443,8 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
SetCursorPos(pt.x, pt.y);
}
} else {
- _cursor.delta.x += x - _cursor.pos.x;
- _cursor.delta.y += y - _cursor.pos.y;
+ _cursor.delta.x = x - _cursor.pos.x;
+ _cursor.delta.y = y - _cursor.pos.y;
_cursor.pos.x = x;
_cursor.pos.y = y;
_cursor.dirty = true;