summaryrefslogtreecommitdiff
path: root/src/game/GameView.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-07-28 13:13:28 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-07-28 13:13:28 (GMT)
commitfc93b714852b1bd0741fd75a9dd01358f32fa9f0 (patch)
tree449e9c5add679af58a660a74b056f2827b6eec1f /src/game/GameView.cpp
parentf9eeebb91039d88ceb7e4cf4e4aecf374d77e633 (diff)
downloadpowder-fc93b714852b1bd0741fd75a9dd01358f32fa9f0.zip
powder-fc93b714852b1bd0741fd75a9dd01358f32fa9f0.tar.gz
Resize brush X and Y axis seperately using Shift and Control, Addresses issue #27
Diffstat (limited to 'src/game/GameView.cpp')
-rw-r--r--src/game/GameView.cpp51
1 files changed, 37 insertions, 14 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index a35f524..6544674 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -38,7 +38,8 @@ GameView::GameView():
infoTip(""),
infoTipPresence(0),
toolTipPosition(-1, -1),
- alternativeSaveSource(false)
+ shiftBehaviour(false),
+ ctrlBehaviour(false)
{
int currentX = 1;
@@ -50,7 +51,7 @@ GameView::GameView():
SearchAction(GameView * _v) { v = _v; }
void ActionCallback(ui::Button * sender)
{
- if(v->GetAlternativeSourceEnabled())
+ if(v->CtrlBehaviour())
v->c->OpenLocalBrowse();
else
v->c->OpenSearch();
@@ -93,7 +94,7 @@ GameView::GameView():
SaveSimulationAction(GameView * _v) { v = _v; }
void ActionCallback(ui::Button * sender)
{
- if(v->GetAlternativeSourceEnabled())
+ if(v->CtrlBehaviour())
v->c->OpenLocalSaveWindow();
else
v->c->OpenSaveWindow();
@@ -792,7 +793,7 @@ void GameView::OnMouseWheel(int x, int y, int d)
}
else
{
- c->AdjustBrushSize(d);
+ c->AdjustBrushSize(d, false, shiftBehaviour, ctrlBehaviour);
if(isMouseDown)
{
pointQueue.push(new ui::Point(x, y));
@@ -854,7 +855,7 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
drawMode = DrawFill;
else
drawMode = DrawRect;
- enableHDDSave();
+ enableCtrlBehaviour();
break;
case KEY_SHIFT:
if(drawModeReset)
@@ -865,6 +866,7 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
drawMode = DrawFill;
else
drawMode = DrawLine;
+ enableShiftBehaviour();
break;
case ' ': //Space
c->SetPaused();
@@ -920,10 +922,10 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
c->OpenStamps();
break;
case ']':
- c->AdjustBrushSize(1, true);
+ c->AdjustBrushSize(1, true, shiftBehaviour, ctrlBehaviour);
break;
case '[':
- c->AdjustBrushSize(-1, true);
+ c->AdjustBrushSize(-1, true, shiftBehaviour, ctrlBehaviour);
break;
}
@@ -949,7 +951,10 @@ void GameView::OnKeyRelease(int key, Uint16 character, bool shift, bool ctrl, bo
drawSnap = false;
break;
case KEY_CTRL:
- disableHDDSave();
+ disableCtrlBehaviour();
+ break;
+ case KEY_SHIFT:
+ disableShiftBehaviour();
break;
case 'z':
if(!zoomCursorFixed)
@@ -1163,12 +1168,29 @@ void GameView::changeColour()
c->SetColour(ui::Colour(colourRSlider->GetValue(), colourGSlider->GetValue(), colourBSlider->GetValue(), colourASlider->GetValue()));
}
-void GameView::enableHDDSave()
+void GameView::enableShiftBehaviour()
+{
+ if(!shiftBehaviour)
+ {
+ shiftBehaviour = true;
+ }
+}
+
+void GameView::disableShiftBehaviour()
+{
+ if(shiftBehaviour)
+ {
+ shiftBehaviour = false;
+ }
+}
+
+void GameView::enableCtrlBehaviour()
{
- if(!alternativeSaveSource)
+ if(!ctrlBehaviour)
{
- alternativeSaveSource = true;
+ ctrlBehaviour = true;
+ //Show HDD save & load buttons
saveSimulationButton->Appearance.BackgroundInactive = ui::Colour(255, 255, 255);
saveSimulationButton->Appearance.TextInactive = ui::Colour(0, 0, 0);
searchButton->Appearance.BackgroundInactive = ui::Colour(255, 255, 255);
@@ -1176,12 +1198,13 @@ void GameView::enableHDDSave()
}
}
-void GameView::disableHDDSave()
+void GameView::disableCtrlBehaviour()
{
- if(alternativeSaveSource)
+ if(ctrlBehaviour)
{
- alternativeSaveSource = false;
+ ctrlBehaviour = false;
+ //Hide HDD save & load buttons
saveSimulationButton->Appearance.BackgroundInactive = ui::Colour(0, 0, 0);
saveSimulationButton->Appearance.TextInactive = ui::Colour(255, 255, 255);
searchButton->Appearance.BackgroundInactive = ui::Colour(0, 0, 0);