00001
00018 #ifndef TRACKEDBUTTON_H
00019 #define TRACKEDBUTTON_H
00020
00021 #include "Event.H"
00022 #include "Fsa.H"
00023
00024 namespace IS3D {
00025
00026
00027 class TrackedButton
00028 {
00029 public:
00030 TrackedButton(const std::string &trackerEventNames,
00031 const std::string &btnDownEventNames,
00032 const std::string &btnUpEventNames,
00033 const std::string &newEventName);
00034
00035 static TrackedButton* fromConfigVals(const std::string &devname);
00036
00037 virtual ~TrackedButton();
00038
00039 private:
00040 void trackerMoved(EventRef e);
00041 void btnDown(EventRef e);
00042 void btnUp(EventRef e);
00043
00044 std::string _newEventName;
00045 CoordinateFrame _curFrame;
00046 };
00047
00048 }
00049
00050
00051 #endif