mirror of
https://github.com/godotengine/godot.git
synced 2025-11-02 06:31:13 +00:00
parent
bbc54692c0
commit
f57fea0b0f
6 changed files with 92 additions and 76 deletions
|
|
@ -59,7 +59,7 @@ bool Cast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
|
|||
return false;
|
||||
}
|
||||
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
|
||||
Transform2D xform = canvas_item_editor->get_canvas_transform() * node->get_screen_transform();
|
||||
|
||||
Ref<InputEventMouseButton> mb = p_event;
|
||||
if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT) {
|
||||
|
|
@ -98,7 +98,7 @@ bool Cast2DEditor::forward_canvas_gui_input(const Ref<InputEvent> &p_event) {
|
|||
Ref<InputEventMouseMotion> mm = p_event;
|
||||
if (mm.is_valid() && pressed) {
|
||||
Vector2 point = canvas_item_editor->snap_point(canvas_item_editor->get_canvas_transform().affine_inverse().xform(mm->get_position()));
|
||||
point = node->get_global_transform().affine_inverse().xform(point);
|
||||
point = node->get_screen_transform().affine_inverse().xform(point);
|
||||
|
||||
node->set("target_position", point);
|
||||
canvas_item_editor->update_viewport();
|
||||
|
|
@ -114,7 +114,7 @@ void Cast2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
|
|||
return;
|
||||
}
|
||||
|
||||
Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_global_transform();
|
||||
Transform2D gt = canvas_item_editor->get_canvas_transform() * node->get_screen_transform();
|
||||
|
||||
const Ref<Texture2D> handle = get_editor_theme_icon(SNAME("EditorHandle"));
|
||||
p_overlay->draw_texture(handle, gt.xform((Vector2)node->get("target_position")) - handle->get_size() / 2);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue