#ifndef TOOLADDRECT_H_ #define TOOLADDRECT_H_ #include "Tool.h" #include "SidebarAdd.h" class ToolAddRect : public Tool, private EventHandler, private Renderer { private: GtkWidget *image; EditManager *editManager; SidebarAdd sidebar; bool pressed; Vertex v1; // prevent shallow copy ToolAddRect(const ToolAddRect &t); const ToolAddRect& operator=(const ToolAddRect &t); Room createRoom(); public: ToolAddRect(EditManager *editManager); virtual ~ToolAddRect(); virtual void activate(); virtual const char *getType() const { return "ToolAddRect"; } virtual const char *getName() const { return "Add rectangular room"; } virtual GtkWidget *getImage() { return image; } virtual bool hoverFilter(const LevelObject &object) const { return false; } virtual EventHandler* getEventHandler() { return this; } virtual Renderer *getRenderer() { return this; } virtual void render(const Level &level, const Rectangle &rect, float scale); virtual bool buttonPress(unsigned int button, const Vertex *v); virtual bool buttonRelease(unsigned int button, const Vertex *v); virtual Sidebar* getSidebar() { return &sidebar; } }; #endif /*TOOLADDRECT_H_*/