2 * MOUSE driver interface
4 * Copyright 1998 Ulrich Weigand
12 struct tagCURSORICONINFO;
15 typedef struct _MOUSEINFO
26 } MOUSEINFO, *LPMOUSEINFO;
29 typedef VOID (CALLBACK *LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
31 WORD WINAPI MOUSE_Inquire(LPMOUSEINFO lpMouseInfo);
32 VOID WINAPI MOUSE_Enable(LPMOUSE_EVENT_PROC lpMouseEventProc);
33 VOID WINAPI MOUSE_Disable(VOID);
37 typedef struct tagMOUSE_DRIVER {
38 VOID (*pSetCursor)(struct tagCURSORICONINFO *);
39 VOID (*pMoveCursor)(WORD, WORD);
40 BOOL (*pEnableWarpPointer)(BOOL);
43 extern MOUSE_DRIVER *MOUSE_Driver;
45 #define WINE_MOUSEEVENT_MAGIC ( ('M'<<24)|('A'<<16)|('U'<<8)|'S' )
46 typedef struct _WINE_MOUSEEVENT
55 void MOUSE_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY,
56 DWORD keyState, DWORD time, HWND hWnd );
58 /***********************************
59 * MouseWheel support (defines)
62 #define MSH_MOUSEWHEEL "MSWHEEL_ROLLMSG"
64 #define WHEEL_DELTA 120
67 #define WM_MOUSEWHEEL (WM_MOUSELAST+1)
70 #define MOUSEZ_CLASSNAME "MouseZ"
71 #define MOUSEZ_TITLE "Magellan MSWHEEL"
73 #define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME)
74 #define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE)
76 #define MSH_WHEELSUPPORT "MSH_WHEELSUPPORT_MSG"
78 #define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG"
80 #ifndef WHEEL_PAGESCROLL
81 #define WHEEL_PAGESCROLL (UINT_MAX)
84 #ifndef SPI_SETWHEELSCROLLLINES
85 #define SPI_SETWHEELSCROLLLINES 105
90 ***********************************/
92 #endif /* __WINE_MOUSE_H */