summaryrefslogtreecommitdiff
path: root/src/game/GameModel.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-30 16:03:18 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-30 16:03:18 (GMT)
commit1d297cb57a338f2a9e34d0f16642afc6a83c1041 (patch)
tree7d5514be702ff98f9b1e53eecdbf0c67096d76f6 /src/game/GameModel.h
parent259fc2bcf75d754af043a5d3fa39b6ee0c0b1dec (diff)
downloadpowder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.zip
powder-1d297cb57a338f2a9e34d0f16642afc6a83c1041.tar.gz
Line and rect drawing
Diffstat (limited to 'src/game/GameModel.h')
-rw-r--r--src/game/GameModel.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/game/GameModel.h b/src/game/GameModel.h
index 39c7f4a..0d7fc3f 100644
--- a/src/game/GameModel.h
+++ b/src/game/GameModel.h
@@ -18,6 +18,15 @@ class GameView;
class Simulation;
class Renderer;
+class ToolSelection
+{
+public:
+ enum
+ {
+ ToolPrimary, ToolSecondary, ToolTertiary
+ };
+};
+
class GameModel
{
private:
@@ -30,7 +39,7 @@ private:
Save * currentSave;
Simulation * sim;
Renderer * ren;
- Tool * activeTool;
+ Tool * activeTools[3];
User currentUser;
//bool zoomEnabled;
void notifyRendererChanged();
@@ -40,7 +49,7 @@ private:
void notifyBrushChanged();
void notifyMenuListChanged();
void notifyToolListChanged();
- void notifyActiveToolChanged();
+ void notifyActiveToolsChanged();
void notifyUserChanged();
void notifyZoomChanged();
public:
@@ -52,8 +61,8 @@ public:
Brush * GetBrush();
void SetSave(Save * newSave);
void AddObserver(GameView * observer);
- Tool * GetActiveTool();
- void SetActiveTool(Tool * tool);
+ Tool * GetActiveTool(int selection);
+ void SetActiveTool(int selection, Tool * tool);
bool GetPaused();
void SetPaused(bool pauseState);
void ClearSimulation();