From e57035c832d30c8e58bf5bd290f5dca3087fae1c Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 16 Oct 2013 15:30:11 -0700 Subject: [PATCH] Lock aspect ratio in the scale tool when alt is held down --- aegisub/src/visual_tool_scale.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/aegisub/src/visual_tool_scale.cpp b/aegisub/src/visual_tool_scale.cpp index 3fd2395cd..362fafc04 100644 --- a/aegisub/src/visual_tool_scale.cpp +++ b/aegisub/src/visual_tool_scale.cpp @@ -98,6 +98,12 @@ void VisualToolScale::UpdateHold() { Vector2D delta = (mouse_pos - drag_start) * Vector2D(1, -1); if (shift_down) delta = delta.SingleAxis(); + if (alt_down) { + if (abs(delta.X()) > abs(delta.Y())) + delta = Vector2D(delta.X(), delta.X() * (initial_scale.Y() / initial_scale.X())); + else + delta = Vector2D(delta.Y() * (initial_scale.X() / initial_scale.Y()), delta.Y()); + } scale = Vector2D(0, 0).Max(delta * 1.25f + initial_scale); if (ctrl_down)