mirror of
https://github.com/godotengine/godot.git
synced 2026-01-06 10:11:57 +03:00
- more fixes on #672 on windows
- added #660, but need help on osx, help please I don't have a mac! - fixed #667 and #668 (eol detection in comments) - added #670 (hint when using method without () )
This commit is contained in:
@@ -129,6 +129,7 @@ public:
|
||||
virtual void set_mouse_show(bool p_show);
|
||||
virtual void set_mouse_grab(bool p_grab);
|
||||
virtual bool is_mouse_grab_enabled() const;
|
||||
virtual void warp_mouse_pos(const Point2& p_to);
|
||||
virtual Point2 get_mouse_pos() const;
|
||||
virtual int get_mouse_button_state() const;
|
||||
virtual void set_window_title(const String& p_title);
|
||||
|
||||
@@ -1067,6 +1067,12 @@ bool OS_OSX::is_mouse_grab_enabled() const {
|
||||
|
||||
return mouse_grab;
|
||||
}
|
||||
|
||||
void OS_OSX::warp_mouse_pos(const Point2& p_to) {
|
||||
|
||||
//not done, must be done
|
||||
}
|
||||
|
||||
Point2 OS_OSX::get_mouse_pos() const {
|
||||
|
||||
return Vector2(mouse_x,mouse_y);
|
||||
|
||||
@@ -1323,11 +1323,25 @@ void OS_Windows::set_mouse_mode(MouseMode p_mode) {
|
||||
|
||||
OS_Windows::MouseMode OS_Windows::get_mouse_mode() const{
|
||||
|
||||
|
||||
return mouse_mode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void OS_Windows::warp_mouse_pos(const Point2& p_to) {
|
||||
|
||||
if (p_mode==MOUSE_MODE_CAPTURED) {
|
||||
|
||||
old_x=p_to.x;
|
||||
old_y=p_to.y;
|
||||
} else {
|
||||
|
||||
SetCursorPos(p_to.x, p_to.y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Point2 OS_Windows::get_mouse_pos() const {
|
||||
|
||||
return Point2(old_x, old_y);
|
||||
@@ -1836,7 +1850,7 @@ String OS_Windows::get_data_dir() const {
|
||||
if (has_environment("APPDATA")) {
|
||||
|
||||
bool use_godot = Globals::get_singleton()->get("application/use_shared_user_dir");
|
||||
if (use_godot)
|
||||
if (!use_godot)
|
||||
return (OS::get_singleton()->get_environment("APPDATA")+"/"+an).replace("\\","/");
|
||||
else
|
||||
return (OS::get_singleton()->get_environment("APPDATA")+"/Godot/app_userdata/"+an).replace("\\","/");
|
||||
|
||||
@@ -209,6 +209,7 @@ public:
|
||||
void set_mouse_mode(MouseMode p_mode);
|
||||
MouseMode get_mouse_mode() const;
|
||||
|
||||
virtual void warp_mouse_pos(const Point2& p_to);
|
||||
virtual Point2 get_mouse_pos() const;
|
||||
virtual int get_mouse_button_state() const;
|
||||
virtual void set_window_title(const String& p_title);
|
||||
|
||||
@@ -461,6 +461,19 @@ void OS_X11::set_mouse_mode(MouseMode p_mode) {
|
||||
|
||||
}
|
||||
|
||||
void OS_X11::warp_mouse_pos(const Point2& p_to) {
|
||||
|
||||
if (mouse_mode==MOUSE_MODE_CAPTURED) {
|
||||
|
||||
last_mouse_pos=p_to;
|
||||
} else {
|
||||
|
||||
XWarpPointer(x11_display, None, x11_window,
|
||||
0,0,0,0, (int)p_to.x, (int)p_to.y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
OS::MouseMode OS_X11::get_mouse_mode() const {
|
||||
|
||||
return mouse_mode;
|
||||
|
||||
@@ -179,6 +179,7 @@ public:
|
||||
void set_mouse_mode(MouseMode p_mode);
|
||||
MouseMode get_mouse_mode() const;
|
||||
|
||||
virtual void warp_mouse_pos(const Point2& p_to);
|
||||
virtual Point2 get_mouse_pos() const;
|
||||
virtual int get_mouse_button_state() const;
|
||||
virtual void set_window_title(const String& p_title);
|
||||
|
||||
Reference in New Issue
Block a user