]> icculus.org git repositories - btb/d2x.git/blob - arch/win32/include/mouse.h
include/*.bat, include/test.*: remove unnecessary files
[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  * $Source: /cvs/cvsroot/d2x/arch/win32/include/mouse.h,v $
15  * $Revision: 1.1.1.1 $
16  * $Author: bradleyb $
17  * $Date: 2001-01-19 03:30:15 $
18  *
19  * Header for mouse functions
20  *
21  * $Log: not supported by cvs2svn $
22  * Revision 1.2  1999/10/09 05:04:34  donut
23  * added mouse_init and mouse_close declarations
24  *
25  * Revision 1.1.1.1  1999/06/14 22:01:24  donut
26  * Import of d1x 1.37 source.
27  *
28  * Revision 1.10  1995/02/02  10:22:29  john
29  * Added cyberman init parameter.
30  * 
31  * Revision 1.9  1994/11/18  23:18:09  john
32  * Changed some shorts to ints.
33  * 
34  * Revision 1.8  1994/09/13  12:33:49  john
35  * Added functions to get down count and state.
36  * 
37  * Revision 1.7  1994/08/29  20:52:20  john
38  * Added better cyberman support; also, joystick calibration
39  * value return funcctiionn,
40  * 
41  * Revision 1.6  1994/08/24  17:54:35  john
42  * *** empty log message ***
43  * 
44  * Revision 1.5  1994/08/24  17:51:43  john
45  * Added transparent cyberman support
46  * 
47  * Revision 1.4  1993/07/27  09:32:22  john
48  * *** empty log message ***
49  * 
50  * Revision 1.3  1993/07/26  10:46:44  john
51  * added definition for mouse_set_pos
52  * 
53  * Revision 1.2  1993/07/22  13:07:59  john
54  * added header for mousesetlimts
55  * 
56  * Revision 1.1  1993/07/10  13:10:40  matt
57  * Initial revision
58  * 
59  *
60  */
61
62 #ifndef MOUSE_H
63 #define MOUSE_H
64
65 #include "types.h"
66 #include "fix.h"
67
68 #define MOUSE_MAX_BUTTONS       11
69
70 #define MB_LEFT                 0
71
72 #ifdef MB_RIGHT
73 #undef MB_RIGHT
74 #endif
75 #define MB_RIGHT                1
76 #define MB_MIDDLE               2
77 #define MB_Z_UP                 3
78 #define MB_Z_DOWN               4
79 #define MB_PITCH_BACKWARD       5
80 #define MB_PITCH_FORWARD        6
81 #define MB_BANK_LEFT            7
82 #define MB_BANK_RIGHT           8
83 #define MB_HEAD_LEFT            9
84 #define MB_HEAD_RIGHT           10
85
86 #define MOUSE_LBTN 1
87 #define MOUSE_RBTN 2
88 #define MOUSE_MBTN 4
89
90 #undef NOMOUSE
91 #ifndef NOMOUSE
92
93 extern int mouse_init(int unused);
94 extern void mouse_close(void);
95
96
97 //========================================================================
98 // Check for mouse driver, reset driver if installed. returns number of
99 // buttons if driver is present.
100
101 extern int mouse_set_limits( int x1, int y1, int x2, int y2 );
102 extern void mouse_flush();      // clears all mice events...
103
104 //========================================================================
105 extern void mouse_get_pos( int *x, int *y);
106 extern void mouse_get_delta( int *dx, int *dy );
107 extern int mouse_get_btns();
108 extern void mouse_set_pos( int x, int y);
109 extern void mouse_get_cyberman_pos( int *x, int *y );
110
111 // Returns how long this button has been down since last call.
112 extern fix mouse_button_down_time(int button);
113
114 // Returns how many times this button has went down since last call.
115 extern int mouse_button_down_count(int button);
116
117 // Returns 1 if this button is currently down
118 extern int mouse_button_state(int button);
119
120 #else
121 // 'Neutered' functions... :-)
122 #define mouse_init(a) -1
123 #define mouse_set_limits(a,b,c,d) -1
124 #define mouse_flush()
125 #define mouse_close()
126 #define mouse_get_pos(a,b)
127 #define mouse_get_delta(a,b)
128 #define mouse_get_btns() 0
129 #define mouse_set_pos(a,b)
130 #define mouse_get_cyberman_pos(a,b)
131 #define mouse_button_down_time(a) 0
132 #define mouse_button_down_count(a) 0
133 #define mouse_button_state(a) 0
134
135 #endif
136
137 #endif
138