Fix right-click on tilset atlas popup wrong position
Fix similar bug in AnimationLibraryEditor
This commit is contained in:
parent
9ebb3e3107
commit
c1de6dc84b
|
@ -554,7 +554,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
|
||||||
file_popup->add_separator();
|
file_popup->add_separator();
|
||||||
file_popup->add_item(TTR("Open in Inspector"), FILE_MENU_EDIT_LIBRARY);
|
file_popup->add_item(TTR("Open in Inspector"), FILE_MENU_EDIT_LIBRARY);
|
||||||
Rect2 pos = tree->get_item_rect(p_item, 1, 0);
|
Rect2 pos = tree->get_item_rect(p_item, 1, 0);
|
||||||
Vector2 popup_pos = tree->get_screen_position() + pos.position + Vector2(0, pos.size.height);
|
Vector2 popup_pos = tree->get_screen_transform().xform(pos.position + Vector2(0, pos.size.height));
|
||||||
file_popup->popup(Rect2(popup_pos, Size2()));
|
file_popup->popup(Rect2(popup_pos, Size2()));
|
||||||
|
|
||||||
file_dialog_animation = StringName();
|
file_dialog_animation = StringName();
|
||||||
|
@ -594,7 +594,7 @@ void AnimationLibraryEditor::_button_pressed(TreeItem *p_item, int p_column, int
|
||||||
file_popup->add_separator();
|
file_popup->add_separator();
|
||||||
file_popup->add_item(TTR("Open in Inspector"), FILE_MENU_EDIT_ANIMATION);
|
file_popup->add_item(TTR("Open in Inspector"), FILE_MENU_EDIT_ANIMATION);
|
||||||
Rect2 pos = tree->get_item_rect(p_item, 1, 0);
|
Rect2 pos = tree->get_item_rect(p_item, 1, 0);
|
||||||
Vector2 popup_pos = tree->get_screen_position() + pos.position + Vector2(0, pos.size.height);
|
Vector2 popup_pos = tree->get_screen_transform().xform(pos.position + Vector2(0, pos.size.height));
|
||||||
file_popup->popup(Rect2(popup_pos, Size2()));
|
file_popup->popup(Rect2(popup_pos, Size2()));
|
||||||
|
|
||||||
file_dialog_animation = anim_name;
|
file_dialog_animation = anim_name;
|
||||||
|
|
|
@ -1472,12 +1472,12 @@ void TileSetAtlasSourceEditor::_end_dragging() {
|
||||||
// We have a tile.
|
// We have a tile.
|
||||||
menu_option_coords = selected.tile;
|
menu_option_coords = selected.tile;
|
||||||
menu_option_alternative = 0;
|
menu_option_alternative = 0;
|
||||||
base_tile_popup_menu->popup(Rect2i(get_global_mouse_position(), Size2i()));
|
base_tile_popup_menu->popup(Rect2i(get_screen_transform().xform(get_local_mouse_position()), Size2i()));
|
||||||
} else if (hovered_base_tile_coords != TileSetSource::INVALID_ATLAS_COORDS) {
|
} else if (hovered_base_tile_coords != TileSetSource::INVALID_ATLAS_COORDS) {
|
||||||
// We don't have a tile, but can create one.
|
// We don't have a tile, but can create one.
|
||||||
menu_option_coords = hovered_base_tile_coords;
|
menu_option_coords = hovered_base_tile_coords;
|
||||||
menu_option_alternative = TileSetSource::INVALID_TILE_ALTERNATIVE;
|
menu_option_alternative = TileSetSource::INVALID_TILE_ALTERNATIVE;
|
||||||
empty_base_tile_popup_menu->popup(Rect2i(get_global_mouse_position(), Size2i()));
|
empty_base_tile_popup_menu->popup(Rect2i(get_screen_transform().xform(get_local_mouse_position()), Size2i()));
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case DRAG_TYPE_RESIZE_TOP_LEFT:
|
case DRAG_TYPE_RESIZE_TOP_LEFT:
|
||||||
|
@ -1973,7 +1973,7 @@ void TileSetAtlasSourceEditor::_tile_alternatives_control_gui_input(const Ref<In
|
||||||
selected = selection.front()->get();
|
selected = selection.front()->get();
|
||||||
menu_option_coords = selected.tile;
|
menu_option_coords = selected.tile;
|
||||||
menu_option_alternative = selected.alternative;
|
menu_option_alternative = selected.alternative;
|
||||||
alternative_tile_popup_menu->popup(Rect2i(get_global_mouse_position(), Size2i()));
|
alternative_tile_popup_menu->popup(Rect2i(get_screen_transform().xform(get_local_mouse_position()), Size2i()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue