FlightGear next
jssuper.h
Go to the documentation of this file.
1// jssuper.h -- manage access to multiple joysticks
2//
3// Written by Tony Peden, started May 2001
4//
5// Copyright (C) 2001 Tony Peden (apeden@earthlink.net)
6//
7// This program is free software; you can redistribute it and/or
8// modify it under the terms of the GNU General Public License as
9// published by the Free Software Foundation; either version 2 of the
10// License, or (at your option) any later version.
11//
12// This program is distributed in the hope that it will be useful, but
13// WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15// General Public License for more details.
16//
17// You should have received a copy of the GNU General Public License
18// along with this program; if not, write to the Free Software
19// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21#ifndef _JSSUPER_H
22#define _JSSUPER_H
23
24#include <config.h>
25
26#include "FlightGear_js.h"
27
28#define MAX_JOYSTICKS 8
29
30class jsSuper {
31 private:
32 int activeJoysticks;
33 int active[MAX_JOYSTICKS];
34 int currentJoystick;
35 int first, last;
36 jsJoystick* js[MAX_JOYSTICKS];
37
38 public:
39 jsSuper(void);
40 ~jsSuper(void);
41
42 inline int getNumJoysticks(void) { return activeJoysticks; }
43
44 inline int atFirst(void) { return currentJoystick == first; }
45 inline int atLast(void) { return currentJoystick == last; }
46
47 inline void firstJoystick(void) { currentJoystick=first; }
48 inline void lastJoystick(void) { currentJoystick=last; }
49
50 int nextJoystick(void);
51 int prevJoystick(void);
52
53 inline jsJoystick* getJoystick(int Joystick)
54 { currentJoystick=Joystick; return js[Joystick]; }
55
56 inline jsJoystick* getJoystick(void) { return js[currentJoystick]; }
57
58 inline int getCurrentJoystickId(void) { return currentJoystick; }
59};
60
61#endif
int atFirst(void)
Definition jssuper.h:44
void lastJoystick(void)
Definition jssuper.h:48
~jsSuper(void)
Definition jssuper.cxx:71
void firstJoystick(void)
Definition jssuper.h:47
int prevJoystick(void)
Definition jssuper.cxx:59
int atLast(void)
Definition jssuper.h:45
jsJoystick * getJoystick(void)
Definition jssuper.h:56
int nextJoystick(void)
Definition jssuper.cxx:50
jsSuper(void)
Definition jssuper.cxx:25
jsJoystick * getJoystick(int Joystick)
Definition jssuper.h:53
int getNumJoysticks(void)
Definition jssuper.h:42
int getCurrentJoystickId(void)
Definition jssuper.h:58
#define MAX_JOYSTICKS
Definition jssuper.h:28