]> icculus.org git repositories - btb/d2x.git/blob - input/svgalib/include/mouse.h
This commit was manufactured by cvs2svn to create tag 'd2x-0_0_9'.
[btb/d2x.git] / input / svgalib / 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/svgalib/include/mouse.h,v $
15  * $Revision: 1.1 $
16  * $Author: bradleyb $
17  * $Date: 2001-01-22 13:00:22 $
18  *
19  * Header for mouse functions
20  *
21  * $Log: not supported by cvs2svn $
22  * Revision 1.1.1.1  2001/01/19 03:30:15  bradleyb
23  * Import of d2x-0.0.8
24  *
25  * Revision 1.1.1.1  1999/06/14 22:01:46  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 "pstypes.h"
66 #include "fix.h"
67
68 #define MOUSE_MAX_BUTTONS       8
69
70 #define MB_LEFT                 0
71 #define MB_RIGHT                1
72 #define MB_MIDDLE               2
73 #define MB_Z_UP                 3
74 #define MB_Z_DOWN               4
75 #define MB_PITCH_BACKWARD       5
76 #define MB_PITCH_FORWARD        6
77 #define MB_BANK_LEFT            7
78 #define MB_BANK_RIGHT           8
79 #define MB_HEAD_LEFT            9
80 #define MB_HEAD_RIGHT           10
81
82 #define MOUSE_LBTN 1
83 #define MOUSE_RBTN 2
84 #define MOUSE_MBTN 4
85
86 #undef NOMOUSE
87 #ifndef NOMOUSE
88
89 //========================================================================
90 // Check for mouse driver, reset driver if installed. returns number of
91 // buttons if driver is present.
92
93 extern int mouse_set_limits( int x1, int y1, int x2, int y2 );
94 extern void mouse_flush();      // clears all mice events...
95
96 //========================================================================
97 extern void mouse_get_pos( int *x, int *y);
98 extern void mouse_get_delta( int *dx, int *dy );
99 extern int mouse_get_btns();
100 extern void mouse_set_pos( int x, int y);
101 extern void mouse_get_cyberman_pos( int *x, int *y );
102
103 // Returns how long this button has been down since last call.
104 extern fix mouse_button_down_time(int button);
105
106 // Returns how many times this button has went down since last call.
107 extern int mouse_button_down_count(int button);
108
109 // Returns 1 if this button is currently down
110 extern int mouse_button_state(int button);
111
112 #else
113 // 'Neutered' functions... :-)
114 #define mouse_init(a) -1
115 #define mouse_set_limits(a,b,c,d) -1
116 #define mouse_flush()
117 #define mouse_close()
118 #define mouse_get_pos(a,b)
119 #define mouse_get_delta(a,b)
120 #define mouse_get_btns() 0
121 #define mouse_set_pos(a,b)
122 #define mouse_get_cyberman_pos(a,b)
123 #define mouse_button_down_time(a) 0
124 #define mouse_button_down_count(a) 0
125 #define mouse_button_state(a) 0
126
127 #endif
128
129 #endif
130