diff options
| author | Simon 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) |
| commit | 6d5388b221cdd37fe0103e9074edc052053847af (patch) | |
| tree | e8a3926c2fb6d68e5517e661e69f0e5d064dccfa /src | |
| parent | 9c67d41ad657de4d1cec21cfd43f1990d30cfc35 (diff) | |
| download | powder-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.cpp | 2 | ||||
| -rw-r--r-- | src/game/GameView.cpp | 22 | ||||
| -rw-r--r-- | src/game/GameView.h | 3 |
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(); |
