summaryrefslogtreecommitdiffstats
path: root/ToolAddRect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ToolAddRect.cpp')
-rw-r--r--ToolAddRect.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/ToolAddRect.cpp b/ToolAddRect.cpp
deleted file mode 100644
index bf62c51..0000000
--- a/ToolAddRect.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-#include "ToolAddRect.h"
-#include <GL/gl.h>
-
-
-Room ToolAddRect::createRoom() {
- const Vertex *v2 = editManager->getHoveredVertex();
-
- Room room;
- room.addVertex(v1);
- room.addVertex(Vertex(v1.getX(), v2->getY()));
- room.addVertex(*v2);
- room.addVertex(Vertex(v2->getX(), v1.getY()));
- room.close();
-
- return room;
-}
-
-ToolAddRect::ToolAddRect(EditManager *editManager) : Renderer(editManager), sidebar(editManager) {
- this->editManager = editManager;
-
- pressed = false;
-
- image = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_BUTTON);
- g_object_ref_sink(G_OBJECT(image));
-}
-
-ToolAddRect::~ToolAddRect() {
- g_object_unref(G_OBJECT(image));
-}
-
-void ToolAddRect::activate() {
- editManager->setSelectedObject(NULL);
-}
-
-void ToolAddRect::render(const Level &level, const Rectangle &rect, float scale) {
- if(!pressed || !editManager->getHoveredVertex())
- return;
-
- Room room = createRoom();
-
- if(editManager->polygonOk(room.getPolygon()))
- glColor4f(0.0f, 0.7f, 1.0f, 0.2f);
- else
- glColor4f(1.0f, 0.3f, 0.3f, 0.2f);
-
- fillPolygon(room.getPolygon());
-
- glLineWidth(2.0f);
- glColor4f(0.0f, 0.7f, 1.0f, 0.7f);
- drawPolygon(room.getPolygon());
-}
-
-bool ToolAddRect::buttonPress(unsigned int button, const Vertex *v) {
- if(button != 1)
- return false;
-
- if(!v)
- return false;
-
- if(!editManager->vertexOk(*v))
- return false;
-
- pressed = true;
- v1 = *v;
-
- editManager->redraw();
- sidebar.update();
-
- return true;
-}
-
-bool ToolAddRect::buttonRelease(unsigned int button, const Vertex *v) {
- if(button != 1 || !pressed)
- return false;
-
- pressed = false;
-
- if(v) {
- Room room = createRoom();
-
- if(editManager->polygonOk(room.getPolygon())) {
- editManager->addRoom(room);
-
- editManager->redraw();
- sidebar.update();
-
- return true;
- }
- }
-
- editManager->redraw();
- sidebar.update();
-
- return false;
-}