diff options
author | neoraider <devnull@localhost> | 2008-04-06 15:29:03 +0200 |
---|---|---|
committer | neoraider <devnull@localhost> | 2008-04-06 15:29:03 +0200 |
commit | 356efaf89afdad141b313767e1a2b89de3c08d0a (patch) | |
tree | 37edb2a0fc0ea15f4f60e45ed411cbea7b4c12c5 /ToolAddRect.cpp | |
parent | 258eb984bafe0f667d1e76de61c8afaa23f39ef4 (diff) | |
download | zoomedit-356efaf89afdad141b313767e1a2b89de3c08d0a.tar zoomedit-356efaf89afdad141b313767e1a2b89de3c08d0a.zip |
zoomedit: Recreated ZoomEdit based on Glademm.
Diffstat (limited to 'ToolAddRect.cpp')
-rw-r--r-- | ToolAddRect.cpp | 95 |
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; -} |