void VisualToolScale::UpdateHold() { Vector2D delta = (mouse_pos - drag_start) * Vector2D(1, -1); if (shift_down) delta = delta.SingleAxis(); scale = Vector2D(0, 0).Max(delta * 1.25f + initial_scale); if (ctrl_down) scale = scale.Round(25.f); SetSelectedOverride("\\fscx", wxString::Format("%d", (int)scale.X())); SetSelectedOverride("\\fscy", wxString::Format("%d", (int)scale.Y())); }
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) scale = scale.Round(25.f); SetSelectedOverride("\\fscx", std::to_string((int)scale.X())); SetSelectedOverride("\\fscy", std::to_string((int)scale.Y())); }
void VisualToolRotateXY::UpdateHold() { Vector2D delta = (mouse_pos - drag_start) * 2; if (shift_down) delta = delta.SingleAxis(); angle_x = orig_x - delta.Y(); angle_y = orig_y + delta.X(); if (ctrl_down) { angle_x = floorf(angle_x / 30.f + .5f) * 30.f; angle_y = floorf(angle_y / 30.f + .5f) * 30.f; } angle_x = fmodf(angle_x + 360.f, 360.f); angle_y = fmodf(angle_y + 360.f, 360.f); SetSelectedOverride("\\frx", str(boost::format("%.4g") % angle_x)); SetSelectedOverride("\\fry", str(boost::format("%.4g") % angle_y)); }