65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
#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_*/
|