diff options
Diffstat (limited to 'Project/Capacitor.cpp')
-rw-r--r-- | Project/Capacitor.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Project/Capacitor.cpp b/Project/Capacitor.cpp index 26e0854..46193f5 100644 --- a/Project/Capacitor.cpp +++ b/Project/Capacitor.cpp @@ -89,18 +89,22 @@ void Capacitor::Draw(wxPoint2DDouble translation, double scale) const } } -void Capacitor::Rotate() +void Capacitor::Rotate(bool clockwise) { - m_angle += m_rotationAngle; - m_pointList[2] = RotateAtPosition(m_pointList[2], m_rotationAngle); - m_pointList[3] = RotateAtPosition(m_pointList[3], m_rotationAngle); + double rotAngle = m_rotationAngle; + if(!clockwise) rotAngle = -m_rotationAngle; + + m_angle += rotAngle; + m_pointList[2] = RotateAtPosition(m_pointList[2], rotAngle); + m_pointList[3] = RotateAtPosition(m_pointList[3], rotAngle); UpdateSwitchesPosition(); } bool Capacitor::GetContextMenu(wxMenu& menu) { menu.Append(ID_EDIT_CAPACITOR, _("Edit Capacitor")); - 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; } |