63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#ifndef TOOLADDPOLYGON_H_
|
|
#define TOOLADDPOLYGON_H_
|
|
|
|
#include "Tool.h"
|
|
#include "EditManager.h"
|
|
#include "SidebarAdd.h"
|
|
|
|
|
|
class ToolAddPolygon : public Tool, private EventHandler, private Renderer {
|
|
private:
|
|
GtkWidget *image;
|
|
|
|
EditManager *editManager;
|
|
|
|
SidebarAdd sidebar;
|
|
|
|
Room newRoom;
|
|
|
|
// prevent shallow copy
|
|
ToolAddPolygon(const ToolAddPolygon &t);
|
|
const ToolAddPolygon& operator=(const ToolAddPolygon &t);
|
|
|
|
public:
|
|
ToolAddPolygon(EditManager *editManager);
|
|
virtual ~ToolAddPolygon();
|
|
|
|
virtual void activate();
|
|
virtual void deactivate();
|
|
|
|
virtual const char *getType() const {
|
|
return "ToolAddPolygon";
|
|
}
|
|
|
|
virtual const char *getName() const {
|
|
return "Add polygonal room";
|
|
}
|
|
|
|
virtual bool isSensitive() {
|
|
return TRUE;
|
|
}
|
|
|
|
virtual GtkWidget *getImage() {
|
|
return image;
|
|
}
|
|
|
|
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);
|
|
|
|
virtual Sidebar* getSidebar() {
|
|
return &sidebar;
|
|
}
|
|
};
|
|
|
|
#endif /*TOOLADDPOLYGON_H_*/
|