载入中...
搜索中...
未找到
Mouse.h
浏览该文件的文档.
1#pragma once
2#include <map>
3
4#include "mouse/Mouse.h"
5#include "mouse/sdl/Cursor.h"
6
7
8namespace eve::mouse::sdl {
9
11class Mouse : public eve::mouse::Mouse {
12public:
13 Mouse();
14 virtual ~Mouse();
15
16 eve::mouse::Cursor *newCursor(eve::image::ImageData *data, int hotx, int hoty) override;
17 eve::mouse::Cursor *getSystemCursor(std::string cursortype) override;
18
19 void setCursor(eve::mouse::Cursor *cursor) override;
20 void setCursor() override;
21
22 eve::mouse::Cursor *getCursor() const override;
23
24 bool isCursorSupported() const override;
25
26 double getX() const override;
27 double getY() const override;
28 void getPosition(double &x, double &y) const override;
29 void setX(double x) override;
30 void setY(double y) override;
31 void setPosition(double x, double y) override;
32 void setVisible(bool visible) override;
33 bool isDown(const std::vector<int> &buttons) const override;
34 bool isVisible() const override;
35 void setGrabbed(bool grab) override;
36 bool isGrabbed() const override;
37 bool setRelativeMode(bool relative) override;
38 bool getRelativeMode() const override;
39
40private:
41 eve::mouse::Cursor * curCursor;
42 std::map<std::string, Cursor *> systemCursors;
43}; // Mouse
44
45} // namespace eve::mouse::sdl
int y
Definition Grass.cpp:135
int x
Definition Grass.cpp:135
Light2D::Data * data
Represents raw pixel data.
Definition ImageData.h:26
The Mouse class provides an interface for querying and manipulating the mouse cursor....
Definition Mouse.h:21
SDL 鼠标后端实现。
Definition Mouse.h:11
void setVisible(bool visible) override
Definition Mouse.cpp:150
bool isCursorSupported() const override
Definition Mouse.cpp:85
bool isGrabbed() const override
Definition Mouse.cpp:195
double getY() const override
Definition Mouse.cpp:101
eve::mouse::Cursor * newCursor(eve::image::ImageData *data, int hotx, int hoty) override
Definition Mouse.cpp:46
void setPosition(double x, double y) override
Definition Mouse.cpp:122
void setCursor() override
Definition Mouse.cpp:73
eve::mouse::Cursor * getSystemCursor(std::string cursortype) override
Definition Mouse.cpp:51
void setGrabbed(bool grab) override
Definition Mouse.cpp:188
void getPosition(double &x, double &y) const override
Definition Mouse.cpp:112
bool getRelativeMode() const override
Definition Mouse.cpp:209
void setX(double x) override
Definition Mouse.cpp:140
bool isVisible() const override
Definition Mouse.cpp:183
double getX() const override
Definition Mouse.cpp:90
bool setRelativeMode(bool relative) override
Definition Mouse.cpp:204
eve::mouse::Cursor * getCursor() const override
Definition Mouse.cpp:79
void setY(double y) override
Definition Mouse.cpp:145
bool isDown(const std::vector< int > &buttons) const override
Definition Mouse.cpp:155