Move/resize key code changes to be more easily understandable

This commit is contained in:
Jaex 2016-08-05 13:44:47 +03:00
parent 883f725d80
commit 7be1c5e519

View file

@ -206,14 +206,6 @@ private void form_KeyDown(object sender, KeyEventArgs e)
{ {
switch (e.KeyCode) switch (e.KeyCode)
{ {
case Keys.Up:
case Keys.W:
isUpPressed = true;
break;
case Keys.Down:
case Keys.S:
isDownPressed = true;
break;
case Keys.Left: case Keys.Left:
case Keys.A: case Keys.A:
isLeftPressed = true; isLeftPressed = true;
@ -222,30 +214,72 @@ private void form_KeyDown(object sender, KeyEventArgs e)
case Keys.D: case Keys.D:
isRightPressed = true; isRightPressed = true;
break; break;
case Keys.Up:
case Keys.W:
isUpPressed = true;
break;
case Keys.Down:
case Keys.S:
isDownPressed = true;
break;
case Keys.Menu: case Keys.Menu:
IsBottomRightResizing = true; IsBottomRightResizing = true;
break; break;
} }
int speed = e.Shift ? RegionCaptureOptions.MoveSpeedMaximum : RegionCaptureOptions.MoveSpeedMinimum; int speed;
int y = isUpPressed && isDownPressed ? 0 : isDownPressed ? speed : isUpPressed ? -speed : 0;
int x = isLeftPressed && isRightPressed ? 0 : isRightPressed ? speed : isLeftPressed ? -speed : 0;
BaseShape shape = shapeManager.CurrentShape; if (e.Shift)
if (shape == null || shapeManager.IsCreating)
{ {
Cursor.Position = Cursor.Position.Add(x, y); speed = RegionCaptureOptions.MoveSpeedMaximum;
} }
else else
{ {
if (e.Control) speed = RegionCaptureOptions.MoveSpeedMinimum;
}
int x = 0;
if (isLeftPressed)
{
x -= speed;
}
if (isRightPressed)
{
x += speed;
}
int y = 0;
if (isUpPressed)
{
y -= speed;
}
if (isDownPressed)
{
y += speed;
}
if (x != 0 || y != 0)
{
BaseShape shape = shapeManager.CurrentShape;
if (shape == null || shapeManager.IsCreating)
{ {
shape.Move(x, y); Cursor.Position = Cursor.Position.Add(x, y);
} }
else else
{ {
shape.Resize(x, y, IsBottomRightResizing); if (e.Control)
{
shape.Move(x, y);
}
else
{
shape.Resize(x, y, e.Alt);
}
} }
} }
} }
@ -254,14 +288,6 @@ private void form_KeyUp(object sender, KeyEventArgs e)
{ {
switch (e.KeyCode) switch (e.KeyCode)
{ {
case Keys.Up:
case Keys.W:
isUpPressed = false;
break;
case Keys.Down:
case Keys.S:
isDownPressed = false;
break;
case Keys.Left: case Keys.Left:
case Keys.A: case Keys.A:
isLeftPressed = false; isLeftPressed = false;
@ -270,6 +296,14 @@ private void form_KeyUp(object sender, KeyEventArgs e)
case Keys.D: case Keys.D:
isRightPressed = false; isRightPressed = false;
break; break;
case Keys.Up:
case Keys.W:
isUpPressed = false;
break;
case Keys.Down:
case Keys.S:
isDownPressed = false;
break;
case Keys.Menu: case Keys.Menu:
IsBottomRightResizing = false; IsBottomRightResizing = false;
break; break;