]> icculus.org git repositories - btb/d2x.git/blob - arch/win32/include/mouse.h
move mingw to arch/win64
[btb/d2x.git] / arch / win32 / include / mouse.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13 /*
14  *
15  * Header for mouse functions
16  *
17  *
18  */
19
20 #ifndef MOUSE_H
21 #define MOUSE_H
22
23 #include "types.h"
24 #include "fix.h"
25
26 #define MOUSE_MAX_BUTTONS       11
27
28 #define MBTN_LEFT           0
29 #define MBTN_RIGHT          1
30 #define MBTN_MIDDLE         2
31 #define MBTN_Z_UP           3
32 #define MBTN_Z_DOWN         4
33 #define MBTN_PITCH_BACKWARD 5
34 #define MBTN_PITCH_FORWARD  6
35 #define MBTN_BANK_LEFT      7
36 #define MBTN_BANK_RIGHT     8
37 #define MBTN_HEAD_LEFT      9
38 #define MBTN_HEAD_RIGHT     10
39
40 #define MOUSE_LBTN 1
41 #define MOUSE_RBTN 2
42 #define MOUSE_MBTN 4
43
44 #undef NOMOUSE
45 #ifndef NOMOUSE
46
47 extern int mouse_init(int unused);
48 extern void mouse_close(void);
49
50
51 //========================================================================
52 // Check for mouse driver, reset driver if installed. returns number of
53 // buttons if driver is present.
54
55 extern int mouse_set_limits( int x1, int y1, int x2, int y2 );
56 extern void mouse_flush();      // clears all mice events...
57
58 //========================================================================
59 extern void mouse_get_pos( int *x, int *y);
60 extern void mouse_get_delta( int *dx, int *dy );
61 extern int mouse_get_btns();
62 extern void mouse_set_pos( int x, int y);
63 extern void mouse_get_cyberman_pos( int *x, int *y );
64
65 // Returns how long this button has been down since last call.
66 extern fix mouse_button_down_time(int button);
67
68 // Returns how many times this button has went down since last call.
69 extern int mouse_button_down_count(int button);
70
71 // Returns 1 if this button is currently down
72 extern int mouse_button_state(int button);
73
74 #else
75 // 'Neutered' functions... :-)
76 #define mouse_init(a) -1
77 #define mouse_set_limits(a,b,c,d) -1
78 #define mouse_flush()
79 #define mouse_close()
80 #define mouse_get_pos(a,b)
81 #define mouse_get_delta(a,b)
82 #define mouse_get_btns() 0
83 #define mouse_set_pos(a,b)
84 #define mouse_get_cyberman_pos(a,b)
85 #define mouse_button_down_time(a) 0
86 #define mouse_button_down_count(a) 0
87 #define mouse_button_state(a) 0
88
89 #endif
90
91 #endif
92