add level component saving functions which use PhysicsFS (didn't commit properly...
[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.4 $
17  * $Author: bradleyb $
18  * $Date: 2001-11-14 11:02:55 $
19  *
20  * Header for mouse functions
21  *
22  * $Log: not supported by cvs2svn $
23  * Revision 1.3  2001/10/12 00:18:37  bradleyb
24  * Switched from Cygwin to mingw32 on MS boxes.  Vastly improved compilability.
25  *
26  * Revision 1.2  2001/01/31 16:31:13  bradleyb
27  * OpenGL support under Cygwin/SDL
28  *
29  * Revision 1.1  2001/01/28 05:46:33  bradleyb
30  * Unified arch headers
31  *
32  */
33
34 #ifndef MOUSE_H
35 #define MOUSE_H
36
37 #include "pstypes.h"
38 #include "fix.h"
39
40 #define MB_LEFT                 0
41 #define MB_RIGHT                1
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 #ifdef SDL_INPUT
81 extern void mouse_get_pos_z( int *x, int *y, int *z );
82 extern void mouse_get_delta_z( int *dx, int *dy, int *dz );
83 #endif
84 extern int mouse_get_btns();
85 extern void mouse_set_pos( int x, int y);
86 extern void mouse_get_cyberman_pos( int *x, int *y );
87
88 // Returns how long this button has been down since last call.
89 extern fix mouse_button_down_time(int button);
90
91 // Returns how many times this button has went down since last call.
92 extern int mouse_button_down_count(int button);
93
94 // Returns 1 if this button is currently down
95 extern int mouse_button_state(int button);
96
97
98 #endif