Release 990226.
[wine/gsoc-2012-control.git] / include / mouse.h
blob1de96ddddc3524c7c87d79de453b5c711da5d23d
1 /*
2 * MOUSE driver interface
4 * Copyright 1998 Ulrich Weigand
5 */
7 #ifndef __WINE_MOUSE_H
8 #define __WINE_MOUSE_H
10 #pragma pack(1)
11 typedef struct _MOUSEINFO
13 BYTE msExist;
14 BYTE msRelative;
15 WORD msNumButtons;
16 WORD msRate;
17 WORD msXThreshold;
18 WORD msYThreshold;
19 WORD msXRes;
20 WORD msYRes;
21 WORD msMouseCommPort;
22 } MOUSEINFO, *LPMOUSEINFO;
23 #pragma pack(4)
25 typedef VOID (CALLBACK *LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
27 WORD WINAPI MOUSE_Inquire(LPMOUSEINFO lpMouseInfo);
28 VOID WINAPI MOUSE_Enable(LPMOUSE_EVENT_PROC lpMouseEventProc);
29 VOID WINAPI MOUSE_Disable(VOID);
31 /* Wine internals */
33 #define WINE_MOUSEEVENT_MAGIC ( ('M'<<24)|('A'<<16)|('U'<<8)|'S' )
34 typedef struct _WINE_MOUSEEVENT
36 DWORD magic;
37 DWORD keyState;
38 DWORD time;
39 HWND hWnd;
41 } WINE_MOUSEEVENT;
43 void MOUSE_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY,
44 DWORD keyState, DWORD time, HWND hWnd );
46 /***********************************
47 * MouseWheel support (defines)
50 #define MSH_MOUSEWHEEL "MSWHEEL_ROLLMSG"
52 #define WHEEL_DELTA 120
54 #ifndef WM_MOUSEWHEEL
55 #define WM_MOUSEWHEEL (WM_MOUSELAST+1)
56 #endif
58 #define MOUSEZ_CLASSNAME "MouseZ"
59 #define MOUSEZ_TITLE "Magellan MSWHEEL"
61 #define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME)
62 #define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE)
64 #define MSH_WHEELSUPPORT "MSH_WHEELSUPPORT_MSG"
66 #define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG"
68 #ifndef WHEEL_PAGESCROLL
69 #define WHEEL_PAGESCROLL (UINT_MAX)
70 #endif
72 #ifndef SPI_SETWHEELSCROLLLINES
73 #define SPI_SETWHEELSCROLLLINES 105
74 #endif
77 /* MouseWheel support
78 ***********************************/
80 #endif /* __WINE_MOUSE_H */