//Interface to supported tablet APIs. #include #include typedef unsigned long ButtonMask; #ifdef TAB_WINTAB #include #include "MSGPACK.H" #include "wintab.h" typedef unsigned long ButtonMask; #endif struct Packet { float x; float y; float z; float p; ButtonMask buttons; bool operator==(const Packet& p) { return this->x == p.x && this->y == p.y && this->z == p.z && this->p == p.p && this->buttons == p.buttons; }; bool operator!=(const Packet& p) { return !(*this == p); } }; class Tablet { public: Tablet(uintptr_t handle); ~Tablet(); bool GetPacket( Packet &pkt ); bool initialized; std::string errormsg = ""; Packet ext = { 0 }; private: #ifdef TAB_WINTAB void NewContext(HWND hwnd); HCTX hctx = NULL; #endif };