aboutsummaryrefslogtreecommitdiff
path: root/backends/events/sdl
diff options
context:
space:
mode:
authorrsn88872017-02-18 12:25:47 -0600
committerrsn88872017-02-18 18:20:10 -0600
commitc0b095d793cf2ffa71830cc7d1ebb153ac70eccb (patch)
treeb1c2c3c7ee479f1f03739238f540e14789cd2ee7 /backends/events/sdl
parent75004c429c2eb114b28cbb8adb10c6e34b2716c0 (diff)
downloadscummvm-rg350-c0b095d793cf2ffa71830cc7d1ebb153ac70eccb.tar.gz
scummvm-rg350-c0b095d793cf2ffa71830cc7d1ebb153ac70eccb.tar.bz2
scummvm-rg350-c0b095d793cf2ffa71830cc7d1ebb153ac70eccb.zip
SDL: Cleanup, replaced _km.multiplier with #define
Diffstat (limited to 'backends/events/sdl')
-rw-r--r--backends/events/sdl/sdl-events.cpp68
-rw-r--r--backends/events/sdl/sdl-events.h3
2 files changed, 36 insertions, 35 deletions
diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp
index dccdef971b..378e0370fb 100644
--- a/backends/events/sdl/sdl-events.cpp
+++ b/backends/events/sdl/sdl-events.cpp
@@ -179,8 +179,8 @@ void SdlEventSource::processMouseEvent(Common::Event &event, int x, int y) {
}
// Update the "keyboard mouse" coords
- _km.x = x * _km.multiplier;
- _km.y = y * _km.multiplier;
+ _km.x = x * MULTIPLIER;
+ _km.y = y * MULTIPLIER;
}
bool SdlEventSource::handleKbdMouse(Common::Event &event) {
@@ -207,36 +207,36 @@ bool SdlEventSource::handleKbdMouse(Common::Event &event) {
if (_km.x_down_count) {
if (curTime > _km.x_down_time + 300) {
if (_km.x_vel > 0)
- _km.x_vel += _km.multiplier;
+ _km.x_vel += MULTIPLIER;
else
- _km.x_vel -= _km.multiplier;
+ _km.x_vel -= MULTIPLIER;
} else if (curTime > _km.x_down_time + 200) {
if (_km.x_vel > 0)
- _km.x_vel = 5 * _km.multiplier;
+ _km.x_vel = 5 * MULTIPLIER;
else
- _km.x_vel = -5 * _km.multiplier;
+ _km.x_vel = -5 * MULTIPLIER;
}
}
if (_km.y_down_count) {
if (curTime > _km.y_down_time + 300) {
if (_km.y_vel > 0)
- _km.y_vel += _km.multiplier;
+ _km.y_vel += MULTIPLIER;
else
- _km.y_vel -= _km.multiplier;
+ _km.y_vel -= MULTIPLIER;
} else if (curTime > _km.y_down_time + 200) {
if (_km.y_vel > 0)
- _km.y_vel = 5 * _km.multiplier;
+ _km.y_vel = 5 * MULTIPLIER;
else
- _km.y_vel = -5 * _km.multiplier;
+ _km.y_vel = -5 * MULTIPLIER;
}
}
- // The modifier key makes the mouse movement slower
- // The extra factor of delay/25 makes velocities
- // independent of kbdMouse update rate
- // all velovities were originally chosen
- // at a delay of 25, so that is the reference
- // operator order is important to avoid overflow
+ // - The modifier key makes the mouse movement slower
+ // - The extra factor "delay/25" ensures velocities
+ // are independent of the kbdMouse update rate
+ // - all velocities were originally chosen
+ // at a delay of 25, so that is the reference used here
+ // - note: operator order is important to avoid overflow
if (_km.modifier) {
_km.x += ((_km.x_vel / 10) * ((int16)_km.delay_time)) / 25;
_km.y += ((_km.y_vel / 10) * ((int16)_km.delay_time)) / 25;
@@ -247,31 +247,31 @@ bool SdlEventSource::handleKbdMouse(Common::Event &event) {
if (_km.x < 0) {
_km.x = 0;
- _km.x_vel = -1 * _km.multiplier;
+ _km.x_vel = -1 * MULTIPLIER;
_km.x_down_count = 1;
- } else if (_km.x > _km.x_max * _km.multiplier) {
- _km.x = _km.x_max * _km.multiplier;
- _km.x_vel = 1 * _km.multiplier;
+ } else if (_km.x > _km.x_max * MULTIPLIER) {
+ _km.x = _km.x_max * MULTIPLIER;
+ _km.x_vel = 1 * MULTIPLIER;
_km.x_down_count = 1;
}
if (_km.y < 0) {
_km.y = 0;
- _km.y_vel = -1 * _km.multiplier;
+ _km.y_vel = -1 * MULTIPLIER;
_km.y_down_count = 1;
- } else if (_km.y > _km.y_max * _km.multiplier) {
- _km.y = _km.y_max * _km.multiplier;
- _km.y_vel = 1 * _km.multiplier;
+ } else if (_km.y > _km.y_max * MULTIPLIER) {
+ _km.y = _km.y_max * MULTIPLIER;
+ _km.y_vel = 1 * MULTIPLIER;
_km.y_down_count = 1;
}
if (_graphicsManager) {
- _graphicsManager->getWindow()->warpMouseInWindow((Uint16)(_km.x / _km.multiplier), (Uint16)(_km.y / _km.multiplier));
+ _graphicsManager->getWindow()->warpMouseInWindow((Uint16)(_km.x / MULTIPLIER), (Uint16)(_km.y / MULTIPLIER));
}
if (_km.x != oldKmX || _km.y != oldKmY) {
event.type = Common::EVENT_MOUSEMOVE;
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
return true;
}
}
@@ -517,7 +517,7 @@ bool SdlEventSource::dispatchSDLEvent(SDL_Event &ev, Common::Event &event) {
// with a mouse wheel event. However, SDL2 does not supply
// these, thus we use whatever we got last time. It seems
// these are always stored in _km.x, _km.y.
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
if (yDir < 0) {
event.type = Common::EVENT_WHEELDOWN;
return true;
@@ -744,10 +744,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;
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
} else if (ev.jbutton.button == JOY_BUT_RMOUSE) {
event.type = Common::EVENT_RBUTTONDOWN;
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
} else {
event.type = Common::EVENT_KEYDOWN;
switch (ev.jbutton.button) {
@@ -775,10 +775,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;
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
} else if (ev.jbutton.button == JOY_BUT_RMOUSE) {
event.type = Common::EVENT_RBUTTONUP;
- processMouseEvent(event, _km.x / _km.multiplier, _km.y / _km.multiplier);
+ processMouseEvent(event, _km.x / MULTIPLIER, _km.y / MULTIPLIER);
} else {
event.type = Common::EVENT_KEYUP;
switch (ev.jbutton.button) {
@@ -808,7 +808,7 @@ bool SdlEventSource::handleJoyAxisMotion(SDL_Event &ev, Common::Event &event) {
int axis = ev.jaxis.value;
#ifdef JOY_ANALOG
// conversion factor between keyboard mouse and joy axis value
- int vel_to_axis = (1500 / _km.multiplier);
+ int vel_to_axis = (1500 / MULTIPLIER);
#else
if (axis > JOY_DEADZONE) {
axis -= JOY_DEADZONE;
@@ -824,7 +824,7 @@ bool SdlEventSource::handleJoyAxisMotion(SDL_Event &ev, Common::Event &event) {
_km.x_down_count = 0;
#else
if (axis != 0) {
- _km.x_vel = (axis > 0) ? 1 * _km.multiplier:-1 * _km.multiplier;
+ _km.x_vel = (axis > 0) ? 1 * MULTIPLIER:-1 * MULTIPLIER;
_km.x_down_count = 1;
} else {
_km.x_vel = 0;
@@ -840,7 +840,7 @@ bool SdlEventSource::handleJoyAxisMotion(SDL_Event &ev, Common::Event &event) {
_km.y_down_count = 0;
#else
if (axis != 0) {
- _km.y_vel = (-axis > 0) ? 1 * _km.multiplier: -1 * _km.multiplier;
+ _km.y_vel = (-axis > 0) ? 1 * MULTIPLIER: -1 * MULTIPLIER;
_km.y_down_count = 1;
} else {
_km.y_vel = 0;
diff --git a/backends/events/sdl/sdl-events.h b/backends/events/sdl/sdl-events.h
index c1d6057dac..334bf8acfc 100644
--- a/backends/events/sdl/sdl-events.h
+++ b/backends/events/sdl/sdl-events.h
@@ -28,6 +28,8 @@
#include "common/events.h"
+// multiplier used to increase resolution for keyboard/joystick mouse
+#define MULTIPLIER 16
/**
* The SDL event source.
@@ -59,7 +61,6 @@ protected:
struct KbdMouse {
int16 x, y, x_vel, y_vel, x_max, y_max, x_down_count, y_down_count;
- static const int16 multiplier = 16;
uint32 last_time, delay_time, x_down_time, y_down_time;
bool modifier;
};