18 #include <boost/serialization/access.hpp>
19 #include <boost/serialization/nvp.hpp>
20 #include <boost/serialization/list.hpp>
21 #include <boost/serialization/map.hpp>
22 #include <boost/serialization/vector.hpp>
23 #include <boost/serialization/string.hpp>
24 #include <boost/archive/xml_oarchive.hpp>
25 #include <boost/archive/xml_iarchive.hpp>
37 TransitionUp = 0x00000001,
38 TransitionDown = 0x00000002,
40 ResetToZeroOnRelease = 0x00000008,
48 GameControlEvent() : controlEvent(0), flags(0), transitionValue(0), deviceIndex(-1) {};
51 controllerName(orig.controllerName), controllerGuid(orig.controllerGuid), deviceIndex(orig.deviceIndex)
81 bool transitionUp()
const {
return ((flags & TransitionUp) != 0); };
83 bool repeat()
const {
return ((flags & Repeat) != 0); };
85 bool reverse()
const {
return ((flags & Reverse) != 0); };
86 bool toggle()
const {
return ((flags & Toggle) != 0); };
87 bool setTo()
const {
return ((flags & SetTo) != 0); };
95 controlEvent = e->
clone();
101 return (controlEvent && rhs && (*controlEvent == *rhs));
107 return (controlEvent && controlEvent->isReleaseEvent(e));
115 eventType = controlEvent->myType;
122 return resetToZeroOnRelease();
139 friend class boost::serialization::access;
144 template<
class Archive>
145 void serialize(Archive & ar,
const unsigned int version)
149 ar & BOOST_SERIALIZATION_NVP(controllerName);
150 ar & BOOST_SERIALIZATION_NVP(controllerGuid);
151 ar & BOOST_SERIALIZATION_NVP(deviceIndex);
152 ar & BOOST_SERIALIZATION_NVP(flags);
153 ar & BOOST_SERIALIZATION_NVP(transitionValue);
155 if (Archive::is_loading::value)
157 ar & BOOST_SERIALIZATION_NVP(eventType);
172 controlEvent->
read(*(boost::archive::xml_iarchive*)&ar,version);
180 eventType = controlEvent->myType;
183 ar & BOOST_SERIALIZATION_NVP(eventType);
187 controlEvent->write(*(boost::archive::xml_oarchive*)&ar,version);
201 const std::string& controllerName,
const std::string& controllerGuid);
204 void addControllerEvent(
int flags,
double transitionValue,
205 const std::string& controllerName,
const std::string& controllerGuid);
218 return myControllerEvents;
223 return (myControllerEvents.size() != 0);
233 friend class boost::serialization::access;
238 template<
class Archive>
239 void serialize(Archive & ar,
const unsigned int version)
241 ar & BOOST_SERIALIZATION_NVP(myControllerEvents);
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
virtual void read(boost::archive::xml_iarchive &ar, int version)
Definition: gameControllerEvents.h:30
virtual DtGenericControllerEvent * clone() const =0
Definition: gameControllerEvents.h:33
#define DT_DLL_JOYSTICKCORE
Contains DLL export macros.
Definition: joystickCore.h:25
DtGameControllerKeyboardEvent class wraps a keyboard event.
Definition: gameControllerEvents.h:60
DtGameControllerJoystickEvent wraps a joystick event.
Definition: gameControllerEvents.h:91
Definition: gameControllerEvents.h:28
Definition: gameControllerEvents.h:29