New examples/documentation for console configuration options.
[wine] / include / mouse.h
1 /*
2  * MOUSE driver interface
3  *
4  * Copyright 1998 Ulrich Weigand
5  */
6
7 #ifndef __WINE_MOUSE_H
8 #define __WINE_MOUSE_H
9
10 #pragma pack(1)
11 typedef struct _MOUSEINFO
12 {
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)
24
25 typedef VOID (CALLBACK *LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
26
27 WORD WINAPI MOUSE_Inquire(LPMOUSEINFO lpMouseInfo);
28 VOID WINAPI MOUSE_Enable(LPMOUSE_EVENT_PROC lpMouseEventProc);
29 VOID WINAPI MOUSE_Disable(VOID);
30
31 /* Wine internals */
32
33 #define WINE_MOUSEEVENT_MAGIC  ( ('M'<<24)|('A'<<16)|('U'<<8)|'S' )
34 typedef struct _WINE_MOUSEEVENT
35 {
36     DWORD magic;
37     DWORD keyState;
38     DWORD time;
39     HWND32 hWnd;
40
41 } WINE_MOUSEEVENT;
42
43 void MOUSE_SendEvent( DWORD mouseStatus, DWORD posX, DWORD posY,
44                       DWORD keyState, DWORD time, HWND32 hWnd );
45
46 /***********************************
47  *      MouseWheel support (defines)
48  */
49
50 #define MSH_MOUSEWHEEL "MSWHEEL_ROLLMSG"
51
52 #define WHEEL_DELTA      120
53
54 #ifndef WM_MOUSEWHEEL
55 #define WM_MOUSEWHEEL (WM_MOUSELAST+1)
56 #endif
57
58 #define MOUSEZ_CLASSNAME  "MouseZ"          
59 #define MOUSEZ_TITLE      "Magellan MSWHEEL"
60
61 #define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME)
62 #define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE)
63
64 #define MSH_WHEELSUPPORT "MSH_WHEELSUPPORT_MSG"
65
66 #define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG"
67
68 #ifndef  WHEEL_PAGESCROLL  
69 #define WHEEL_PAGESCROLL  (UINT_MAX)
70 #endif 
71
72 #ifndef SPI_SETWHEELSCROLLLINES
73 #define SPI_SETWHEELSCROLLLINES   105
74 #endif
75
76
77 /*      MouseWheel support
78 ***********************************/
79
80 #endif /* __WINE_MOUSE_H */
81