AntiMicroX
vdpad.h
Go to the documentation of this file.
1 /* antimicrox Gamepad to KB+M event mapper
2  * Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3  * Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9 
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14 
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef VDPAD_H
20 #define VDPAD_H
21 
22 #include "joydpad.h"
23 
24 #include <QPointer>
25 
26 class VDPad : public JoyDPad
27 {
28  Q_OBJECT
29 
30  public:
31  explicit VDPad(int index, int originset, SetJoystick *parentSet, QObject *parent);
33  int originset, SetJoystick *parentSet, QObject *parent);
34  ~VDPad();
35 
36  void joyEvent(bool pressed, bool ignoresets = false);
37  void addVButton(JoyDPadButton::JoyDPadDirections direction, JoyButton *button);
39  void removeVButton(JoyButton *button);
41  bool isEmpty();
42  virtual QString getName(bool forceFullFormat = false, bool displayName = false) override;
43  virtual QString getXmlName() override;
44 
45  void queueJoyEvent(bool ignoresets = false);
46  bool hasPendingEvent();
47  void clearPendingEvent();
48 
49  JoyButton *getUpButton() const;
50  JoyButton *getDownButton() const;
51  JoyButton *getLeftButton() const;
52  JoyButton *getRightButton() const;
53  bool getPendingVDPadEvent() const;
54 
55  public slots:
56  void activatePendingEvent();
57 
58  private:
59  QPointer<JoyButton> upButton;
60  QPointer<JoyButton> downButton;
61  QPointer<JoyButton> leftButton;
62  QPointer<JoyButton> rightButton;
64 };
65 
66 #endif // VDPAD_H
VDPad::getPendingVDPadEvent
bool getPendingVDPadEvent() const
Definition: vdpad.cpp:293
VDPad::isEmpty
bool isEmpty()
Definition: vdpad.cpp:221
VDPad::downButton
QPointer< JoyButton > downButton
Definition: vdpad.h:60
globalvariables.h
VDPad::queueJoyEvent
void queueJoyEvent(bool ignoresets=false)
Definition: vdpad.cpp:264
JoyDPadButton::DpadDown
@ DpadDown
Definition: joydpadbutton.h:46
VDPad::getRightButton
JoyButton * getRightButton() const
Definition: vdpad.cpp:291
JoyDPadButton::DpadLeft
@ DpadLeft
Definition: joydpadbutton.h:47
VDPad::joyEvent
void joyEvent(bool pressed, bool ignoresets=false)
Definition: vdpad.cpp:109
VDPad::getUpButton
JoyButton * getUpButton() const
Definition: vdpad.cpp:285
JoyDPadButton::DpadRight
@ DpadRight
Definition: joydpadbutton.h:45
JoyDPadButton::DpadUp
@ DpadUp
Definition: joydpadbutton.h:44
SetJoystick
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition: setjoystick.h:39
VDPad::clearPendingEvent
void clearPendingEvent()
Definition: vdpad.cpp:283
VDPad::getVButton
JoyButton * getVButton(JoyDPadButton::JoyDPadDirections direction)
Definition: vdpad.cpp:233
VDPad::~VDPad
~VDPad()
Definition: vdpad.cpp:55
GlobalVariables::VDPad::xmlName
static const QString xmlName
Definition: globalvariables.h:188
VDPad::activatePendingEvent
void activatePendingEvent()
Definition: vdpad.cpp:271
VDPad::hasPendingEvent
bool hasPendingEvent()
Definition: vdpad.cpp:262
vdpad.h
VDPad::VDPad
VDPad(int index, int originset, SetJoystick *parentSet, QObject *parent)
Definition: vdpad.cpp:25
VDPad::leftButton
QPointer< JoyButton > leftButton
Definition: vdpad.h:61
VDPad::getDownButton
JoyButton * getDownButton() const
Definition: vdpad.cpp:287
VDPad
Definition: vdpad.h:26
VDPad::addVButton
void addVButton(JoyDPadButton::JoyDPadDirections direction, JoyButton *button)
Definition: vdpad.cpp:134
VDPad::getXmlName
virtual QString getXmlName() override
Definition: vdpad.cpp:82
JoyDPad::joyEvent
void joyEvent(int value, bool ignoresets=false)
Definition: joydpad.cpp:143
JoyDPad
Definition: joydpad.h:24
JoyButton
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition: joybutton.h:46
VDPad::rightButton
QPointer< JoyButton > rightButton
Definition: vdpad.h:62
JoyDPadButton::JoyDPadDirections
JoyDPadDirections
Definition: joydpadbutton.h:41
VDPad::removeVButton
void removeVButton(JoyDPadButton::JoyDPadDirections direction)
Definition: vdpad.cpp:179
JoyDPad::getRealJoyNumber
int getRealJoyNumber()
Definition: joydpad.cpp:111
VDPad::upButton
QPointer< JoyButton > upButton
Definition: vdpad.h:59
JoyDPad::getDefaultDpadName
const QString getDefaultDpadName()
Definition: joydpad.cpp:515
joydpad.h
number
it is up to the author donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License If the distribution and or use of the Library is restricted in certain countries either by patents or by copyrighted the original copyright holder who places the Library under this License may add an geographical distribution limitation excluding those so that distribution is permitted only in or among countries not thus excluded In such this License incorporates the limitation as if written in the body of this License The Free Software Foundation may publish revised and or new versions of the Lesser General Public License from time to time Such new versions will be similar in spirit to the present but may differ in detail to address new problems or concerns Each version is given a distinguishing version number If the Library specifies a version number of this License which applies to it and any later you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation If the Library does not specify a license version number
Definition: lgpl-2.1.txt:423
VDPad::getLeftButton
JoyButton * getLeftButton() const
Definition: vdpad.cpp:289
JoyDPadButton::DpadCentered
@ DpadCentered
Definition: joydpadbutton.h:43
VDPad::getName
virtual QString getName(bool forceFullFormat=false, bool displayName=false) override
Definition: vdpad.cpp:84
VDPad::pendingVDPadEvent
bool pendingVDPadEvent
Definition: vdpad.h:63
JoyDPad::getDpadName
const QString getDpadName()
Definition: joydpad.cpp:513