mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Merge pull request #99506 from Giganzo/scale-2d-selection
Change how multi selection scale is applied to canvas item
This commit is contained in:
commit
81733e6622
1 changed files with 7 additions and 8 deletions
|
@ -1995,15 +1995,14 @@ bool CanvasItemEditor::_gui_input_scale(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
}
|
||||
|
||||
Transform2D edit_transform;
|
||||
bool using_temp_pivot = !Math::is_inf(temp_pivot.x) || !Math::is_inf(temp_pivot.y);
|
||||
if (using_temp_pivot) {
|
||||
edit_transform = Transform2D(drag_selection.front()->get()->_edit_get_rotation(), temp_pivot);
|
||||
} else {
|
||||
edit_transform = drag_selection.front()->get()->_edit_get_transform();
|
||||
}
|
||||
for (CanvasItem *ci : drag_selection) {
|
||||
Transform2D edit_transform;
|
||||
bool using_temp_pivot = !Math::is_inf(temp_pivot.x) || !Math::is_inf(temp_pivot.y);
|
||||
if (using_temp_pivot) {
|
||||
edit_transform = Transform2D(ci->_edit_get_rotation(), temp_pivot);
|
||||
} else {
|
||||
edit_transform = ci->_edit_get_transform();
|
||||
}
|
||||
|
||||
Transform2D parent_xform = ci->get_global_transform_with_canvas() * ci->get_transform().affine_inverse();
|
||||
Transform2D unscaled_transform = (transform * parent_xform * edit_transform).orthonormalized();
|
||||
Transform2D simple_xform = (viewport->get_transform() * unscaled_transform).affine_inverse() * transform;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue