aboutsummaryrefslogtreecommitdiff
path: root/main/input_default.cpp
diff options
context:
space:
mode:
authorAndreas Haas2016-07-03 19:36:12 +0200
committerAndreas Haas2016-07-03 19:36:12 +0200
commit91add16300de38adf1e95728055c3e28f36ec182 (patch)
treed3ac3a436e6e087a2484e0f3f131d4a6e53009d5 /main/input_default.cpp
parenta28bf56ef9b9d5d93031fb8ce4209370f075f69b (diff)
downloadgodot-91add16300de38adf1e95728055c3e28f36ec182.tar.gz
godot-91add16300de38adf1e95728055c3e28f36ec182.tar.zst
godot-91add16300de38adf1e95728055c3e28f36ec182.zip
Can use AtlasTextures as custom mouse cursor.
fixes #3957
Diffstat (limited to 'main/input_default.cpp')
-rw-r--r--main/input_default.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/input_default.cpp b/main/input_default.cpp
index 4fcb450bc..e975d4141 100644
--- a/main/input_default.cpp
+++ b/main/input_default.cpp
@@ -30,6 +30,7 @@
#include "servers/visual_server.h"
#include "os/os.h"
#include "input_map.h"
+#include "scene/resources/texture.h"
void InputDefault::SpeedTrack::update(const Vector2& p_delta_p) {
@@ -463,9 +464,11 @@ void InputDefault::set_custom_mouse_cursor(const RES& p_cursor,const Vector2& p_
set_mouse_mode(MOUSE_MODE_VISIBLE);
VisualServer::get_singleton()->cursor_set_visible(false);
} else {
+ Ref<AtlasTexture> atex = custom_cursor;
+ Rect2 region = atex.is_valid() ? atex->get_region() : Rect2();
set_mouse_mode(MOUSE_MODE_HIDDEN);
VisualServer::get_singleton()->cursor_set_visible(true);
- VisualServer::get_singleton()->cursor_set_texture(custom_cursor->get_rid(),p_hotspot);
+ VisualServer::get_singleton()->cursor_set_texture(custom_cursor->get_rid(),p_hotspot, 0, region);
VisualServer::get_singleton()->cursor_set_pos(get_mouse_pos());
}
}