Made the tooltip position offset configurable

This commit is contained in:
Andrettin 2019-03-02 12:11:42 +01:00
parent a42549b8f7
commit 30c07c1ae1
3 changed files with 6 additions and 1 deletions

View file

@ -319,6 +319,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

@ -1486,7 +1486,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;