Commit 629b9fa4 authored by Lionel Ulmer's avatar Lionel Ulmer Committed by Alexandre Julliard

Added buffered device access for DInput's mouse driver.

parent 63956827
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#define _WINE_DINPUT_H #define _WINE_DINPUT_H
#include "unknwn.h" #include "unknwn.h"
#include "mouse.h"
#define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn) #define STDMETHOD(xfn) HRESULT (CALLBACK *fn##xfn)
#define STDMETHOD_(ret,xfn) ret (CALLBACK *fn##xfn) #define STDMETHOD_(ret,xfn) ret (CALLBACK *fn##xfn)
...@@ -716,20 +717,36 @@ struct IDirectInputDevice32A { ...@@ -716,20 +717,36 @@ struct IDirectInputDevice32A {
}; };
/* "Standard" Mouse report... */ /* "Standard" Mouse report... */
struct DIMOUSESTATE { typedef struct DIMOUSESTATE {
LONG lX; LONG lX;
LONG lY; LONG lY;
LONG lZ; LONG lZ;
BYTE rgbButtons[4]; BYTE rgbButtons[4];
}; } DIMOUSESTATE;
#define DIMOFS_X FIELD_OFFSET(DIMOUSESTATE, lX)
#define DIMOFS_Y FIELD_OFFSET(DIMOUSESTATE, lY)
#define DIMOFS_Z FIELD_OFFSET(DIMOUSESTATE, lZ)
#define DIMOFS_BUTTON0 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 0)
#define DIMOFS_BUTTON1 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 1)
#define DIMOFS_BUTTON2 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 2)
#define DIMOFS_BUTTON3 (FIELD_OFFSET(DIMOUSESTATE, rgbButtons) + 3)
struct SysMouse32A { struct SysMouse32A {
LPDIRECTINPUTDEVICEA_VTABLE lpvtbl; LPDIRECTINPUTDEVICEA_VTABLE lpvtbl;
DWORD ref; DWORD ref;
GUID guid; GUID guid;
BYTE absolute; BYTE absolute;
/* Previous position for relative moves */ /* Previous position for relative moves */
LONG prevX; LONG prevX, prevY;
LONG prevY; LPMOUSE_EVENT_PROC prev_handler;
HWND32 win;
int xwin;
DWORD win_centerX, win_centerY;
LPDIDEVICEOBJECTDATA data_queue;
int queue_pos, queue_len;
int need_warp;
int acquired;
}; };
struct SysKeyboard32A { struct SysKeyboard32A {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment