you can now press any key while loading / saving stamps
This means you can do stuff like press 'l' while saving a stamp, pressing 'k' while placing a stamp, press 's' while copying an area, and it will cancel the old action and start a new one also, 'l' doesn't reset mouse to DrawPoints state
This commit is contained in:
parent
6230bc70b1
commit
71d75e37e3
@ -1289,8 +1289,49 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
introText = 50;
|
introText = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
// these key events still work when placing / creating stamps
|
if (selectMode != SelectNone)
|
||||||
switch (key)
|
{
|
||||||
|
if (selectMode == PlaceSave)
|
||||||
|
{
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case KEY_RIGHT:
|
||||||
|
case 'd':
|
||||||
|
c->TranslateSave(ui::Point(1, 0));
|
||||||
|
return;
|
||||||
|
case KEY_LEFT:
|
||||||
|
case 'a':
|
||||||
|
c->TranslateSave(ui::Point(-1, 0));
|
||||||
|
return;
|
||||||
|
case KEY_UP:
|
||||||
|
case 'w':
|
||||||
|
c->TranslateSave(ui::Point(0, -1));
|
||||||
|
return;
|
||||||
|
case KEY_DOWN:
|
||||||
|
case 's':
|
||||||
|
c->TranslateSave(ui::Point(0, 1));
|
||||||
|
return;
|
||||||
|
case 'r':
|
||||||
|
if (ctrl && shift)
|
||||||
|
{
|
||||||
|
//Vertical flip
|
||||||
|
c->TransformSave(m2d_new(1,0,0,-1));
|
||||||
|
}
|
||||||
|
else if (!ctrl && shift)
|
||||||
|
{
|
||||||
|
//Horizontal flip
|
||||||
|
c->TransformSave(m2d_new(-1,0,0,1));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Rotate 90deg
|
||||||
|
c->TransformSave(m2d_new(0,1,-1,0));
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch(key)
|
||||||
{
|
{
|
||||||
case KEY_LALT:
|
case KEY_LALT:
|
||||||
case KEY_RALT:
|
case KEY_RALT:
|
||||||
@ -1353,54 +1394,6 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
c->SetZoomEnabled(true);
|
c->SetZoomEnabled(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
if (selectMode != SelectNone)
|
|
||||||
{
|
|
||||||
if (selectMode == PlaceSave)
|
|
||||||
{
|
|
||||||
switch (key)
|
|
||||||
{
|
|
||||||
case KEY_RIGHT:
|
|
||||||
case 'd':
|
|
||||||
c->TranslateSave(ui::Point(1, 0));
|
|
||||||
break;
|
|
||||||
case KEY_LEFT:
|
|
||||||
case 'a':
|
|
||||||
c->TranslateSave(ui::Point(-1, 0));
|
|
||||||
break;
|
|
||||||
case KEY_UP:
|
|
||||||
case 'w':
|
|
||||||
c->TranslateSave(ui::Point(0, -1));
|
|
||||||
break;
|
|
||||||
case KEY_DOWN:
|
|
||||||
case 's':
|
|
||||||
c->TranslateSave(ui::Point(0, 1));
|
|
||||||
break;
|
|
||||||
case 'r':
|
|
||||||
if (ctrl && shift)
|
|
||||||
{
|
|
||||||
//Vertical flip
|
|
||||||
c->TransformSave(m2d_new(1,0,0,-1));
|
|
||||||
}
|
|
||||||
else if (!ctrl && shift)
|
|
||||||
{
|
|
||||||
//Horizontal flip
|
|
||||||
c->TransformSave(m2d_new(-1,0,0,1));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//Rotate 90deg
|
|
||||||
c->TransformSave(m2d_new(0,1,-1,0));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (key != ' ' && key != 'z')
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch(key)
|
|
||||||
{
|
|
||||||
case KEY_TAB: //Tab
|
case KEY_TAB: //Tab
|
||||||
c->ChangeBrush();
|
c->ChangeBrush();
|
||||||
break;
|
break;
|
||||||
@ -1534,7 +1527,6 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
selectPoint2 = mousePosition;
|
selectPoint2 = mousePosition;
|
||||||
selectPoint1 = selectPoint2;
|
selectPoint1 = selectPoint2;
|
||||||
isMouseDown = false;
|
isMouseDown = false;
|
||||||
drawMode = DrawPoints;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user