QTfrontend/drawmapscene.cpp
author nemo
Wed, 29 Dec 2010 16:21:30 -0500
changeset 4780 8571151411b3
parent 4666 34551d8639cf
child 4937 55b9145fea94
permissions -rw-r--r--
add a couple of variables to speed up UID lookups. Based on the assumption new visual gears and gears will tend to be at the end of the list. Set them on successful lookup or script gear creation, clear on delete. Oh also pick up a couple of TrevInc's translation changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
     1
#include <QGraphicsSceneMouseEvent>
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
     2
#include <QGraphicsPathItem>
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
     3
#include <QtEndian>
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
     4
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
     5
#include "drawmapscene.h"
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
     6
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
     7
template <class T> T sqr(const T & x)
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
     8
{
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
     9
    return x*x;
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
    10
}
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
    11
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    12
DrawMapScene::DrawMapScene(QObject *parent) :
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    13
    QGraphicsScene(parent),
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    14
    m_pen(Qt::yellow),
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    15
    m_brush(Qt::yellow)
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    16
{
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    17
    setSceneRect(0, 0, 4096, 2048);
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    18
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    19
    QLinearGradient gradient(0, 0, 0, 2048);
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    20
    gradient.setColorAt(0, QColor(60, 60, 155));
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    21
    gradient.setColorAt(1, QColor(155, 155, 60));
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    22
    setBackgroundBrush(QBrush(gradient));
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    23
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    24
    m_pen.setWidth(67);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    25
    m_pen.setJoinStyle(Qt::RoundJoin);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    26
    m_pen.setCapStyle(Qt::RoundCap);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    27
    m_currPath = 0;
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    28
}
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    29
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    30
void DrawMapScene::mouseMoveEvent(QGraphicsSceneMouseEvent * mouseEvent)
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    31
{
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    32
    if(m_currPath && (mouseEvent->buttons() & Qt::LeftButton))
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    33
    {
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    34
        QPainterPath path = m_currPath->path();
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    35
        path.lineTo(mouseEvent->scenePos());
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
    36
        paths.first().append(mouseEvent->scenePos().toPoint());
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    37
        m_currPath->setPath(path);
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    38
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    39
        emit pathChanged();
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    40
    }
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    41
}
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    42
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    43
void DrawMapScene::mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent)
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    44
{
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    45
    m_currPath = addPath(QPainterPath(), m_pen);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    46
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    47
    QPainterPath path = m_currPath->path();
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    48
    QPointF p = mouseEvent->scenePos();
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    49
    p += QPointF(0.01, 0.01);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    50
    path.moveTo(p);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    51
    path.lineTo(mouseEvent->scenePos());
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
    52
    paths.prepend(QList<QPoint>() << mouseEvent->scenePos().toPoint());
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    53
    m_currPath->setPath(path);
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    54
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    55
    emit pathChanged();
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    56
}
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    57
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    58
void DrawMapScene::mouseReleaseEvent(QGraphicsSceneMouseEvent * mouseEvent)
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    59
{
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    60
    Q_UNUSED(mouseEvent);
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    61
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
    62
    simplifyLast();
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
    63
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    64
    m_currPath = 0;
4423
4391526e436e Initial commit of the Draw Map Scene
unc0rr
parents:
diff changeset
    65
}
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    66
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    67
void DrawMapScene::undo()
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    68
{
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    69
    if(items().size())
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    70
    {
4426
969e411c72aa Improve map editor a bit
unc0rr
parents: 4424
diff changeset
    71
        removeItem(items().first());
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
    72
        paths.removeFirst();
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    73
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    74
        emit pathChanged();
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    75
    }
4424
3225ea34e415 Some basic functionality
unc0rr
parents: 4423
diff changeset
    76
}
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    77
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    78
void DrawMapScene::clearMap()
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    79
{
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    80
    clear();
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    81
    paths.clear();
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    82
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    83
    emit pathChanged();
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    84
}
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
    85
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    86
QByteArray DrawMapScene::encode()
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    87
{
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    88
    QByteArray b;
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    89
4666
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
    90
    for(int i = paths.size() - 1; i >= 0; --i)
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    91
    {
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    92
        int cnt = 0;
4666
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
    93
        QList<QPoint> points = paths.at(i);
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    94
        foreach(QPoint point, points)
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    95
        {
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    96
            qint16 px = qToBigEndian((qint16)point.x());
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    97
            qint16 py = qToBigEndian((qint16)point.y());
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
    98
            quint8 flags = 2;
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
    99
            if(!cnt) flags |= 0x80;
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   100
            b.append((const char *)&px, 2);
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   101
            b.append((const char *)&py, 2);
4457
ffb766e85150 - Change painted map file format
unc0rr
parents: 4442
diff changeset
   102
            b.append((const char *)&flags, 1);
4427
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   103
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   104
            ++cnt;
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   105
        }
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   106
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   107
    }
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   108
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   109
    return b;
c5193713055f Basic encoding of drawn map
unc0rr
parents: 4426
diff changeset
   110
}
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   111
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   112
void DrawMapScene::decode(QByteArray data)
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   113
{
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   114
    clear();
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   115
    paths.clear();
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   116
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   117
    QList<QPoint> points;
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   118
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   119
    while(data.size() >= 5)
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   120
    {
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   121
        qint16 px = qFromBigEndian(*(qint16 *)data.data());
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   122
        data.remove(0, 2);
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   123
        qint16 py = qFromBigEndian(*(qint16 *)data.data());
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   124
        data.remove(0, 2);
4457
ffb766e85150 - Change painted map file format
unc0rr
parents: 4442
diff changeset
   125
        quint8 flags = *(quint8 *)data.data();
ffb766e85150 - Change painted map file format
unc0rr
parents: 4442
diff changeset
   126
        data.remove(0, 1);
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   127
4666
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   128
        if((flags & 0x80) && points.size())
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   129
        {
4666
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   130
            addPath(pointsToPath(points), m_pen);
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   131
            paths.prepend(points);
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   132
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   133
            points.clear();
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   134
        }
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   135
4666
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   136
        points.append(QPoint(px, py));
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   137
    }
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   138
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   139
    if(points.size())
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   140
    {
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   141
        addPath(pointsToPath(points), m_pen);
34551d8639cf - Fix encoding function to iterate reversed list
unc0rr
parents: 4658
diff changeset
   142
        paths.prepend(points);
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   143
    }
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
   144
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
   145
    emit pathChanged();
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   146
}
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   147
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   148
void DrawMapScene::simplifyLast()
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   149
{
4560
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
   150
    if(!paths.size()) return;
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
   151
5d6c7f88db73 - Some work on drawMap widget and scene to allow undo, clear, save and load operations
unc0rr
parents: 4520
diff changeset
   152
    QList<QPoint> points = paths.at(0);
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   153
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   154
    QPoint prevPoint = points.first();
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   155
    int i = 1;
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   156
    while(i < points.size())
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   157
    {
4471
220d44cb8659 Always keep last point of drawn polyline
unc0rr
parents: 4457
diff changeset
   158
        if( (i != points.size() - 1)
220d44cb8659 Always keep last point of drawn polyline
unc0rr
parents: 4457
diff changeset
   159
            && (sqr(prevPoint.x() - points[i].x()) + sqr(prevPoint.y() - points[i].y()) < 1000)
220d44cb8659 Always keep last point of drawn polyline
unc0rr
parents: 4457
diff changeset
   160
          )
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   161
            points.removeAt(i);
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   162
        else
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   163
        {
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   164
            prevPoint = points[i];
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   165
            ++i;
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   166
        }
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   167
    }
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   168
4439
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   169
    paths[0] = points;
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   170
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   171
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   172
    // redraw path
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   173
    {
27a896207aae Some more improvements
unC0Rr
parents: 4434
diff changeset
   174
        QGraphicsPathItem * pathItem = static_cast<QGraphicsPathItem *>(items()[0]);
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   175
        pathItem->setPath(pointsToPath(paths[0]));
4434
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   176
    }
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   177
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   178
    emit pathChanged();
34c305fbc63c Simple simplify() function
unc0rr
parents: 4427
diff changeset
   179
}
4442
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   180
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   181
QPainterPath DrawMapScene::pointsToPath(const QList<QPoint> points)
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   182
{
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   183
    QPainterPath path;
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   184
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   185
    if(points.size())
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   186
    {
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   187
        QPointF p = points[0] + QPointF(0.01, 0.01);
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   188
        path.moveTo(p);
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   189
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   190
        foreach(QPoint p, points)
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   191
            path.lineTo(p);
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   192
    }
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   193
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   194
    return path;
f8424e1bc936 - Implement decode() function.
unc0rr
parents: 4439
diff changeset
   195
}