Add 2d unifrom scale
This commit is contained in:
parent
a364bc4371
commit
9737c02e21
1 changed files with 20 additions and 2 deletions
|
@ -1058,7 +1058,8 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||
Vector2 begin=local_rect.pos;
|
||||
Vector2 end=local_rect.pos+local_rect.size;
|
||||
Vector2 minsize = canvas_item->edit_get_minimum_size();
|
||||
bool symmetric=m.mod.shift;
|
||||
bool uniform = m.mod.shift;
|
||||
bool symmetric=m.mod.alt;
|
||||
|
||||
|
||||
switch(drag) {
|
||||
|
@ -1078,10 +1079,19 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||
} break;
|
||||
case DRAG_BOTTOM_RIGHT: {
|
||||
|
||||
if (uniform) {
|
||||
drag_vector.y=drag_vector.x;
|
||||
minsize.y=minsize.x;
|
||||
}
|
||||
incend(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||
} break;
|
||||
case DRAG_TOP_LEFT: {
|
||||
|
||||
if (uniform) {
|
||||
drag_vector.y=drag_vector.x;
|
||||
minsize.y=minsize.x;
|
||||
}
|
||||
incbeg(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||
incbeg(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||
} break;
|
||||
|
@ -1097,12 +1107,20 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||
} break;
|
||||
case DRAG_TOP_RIGHT: {
|
||||
|
||||
if (uniform) {
|
||||
drag_vector.x=-drag_vector.y;
|
||||
minsize.x=minsize.y;
|
||||
}
|
||||
incbeg(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||
incend(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||
|
||||
} break;
|
||||
case DRAG_BOTTOM_LEFT: {
|
||||
|
||||
if (uniform) {
|
||||
drag_vector.x=-drag_vector.y;
|
||||
minsize.x=minsize.y;
|
||||
}
|
||||
incbeg(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||
} break;
|
||||
|
|
Loading…
Reference in a new issue