]> icculus.org git repositories - btb/d2x.git/blob - arch/include/mouse.h
Better detecting of SDL and GL/GLU
[btb/d2x.git] / arch / 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-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 /*
15  * $Source: /cvs/cvsroot/d2x/arch/include/mouse.h,v $
16  * $Revision: 1.2 $
17  * $Author: bradleyb $
18  * $Date: 2001-01-31 16:31:13 $
19  *
20  * Header for mouse functions
21  *
22  * $Log: not supported by cvs2svn $
23  * Revision 1.1  2001/01/28 05:46:33  bradleyb
24  * Unified arch headers
25  *
26  */
27
28 #ifndef MOUSE_H
29 #define MOUSE_H
30
31 #include "pstypes.h"
32 #include "fix.h"
33
34 #define MB_LEFT                 0
35
36 #if defined(_WIN32) || defined(__CYGWIN__)
37 #undef MB_RIGHT 
38 #endif
39
40 #define MB_RIGHT                        1
41
42 #define MB_MIDDLE                       2
43 #define MB_Z_UP                 3
44 #define MB_Z_DOWN                       4
45 #define MB_PITCH_BACKWARD       5
46 #define MB_PITCH_FORWARD 6
47 #define MB_BANK_LEFT            7
48 #define MB_BANK_RIGHT   8
49 #define MB_HEAD_LEFT            9
50 #define MB_HEAD_RIGHT   10
51
52 #define MOUSE_LBTN 1
53 #define MOUSE_RBTN 2
54 #define MOUSE_MBTN 4
55
56 //========================================================================
57 // Check for mouse driver, reset driver if installed. returns number of
58 // buttons if driver is present.
59
60 #ifdef SVGALIB_INPUT
61 extern int d_mouse_init(int enable_cyberman); /* conflict with <vgamouse.h> */
62 #else
63 extern int mouse_init(int enable_cyberman);
64 #endif
65 /* changed from int to void */
66 extern void mouse_set_limits( int x1, int y1, int x2, int y2 );
67 extern void mouse_flush();      // clears all mice events...
68
69 //========================================================================
70 // Shutdowns mouse system.
71 #ifdef SVGALIB_INPUT
72 extern void d_mouse_close(); /* conflict with <vgamouse.h> */
73 #else
74 extern void mouse_close();
75 #endif
76
77 //========================================================================
78 extern void mouse_get_pos( int *x, int *y);
79 extern void mouse_get_delta( int *dx, int *dy );
80 extern int mouse_get_btns();
81 extern void mouse_set_pos( int x, int y);
82 extern void mouse_get_cyberman_pos( int *x, int *y );
83
84 // Returns how long this button has been down since last call.
85 extern fix mouse_button_down_time(int button);
86
87 // Returns how many times this button has went down since last call.
88 extern int mouse_button_down_count(int button);
89
90 // Returns 1 if this button is currently down
91 extern int mouse_button_state(int button);
92
93
94 #endif