Made the tooltip position offset configurable

(cherry picked from commit 30c07c1ae1)
This commit is contained in:
Andrettin 2019-03-02 12:11:42 +01:00 committed by Rémi Verschelde
parent 77c26d3260
commit 4023d52399
3 changed files with 6 additions and 1 deletions

View File

@ -323,6 +323,9 @@
<member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter=""> <member name="display/mouse_cursor/custom_image_hotspot" type="Vector2" setter="" getter="">
Hotspot for the custom mouse cursor image. Hotspot for the custom mouse cursor image.
</member> </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=""> <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. Allow HiDPI display on Windows and OSX. On Desktop Linux, this can't be enabled or disabled.
</member> </member>

View File

@ -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", String());
GLOBAL_DEF("display/mouse_cursor/custom_image_hotspot", Vector2()); 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")); 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()) { if (String(ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) != String()) {

View File

@ -1476,7 +1476,8 @@ void Viewport::_gui_show_tooltip() {
gui.tooltip_popup->set_as_toplevel(true); gui.tooltip_popup->set_as_toplevel(true);
//gui.tooltip_popup->hide(); //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(); Rect2 vr = gui.tooltip_popup->get_viewport_rect();
if (r.size.x + r.position.x > vr.size.x) if (r.size.x + r.position.x > vr.size.x)
r.position.x = vr.size.x - r.size.x; r.position.x = vr.size.x - r.size.x;