diff options
Diffstat (limited to 'tool.h')
-rw-r--r-- | tool.h | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +#ifndef TOOL_H +#define TOOL_H + +#include "quadtree.h" +#include "vector.h" +#include "gui.h" + +#include <SDL.h> + +class Tool { + protected: + Quadtree *tree; + GUI *gui; + + public: + Tool(Quadtree *tree); + virtual ~Tool() {}; + + virtual bool handle_event(SDL_Event& event, Vector3& selected) = 0; + virtual void render_gui(); + virtual const char* get_name() = 0; +}; + +class RaiseTool : public Tool { + protected: + static std::string name; + + public: + RaiseTool(Quadtree *tree); + virtual ~RaiseTool(); + + virtual bool handle_event(SDL_Event& event, Vector3& selected); + virtual const char* get_name(); +}; + +#endif |