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