#pragma once #include "IHID.hpp" #include "../macros.hpp" #include "../helpers/math/Math.hpp" AQUAMARINE_FORWARD(ITouch); class ITouch : public IHID { public: virtual uint32_t getCapabilities(); virtual eHIDType getType(); virtual bool isVirtual() = 0; virtual SP aq() = 0; struct SDownEvent { uint32_t timeMs = 0; int32_t touchID = 0; Vector2D pos; SP device; }; struct SUpEvent { uint32_t timeMs = 0; int32_t touchID = 0; }; struct SMotionEvent { uint32_t timeMs = 0; int32_t touchID = 0; Vector2D pos; }; struct SCancelEvent { uint32_t timeMs = 0; int32_t touchID = 0; }; struct { CSignalT down; CSignalT up; CSignalT motion; CSignalT cancel; CSignalT<> frame; } m_touchEvents; std::string m_boundOutput = ""; WP m_self; };