summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-30 10:25:32 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-30 10:25:32 (GMT)
commit6d5388b221cdd37fe0103e9074edc052053847af (patch)
treee8a3926c2fb6d68e5517e661e69f0e5d064dccfa /src
parent9c67d41ad657de4d1cec21cfd43f1990d30cfc35 (diff)
downloadpowder-6d5388b221cdd37fe0103e9074edc052053847af.zip
powder-6d5388b221cdd37fe0103e9074edc052053847af.tar.gz
Faster brush adjusting with [ and ], use alt to change to 1 pixel
Diffstat (limited to 'src')
-rw-r--r--src/game/GameController.cpp2
-rw-r--r--src/game/GameView.cpp22
-rw-r--r--src/game/GameView.h3
3 files changed, 24 insertions, 3 deletions
diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp
index aede8d6..eab5dcc 100644
--- a/src/game/GameController.cpp
+++ b/src/game/GameController.cpp
@@ -193,7 +193,7 @@ void GameController::AdjustBrushSize(int direction, bool logarithmic, bool xAxis
ui::Point newSize(0, 0);
ui::Point oldSize = gameModel->GetBrush()->GetRadius();
if(logarithmic)
- newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction * ((gameModel->GetBrush()->GetRadius().X/10)>0?gameModel->GetBrush()->GetRadius().X/10:1), direction * ((gameModel->GetBrush()->GetRadius().Y/10)>0?gameModel->GetBrush()->GetRadius().Y/10:1));
+ newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction * ((gameModel->GetBrush()->GetRadius().X/5)>0?gameModel->GetBrush()->GetRadius().X/5:1), direction * ((gameModel->GetBrush()->GetRadius().Y/5)>0?gameModel->GetBrush()->GetRadius().Y/5:1));
else
newSize = gameModel->GetBrush()->GetRadius() + ui::Point(direction, direction);
if(newSize.X<0)
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 5c4ecee..610e3ca 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -909,6 +909,7 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
{
case KEY_ALT:
drawSnap = true;
+ enableAltBehaviour();
break;
case KEY_CTRL:
if(drawModeReset)
@@ -989,10 +990,10 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
c->OpenStamps();
break;
case ']':
- c->AdjustBrushSize(1, true, shiftBehaviour, ctrlBehaviour);
+ c->AdjustBrushSize(1, !alt, shiftBehaviour, ctrlBehaviour);
break;
case '[':
- c->AdjustBrushSize(-1, true, shiftBehaviour, ctrlBehaviour);
+ c->AdjustBrushSize(-1, !alt, shiftBehaviour, ctrlBehaviour);
break;
}
@@ -1019,6 +1020,7 @@ void GameView::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bo
{
case KEY_ALT:
drawSnap = false;
+ disableAltBehaviour();
break;
case KEY_CTRL:
disableCtrlBehaviour();
@@ -1264,6 +1266,22 @@ void GameView::disableShiftBehaviour()
}
}
+void GameView::enableAltBehaviour()
+{
+ if(!altBehaviour)
+ {
+ altBehaviour = true;
+ }
+}
+
+void GameView::disableAltBehaviour()
+{
+ if(altBehaviour)
+ {
+ altBehaviour = false;
+ }
+}
+
void GameView::enableCtrlBehaviour()
{
if(!ctrlBehaviour)
diff --git a/src/game/GameView.h b/src/game/GameView.h
index 9db25f4..b9c0604 100644
--- a/src/game/GameView.h
+++ b/src/game/GameView.h
@@ -40,6 +40,7 @@ private:
bool drawSnap;
bool shiftBehaviour;
bool ctrlBehaviour;
+ bool altBehaviour;
bool showHud;
int toolIndex;
@@ -109,6 +110,8 @@ private:
void disableShiftBehaviour();
void enableCtrlBehaviour();
void disableCtrlBehaviour();
+ void enableAltBehaviour();
+ void disableAltBehaviour();
public:
GameView();