protected override void OnKeyDown(KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.W: m_translateY -= m_translateStep; break;
case Keys.A: m_translateX -= m_translateStep; break;
case Keys.S: m_translateY += m_translateStep; break;
case Keys.D: m_translateX += m_translateStep; break;
case Keys.Q: m_rotateAngle -= m_rotateStep; break;
case Keys.E: m_rotateAngle += m_rotateStep; break;
case Keys.Subtract:
m_scale /= m_scaleStep;
if (m_scale < m_scaleMin) m_scale = m_scaleMin;
break;
case Keys.Add:
m_scale *= m_scaleStep;
if (m_scale > m_scaleMax) m_scale = m_scaleMax;
break;
default: return;
}
Invalidate();
}