QTfrontend/drawmapscene.h
branchexperimental3D
changeset 4812 f924be23ffb4
parent 4560 5d6c7f88db73
child 4976 088d40d8aba2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/QTfrontend/drawmapscene.h	Tue Jan 04 12:53:46 2011 +0100
@@ -0,0 +1,41 @@
+#ifndef DRAWMAPSCENE_H
+#define DRAWMAPSCENE_H
+
+#include <QGraphicsScene>
+#include <QPainterPath>
+
+class QGraphicsPathItem;
+
+typedef QList<QList<QPoint> > Paths;
+
+class DrawMapScene : public QGraphicsScene
+{
+Q_OBJECT
+public:
+    explicit DrawMapScene(QObject *parent = 0);
+
+    QByteArray encode();
+    void decode(QByteArray data);
+
+signals:
+    void pathChanged();
+
+public slots:
+    void undo();
+    void clearMap();
+    void simplifyLast();
+
+private:
+    QPen m_pen;
+    QBrush m_brush;
+    QGraphicsPathItem  * m_currPath;
+    Paths paths;
+
+    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * mouseEvent);
+    virtual void mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent);
+    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent * mouseEvent);
+
+    QPainterPath pointsToPath(const QList<QPoint> points);
+};
+
+#endif // DRAWMAPSCENE_H