CVS: winex/dlls/dinput/mouse main.c,1.72,1.73
[email protected] 30 Mar 2007 22:07:14 -0000
Newsgroups
gmane.comp.emulators.winex.cvs
Message-ID
<[email protected] >
Subject: winex/dlls/dinput/mouse main.c,1.72,1.73Update of /var/lib/cvsd/cvsroot/winex/dlls/dinput/mouse
In directory agravaine:/tmp/cvs-serv28593/dlls/dinput/mouse
Modified Files:
main.c
Log Message:
Rewrote an incorrect mouse sensitivity change, and cleaned up a little.
Index: main.c
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/dlls/dinput/mouse/main.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- main.c 30 Mar 2007 22:06:20 -0000 1.72
+++ main.c 30 Mar 2007 22:07:12 -0000 1.73
@@ -535,6 +535,7 @@
SetEvent(This->hEvent);
if (wparam == WM_MOUSEMOVE) {
+ LONG dX = 0, dY = 0;
TRACE("input: X=%ld, Y=%ld\n", hook->pt.x, hook->pt.y);
if (!WARP_CONDITION(This)) {
if (hook->flags & LLMHF_INJECTED) {
@@ -547,23 +548,25 @@
This->prevY = hook->pt.y;
goto end;
} else {
- This->m_state.lX += (hook->pt.x - This->prevX);
- This->m_state.lY += (hook->pt.y - This->prevY);
+ dX = (hook->pt.x - This->prevX) * defaultAbsoluteMouseSensitivity;
+ dY = (hook->pt.y - This->prevY) * defaultAbsoluteMouseSensitivity;
+ This->m_state.lX += dX;
+ This->m_state.lY += dY;
+ This->prevX = hook->pt.x;
+ This->prevY = hook->pt.y;
}
- if (hook->pt.x != This->prevX) {
+ if (dX) {
if (This->absolute)
- GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], This->m_state.lX * defaultAbsoluteMouseSensitivity, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], This->m_state.lX, hook->time, (This->dinput->evsequence)++)
else
- GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], hook->pt.x - This->prevX, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], dX, hook->time, (This->dinput->evsequence)++)
}
- if (hook->pt.y != This->prevY) {
+ if (dY) {
if (This->absolute)
- GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], This->m_state.lY * defaultAbsoluteMouseSensitivity, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], This->m_state.lY, hook->time, (This->dinput->evsequence)++)
else
- GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], hook->pt.y - This->prevY, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], dY, hook->time, (This->dinput->evsequence)++)
}
- This->prevX = hook->pt.x;
- This->prevY = hook->pt.y;
} else {
int max_x, max_y;
int min_x, min_y;
@@ -602,9 +605,13 @@
goto end;
}
- This->m_state.lX += hook->pt.x - This->prevX;
- This->m_state.lY += hook->pt.y - This->prevY;
-
+ dX = (hook->pt.x - This->prevX) * defaultAbsoluteMouseSensitivity;
+ dY = (hook->pt.y - This->prevY) * defaultAbsoluteMouseSensitivity;
+ This->m_state.lX += dX;
+ This->m_state.lY += dY;
+ This->prevX = hook->pt.x;
+ This->prevY = hook->pt.y;
+
#ifdef MOUSE_HACK
if ((This->need_warp == WARP_DONE) &&
(hook->pt.x == This->mapped_center.x) && (hook->pt.y == This->mapped_center.y))
@@ -615,18 +622,18 @@
}
#endif
/* Relative mouse input with absolute mouse event : the real fun starts here... */
- if (hook->pt.x != This->prevX) {
+ if (dX) {
if (This->absolute)
- GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], This->m_state.lX * defaultAbsoluteMouseSensitivity, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], This->m_state.lX, hook->time, (This->dinput->evsequence)++)
else
- GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], hook->pt.x - This->prevX, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_X_POSITION], dX, hook->time, (This->dinput->evsequence)++)
changed = TRUE;
}
- if (hook->pt.y != This->prevY) {
+ if (dY) {
if (This->absolute)
- GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], This->m_state.lY * defaultAbsoluteMouseSensitivity, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], This->m_state.lY, hook->time, (This->dinput->evsequence)++)
else
- GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], hook->pt.y - This->prevY, hook->time, (This->dinput->evsequence)++)
+ GEN_EVENT(This->offset_array[WINE_MOUSE_Y_POSITION], dY, hook->time, (This->dinput->evsequence)++)
changed = TRUE;
}
if (changed) {
@@ -651,8 +658,6 @@
This->abs_prev_point.x = hook->pt.x;
This->abs_prev_point.y = hook->pt.y;
}
- This->prevX = hook->pt.x;
- This->prevY = hook->pt.y;
hook->pt.x = This->abs_pretend_point.x;
hook->pt.y = This->abs_pretend_point.y;
}
@@ -742,15 +747,12 @@
case WM_MOUSEWHEEL:
wdata = (short)HIWORD(hook->mouseData);
This->m_state.lZ += wdata;
- if ( This->absolute ) {
+ if (This->absolute)
GEN_EVENT(This->offset_array[WINE_MOUSE_Z_POSITION], This->m_state.lZ,
- hook->time, This->dinput->evsequence++);
- }
- else {
+ hook->time, This->dinput->evsequence++)
+ else
GEN_EVENT(This->offset_array[WINE_MOUSE_Z_POSITION], wdata,
- hook->time, This->dinput->evsequence++);
- }
-
+ hook->time, This->dinput->evsequence++)
break;
}