forked from mia/Aegisub
Fix a few spots where x and y were swapped in the X/Y rotation tool.
Originally committed to SVN as r4386.
This commit is contained in:
parent
0fe2071082
commit
9e6454a798
1 changed files with 12 additions and 13 deletions
|
@ -169,8 +169,8 @@ void VisualToolRotateXY::Draw() {
|
||||||
bool VisualToolRotateXY::InitializeHold() {
|
bool VisualToolRotateXY::InitializeHold() {
|
||||||
GetLinePosition(curDiag,odx,ody,orgx,orgy);
|
GetLinePosition(curDiag,odx,ody,orgx,orgy);
|
||||||
GetLineRotation(curDiag,origAngleX,origAngleY,rz);
|
GetLineRotation(curDiag,origAngleX,origAngleY,rz);
|
||||||
startAngleX = (orgy-video.x)*2.0;
|
startAngleX = (orgy-video.y)*2.f;
|
||||||
startAngleY = (video.y-orgx)*2.0;
|
startAngleY = (video.x-orgx)*2.f;
|
||||||
curAngleX = origAngleX;
|
curAngleX = origAngleX;
|
||||||
curAngleY = origAngleY;
|
curAngleY = origAngleY;
|
||||||
curDiag->StripTag(L"\\frx");
|
curDiag->StripTag(L"\\frx");
|
||||||
|
@ -181,28 +181,27 @@ bool VisualToolRotateXY::InitializeHold() {
|
||||||
|
|
||||||
/// @brief Update hold
|
/// @brief Update hold
|
||||||
void VisualToolRotateXY::UpdateHold() {
|
void VisualToolRotateXY::UpdateHold() {
|
||||||
// Find screen angles
|
float screenAngleX = (orgy-video.y)*2.f;
|
||||||
float screenAngleX = (orgy-video.x)*2.0;
|
float screenAngleY = (video.x-orgx)*2.f;
|
||||||
float screenAngleY = (video.y-orgx)*2.0;
|
|
||||||
|
|
||||||
// Deltas
|
// Deltas
|
||||||
float deltaX = screenAngleX - startAngleX;
|
float deltaX = screenAngleX - startAngleX;
|
||||||
float deltaY = screenAngleY - startAngleY;
|
float deltaY = screenAngleY - startAngleY;
|
||||||
if (shiftDown) {
|
if (shiftDown) {
|
||||||
if (fabs(deltaX) >= fabs(deltaY)) deltaY = 0;
|
if (fabs(deltaX) >= fabs(deltaY)) deltaY = 0.f;
|
||||||
else deltaX = 0;
|
else deltaX = 0.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calculate
|
// Calculate
|
||||||
curAngleX = fmodf(deltaX + origAngleX + 360., 360.);
|
curAngleX = fmodf(deltaX + origAngleX + 360.f, 360.f);
|
||||||
curAngleY = fmodf(deltaY + origAngleY + 360., 360.);
|
curAngleY = fmodf(deltaY + origAngleY + 360.f, 360.f);
|
||||||
|
|
||||||
// Oh Snap
|
// Oh Snap
|
||||||
if (ctrlDown) {
|
if (ctrlDown) {
|
||||||
curAngleX = floorf(curAngleX/30.f+.5f)*30.0f;
|
curAngleX = floorf(curAngleX/30.f+.5f)*30.f;
|
||||||
curAngleY = floorf(curAngleY/30.f+.5f)*30.0f;
|
curAngleY = floorf(curAngleY/30.f+.5f)*30.f;
|
||||||
if (curAngleX > 359.0f) curAngleX = 0.0f;
|
if (curAngleX > 359.f) curAngleX = 0.f;
|
||||||
if (curAngleY > 359.0f) curAngleY = 0.0f;
|
if (curAngleY > 359.f) curAngleY = 0.f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue