blob: ff7374fc950690aaa202b0d2289fc96f8db84d09 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#pragma once
#include <optional>
#include <string>
#include <mglpp/system/vec.hpp>
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<CursorInfo> get_latest_cursor_info() = 0;
};
}
|