Bubba-3D  0.9.0
Awesome game engine!
JoystickAxis.h
1 /*
2  * This file is part of Bubba-3D.
3  *
4  * Bubba-3D is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * Bubba-3D is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with Bubba-3D. If not, see http://www.gnu.org/licenses/.
16  */
17 //
18 // Created by simon on 2015-12-22.
19 //
20 
21 #ifndef BUBBA_3D_JOYSTICKAXIS_H
22 #define BUBBA_3D_JOYSTICKAXIS_H
23 
24 #include <SFML/Window.hpp>
25 #include <ControlStatus.h>
26 #include <Input.h>
27 #include <IJoystickTranslation.h>
28 
33 class JoystickAxis : public Input {
34 public:
35  enum Separation {POSITIVE,NEGATIVE};
36 
45  JoystickAxis(IJoystickTranslation::Axis axis, bool dual);
46 
51  JoystickAxis(IJoystickTranslation::Axis axis, Separation separation);
52 
59  JoystickAxis(IJoystickTranslation::Axis axisPos, IJoystickTranslation::Axis axisNeg);
60  ControlStatus getStatus();
61 
65  ControlStatus::Activator getActivator();
66 
74  static float removeDeadZone(float val);
75 
76 private:
77  IJoystickTranslation::Axis axisPos, axisNeg;
78  bool separated = false, doubleAxed = false;
79  Separation separation;
80 
81  ControlStatus getStatusSeparated();
82  ControlStatus getStatusNormal();
83 
84 };
85 
86 
87 #endif //BUBBA_3D_JOYSTICKAXIS_H
The class that contains information about a function at the state of creation.
Definition: ControlStatus.h:59
ControlStatus::Activator getActivator()
static float removeDeadZone(float val)
Definition: Input.h:26
JoystickAxis(IJoystickTranslation::Axis axis, bool dual)