#pragma once #include #include #include namespace gsr { struct CursorInfo { mgl::vec2i position; std::string monitor_name; }; class CursorTracker { public: CursorTracker() = default; CursorTracker(const CursorTracker&) = delete; CursorTracker& operator=(const CursorTracker&) = delete; virtual ~CursorTracker() = default; virtual void update() = 0; virtual std::optional get_latest_cursor_info() = 0; }; }