You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Merge pull request #436 from marynate/PR-2d-uniform-scale
Add 2d unifrom scale
This commit is contained in:
@@ -1058,7 +1058,8 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||||||
Vector2 begin=local_rect.pos;
|
Vector2 begin=local_rect.pos;
|
||||||
Vector2 end=local_rect.pos+local_rect.size;
|
Vector2 end=local_rect.pos+local_rect.size;
|
||||||
Vector2 minsize = canvas_item->edit_get_minimum_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) {
|
switch(drag) {
|
||||||
@@ -1078,10 +1079,19 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||||||
} break;
|
} break;
|
||||||
case DRAG_BOTTOM_RIGHT: {
|
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.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||||
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||||
} break;
|
} break;
|
||||||
case DRAG_TOP_LEFT: {
|
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.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||||
incbeg(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
incbeg(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||||
} break;
|
} break;
|
||||||
@@ -1097,12 +1107,20 @@ void CanvasItemEditor::_viewport_input_event(const InputEvent& p_event) {
|
|||||||
} break;
|
} break;
|
||||||
case DRAG_TOP_RIGHT: {
|
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);
|
incbeg(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||||
incend(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
incend(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case DRAG_BOTTOM_LEFT: {
|
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);
|
incbeg(begin.x,end.x,drag_vector.x,minsize.x,symmetric);
|
||||||
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
incend(begin.y,end.y,drag_vector.y,minsize.y,symmetric);
|
||||||
} break;
|
} break;
|
||||||
|
|||||||
Reference in New Issue
Block a user