summaryrefslogtreecommitdiffstats
path: root/ToolRotate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ToolRotate.cpp')
-rw-r--r--ToolRotate.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/ToolRotate.cpp b/ToolRotate.cpp
deleted file mode 100644
index 342ae2e..0000000
--- a/ToolRotate.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#include "ToolRotate.h"
-#include <GL/gl.h>
-
-
-ToolRotate::ToolRotate(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));
-}
-
-ToolRotate::~ToolRotate() {
- g_object_unref(G_OBJECT(image));
-}
-
-void ToolRotate::activate() {
- pressed = false;
- editManager->setSelectedObject(NULL);
-}
-
-bool ToolRotate::buttonPress(unsigned int button, const Vertex *v) {
- if(button != 1 || !editManager->getHoveredObject())
- return false;
-
- pressed = true;
- valid = false;
- vertexRot = vertex = *v;
-
- editManager->setSelectedObject(editManager->getHoveredObject());
-
- editManager->redraw();
- sidebar.update();
-
- return true;
-}
-
-bool ToolRotate::buttonRelease(unsigned int button, const Vertex *v) {
- if(button != 1)
- return false;
-
- pressed = false;
-
- editManager->setSelectedObject(NULL);
-
- editManager->redraw();
- sidebar.update();
-
- return true;
-}
-
-bool ToolRotate::motion(const Vertex *v, float scale) {
- if(!pressed)
- return false;
-
- if(!v)
- return false;
-
- vertex = *v;
-
- float a = atan2((vertex-vertexRot).getY(), (vertex-vertexRot).getX());
-
- if(vertexRot.distanceSq(vertex) > (10*10)/(scale*scale)) {
- if(valid)
- editManager->getSelectedObject()->rotate(vertexRot, a-angle);
-
- else
- valid = true;
- }
- else
- valid = false;
-
- angle = a;
-
- return false;
-}
-
-void ToolRotate::render(const Level &level, const Rectangle &rect, float scale) {
- Renderer::render(level, rect, scale);
-
- if(pressed && valid) {
- glLineWidth(1.0f);
- glColor4f(1.0f, 1.0f, 1.0f, 0.7f);
- drawCircleDotted(vertexRot, vertexRot.distance(vertex), 64, 16, angle);
-
- glLineWidth(2.0f);
-
- glBegin(GL_LINES);
-
- glVertex2f(vertexRot.getX(), vertexRot.getY());
- glVertex2f(vertex.getX(), vertex.getY());
-
- glEnd();
- }
-}