Merge pull request #103653 from dugramen/popup_respect_scale

Apply transforms for LineEdit, RichTextLabel, and TextEdit popup positions
This commit is contained in:
Rémi Verschelde 2025-03-12 22:56:58 +01:00
commit cbb1e0ef7a
No known key found for this signature in database
GPG key ID: C3336907360768E1
3 changed files with 5 additions and 5 deletions

View file

@ -399,7 +399,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
if (context_menu_enabled) {
_update_context_menu();
menu->set_position(get_screen_position() + get_local_mouse_position());
menu->set_position(get_screen_transform().xform(get_local_mouse_position()));
menu->reset_size();
menu->popup();
}
@ -630,7 +630,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
if (k->is_action("ui_menu", true)) {
_update_context_menu();
Point2 pos = Point2(get_caret_pixel_pos().x, (get_size().y + theme_cache.font->get_height(theme_cache.font_size)) / 2);
menu->set_position(get_screen_position() + pos);
menu->set_position(get_screen_transform().xform(pos));
menu->reset_size();
menu->popup();
menu->grab_focus();

View file

@ -2189,7 +2189,7 @@ void RichTextLabel::gui_input(const Ref<InputEvent> &p_event) {
if (b->get_button_index() == MouseButton::RIGHT && context_menu_enabled) {
_update_context_menu();
menu->set_position(get_screen_position() + b->get_position());
menu->set_position(get_screen_transform().xform(b->get_position()));
menu->reset_size();
menu->popup();
grab_focus();

View file

@ -2006,7 +2006,7 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
if (context_menu_enabled) {
_update_context_menu();
menu->set_position(get_screen_position() + mpos);
menu->set_position(get_screen_transform().xform(mpos));
menu->reset_size();
menu->popup();
grab_focus();
@ -2291,7 +2291,7 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
if (context_menu_enabled) {
_update_context_menu();
adjust_viewport_to_caret();
menu->set_position(get_screen_position() + get_caret_draw_pos());
menu->set_position(get_screen_transform().xform(get_caret_draw_pos()));
menu->reset_size();
menu->popup();
menu->grab_focus();