summaryrefslogtreecommitdiffstats
path: root/Project/Transformer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Transformer.cpp')
-rw-r--r--Project/Transformer.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/Project/Transformer.cpp b/Project/Transformer.cpp
index ce1d12e..0bb32d8 100644
--- a/Project/Transformer.cpp
+++ b/Project/Transformer.cpp
@@ -147,14 +147,17 @@ bool Transformer::Intersects(wxRect2DDouble rect) const
return RotatedRectanglesIntersects(m_rect, rect, m_angle, 0.0);
}
-void Transformer::Rotate()
+void Transformer::Rotate(bool clockwise)
{
- m_angle += m_rotationAngle;
+ double rotAngle = m_rotationAngle;
+ if(!clockwise) rotAngle = -m_rotationAngle;
+
+ m_angle += rotAngle;
if(m_angle >= 360.0) m_angle = 0.0;
// Rotate all the points, except the switches and buses points.
for(int i = 2; i < (int)m_pointList.size() - 2; i++) {
- m_pointList[i] = RotateAtPosition(m_pointList[i], m_rotationAngle);
+ m_pointList[i] = RotateAtPosition(m_pointList[i], rotAngle);
}
}
@@ -219,7 +222,8 @@ void Transformer::StartMove(wxPoint2DDouble position)
bool Transformer::GetContextMenu(wxMenu& menu)
{
menu.Append(ID_EDIT_TRANSFORMER, _("Edit tranformer"));
- menu.Append(ID_ROTATE, _("Rotate"));
+ menu.Append(ID_ROTATE_CLOCK, _("Rotate clockwise"));
+ menu.Append(ID_ROTATE_COUNTERCLOCK, _("Rotate counter-clockwise"));
menu.Append(ID_DELETE, _("Delete"));
return true;
}