#include "globals.hpp" #define private public #include #undef private #include class CDynamicCursors; class CDynamicCursors { public: /* hook on onCursorMoved */ void onCursorMoved(CPointerManager* pointers); /* hook on renderSoftwareCursorsFor */ void renderSoftware(CPointerManager* pointers, SP pMonitor, timespec* now, CRegion& damage, std::optional overridePos); /* hook on damageIfSoftware*/ void damageSoftware(CPointerManager* pointers); /* hook on renderHWCursorBuffer */ wlr_buffer* renderHardware(CPointerManager* pointers, SP state, SP texture); /* hook on setHWCursorBuffer */ bool setHardware(CPointerManager* pointers, SP state, wlr_buffer* buf); private: // calculates the current angle of the cursor double calculate(Vector2D* pos); // this is the end of the virtual stick Vector2D end; }; inline std::unique_ptr g_pDynamicCursors;