TUIOInputModule.h 930 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <PolyInputEvent.h>
  3. #include <PolyCore.h>
  4. #include <PolyModule.h>
  5. #include "TuioListener.h"
  6. #include "TuioClient.h"
  7. #include "TuioObject.h"
  8. #include "TuioCursor.h"
  9. #include "TuioPoint.h"
  10. using namespace TUIO;
  11. using namespace Polycode;
  12. class TUIOEvent {
  13. public:
  14. std::vector<TouchInfo> touches;
  15. unsigned int type;
  16. TouchInfo touch;
  17. };
  18. class TUIOInputModule : public PolycodeModule, TuioListener {
  19. public:
  20. TUIOInputModule(int port);
  21. virtual ~TUIOInputModule();
  22. void addTuioObject(TuioObject *tobj);
  23. void updateTuioObject(TuioObject *tobj);
  24. void removeTuioObject(TuioObject *tobj);
  25. void addTuioCursor(TuioCursor *tcur);
  26. void updateTuioCursor(TuioCursor *tcur);
  27. void removeTuioCursor(TuioCursor *tcur);
  28. void refresh(TuioTime frameTime);
  29. void Update(Number elapsed);
  30. protected:
  31. CoreMutex *eventMutex;
  32. TuioClient *tuioClient;
  33. std::vector<TUIOEvent> events;
  34. };