summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2019-03-13 20:12:22 +0100
committerGitHub <noreply@github.com>2019-03-13 20:12:22 +0100
commit775e74e0d41daa9cf3679c2e215f4ef46eee9cbc (patch)
tree483bbfe4dff66f69c8eaf56add41bc720c8f6710
parentcad371dd85f0b7a7f7717759a36aa477092a269c (diff)
parent30c07c1ae16e13113cde92da8ecacdfe6fcde1d9 (diff)
Merge pull request #26484 from Andrettin/Configurable-Tooltip-Offset
Make the Tooltip Position Offset Configurable
-rw-r--r--doc/classes/ProjectSettings.xml3
-rw-r--r--main/main.cpp1
-rw-r--r--scene/main/viewport.cpp3
3 files changed, 6 insertions, 1 deletions
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 74762df15e..77a695d070 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -323,6 +323,9 @@
<member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter="">
Hotspot for the custom mouse cursor image.
</member>
+ <member name="display/mouse_cursor/tooltip_position_offset" type="Vector2" setter="" getter="">
+ Position offset for tooltips, relative to the hotspot of the mouse cursor.
+ </member>
<member name="display/window/dpi/allow_hidpi" type="bool" setter="" getter="">
Allow HiDPI display on Windows and OSX. On Desktop Linux, this can't be enabled or disabled.
</member>
diff --git a/main/main.cpp b/main/main.cpp
index 3dff9d89bd..0871b12338 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -1209,6 +1209,7 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
GLOBAL_DEF("display/mouse_cursor/custom_image", String());
GLOBAL_DEF("display/mouse_cursor/custom_image_hotspot", Vector2());
+ GLOBAL_DEF("display/mouse_cursor/tooltip_position_offset", Point2(10, 10));
ProjectSettings::get_singleton()->set_custom_property_info("display/mouse_cursor/custom_image", PropertyInfo(Variant::STRING, "display/mouse_cursor/custom_image", PROPERTY_HINT_FILE, "*.png,*.webp"));
if (String(ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) != String()) {
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index b32b50923a..a5d86c3e1a 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1476,7 +1476,8 @@ void Viewport::_gui_show_tooltip() {
gui.tooltip_popup->set_as_toplevel(true);
//gui.tooltip_popup->hide();
- Rect2 r(gui.tooltip_pos + Point2(10, 10), gui.tooltip_popup->get_minimum_size());
+ Point2 tooltip_offset = ProjectSettings::get_singleton()->get("display/mouse_cursor/tooltip_position_offset");
+ Rect2 r(gui.tooltip_pos + tooltip_offset, gui.tooltip_popup->get_minimum_size());
Rect2 vr = gui.tooltip_popup->get_viewport_rect();
if (r.size.x + r.position.x > vr.size.x)
r.position.x = vr.size.x - r.size.x;