This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
IndoorMap/mapview/tools/ToolMoveMap.h
2016-05-24 16:55:19 +02:00

50 lines
935 B
C++

#ifndef TOOLMOVEMAP_H
#define TOOLMOVEMAP_H
#include "Tool.h"
#include "../MapView2D.h"
/**
*
*/
class ToolMoveMap : public Tool {
private:
bool mouseIsDown = false;
Point3 startOffset;
int sx;
int sy;
virtual void mousePressEvent(MapView2D* m, QMouseEvent* e) override {
if (e->button() == Qt::MouseButton::MidButton) {
mouseIsDown = true;
this->sx = e->x();
this->sy = e->y();
this->startOffset = m->getScaler().getOffset();
}
}
virtual void mouseMoveEvent(MapView2D* m, QMouseEvent* e) override {
if (!mouseIsDown) {return;}
m->getScaler().setOffset(startOffset);
m->getScaler().addOffset(e->x()-sx, e->y()-sy);
}
virtual void mouseReleaseEvent(MapView2D* m, QMouseEvent* e) override {
(void) m;
(void) e;
mouseIsDown = false;
}
virtual void keyPressEvent(MapView2D* m, QKeyEvent* e) override {
(void) m;
(void) e;
// TODO: move on arrow keys?
}
};
#endif // TOOLMOVEMAP_H