summaryrefslogtreecommitdiff
path: root/src/game/Tool.h
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-05-12 21:28:45 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-05-12 21:28:45 (GMT)
commit724c99102e1d2ed3a2c347eedb05d9818bac7513 (patch)
tree036b97a683491243f79e42daf65c4f00ecf36c97 /src/game/Tool.h
parent7128188048395f503b2f70ace2880459acdf7515 (diff)
downloadpowder-724c99102e1d2ed3a2c347eedb05d9818bac7513.zip
powder-724c99102e1d2ed3a2c347eedb05d9818bac7513.tar.gz
Stupid git
Diffstat (limited to 'src/game/Tool.h')
-rw-r--r--src/game/Tool.h42
1 files changed, 37 insertions, 5 deletions
diff --git a/src/game/Tool.h b/src/game/Tool.h
index 9f88188..935e598 100644
--- a/src/game/Tool.h
+++ b/src/game/Tool.h
@@ -19,11 +19,11 @@ protected:
string toolName;
public:
Tool(int id, string name, int r, int g, int b):
- toolID(id),
- toolName(name),
- colRed(r),
- colGreen(g),
- colBlue(b)
+ toolID(id),
+ toolName(name),
+ colRed(r),
+ colGreen(g),
+ colBlue(b)
{
}
string GetName() { return toolName; }
@@ -41,6 +41,38 @@ public:
int colRed, colBlue, colGreen;
};
+class SignTool: public Tool
+{
+public:
+ SignTool():
+ Tool(0, "SIGN", 0, 0, 0),
+ opened(false)
+ {
+ }
+ virtual ~SignTool() {}
+ virtual void Draw(Simulation * sim, Brush * brush, ui::Point position);
+ virtual void DrawLine(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { }
+ virtual void DrawRect(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { }
+ virtual void DrawFill(Simulation * sim, Brush * brush, ui::Point position) { }
+ void SetClosed() { opened = false; }
+protected:
+ bool opened;
+};
+
+class PropertyTool: public Tool
+{
+public:
+ PropertyTool():
+ Tool(0, "PROP", 0, 0, 0)
+ {
+ }
+ virtual ~PropertyTool() {}
+ virtual void Draw(Simulation * sim, Brush * brush, ui::Point position) {};
+ virtual void DrawLine(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { }
+ virtual void DrawRect(Simulation * sim, Brush * brush, ui::Point position1, ui::Point position2) { }
+ virtual void DrawFill(Simulation * sim, Brush * brush, ui::Point position) { }
+};
+
class ElementTool: public Tool
{
public: