tools/drawMapTest/drawmapscene.cpp
changeset 4457 ffb766e85150
parent 4442 f8424e1bc936
child 4471 220d44cb8659
equal deleted inserted replaced
4455:a0c8779713f2 4457:ffb766e85150
    92         {
    92         {
    93             qint16 px = qToBigEndian((qint16)point.x());
    93             qint16 px = qToBigEndian((qint16)point.x());
    94             qint16 py = qToBigEndian((qint16)point.y());
    94             qint16 py = qToBigEndian((qint16)point.y());
    95             quint8 flags = 2;
    95             quint8 flags = 2;
    96             if(!cnt) flags |= 0x80;
    96             if(!cnt) flags |= 0x80;
    97             b.append((const char *)&flags, 1);
       
    98             b.append((const char *)&px, 2);
    97             b.append((const char *)&px, 2);
    99             b.append((const char *)&py, 2);
    98             b.append((const char *)&py, 2);
       
    99             b.append((const char *)&flags, 1);
   100 
   100 
   101             ++cnt;
   101             ++cnt;
   102         }
   102         }
   103 
   103 
   104     }
   104     }
   113 
   113 
   114     QList<QPoint> points;
   114     QList<QPoint> points;
   115 
   115 
   116     while(data.size() >= 5)
   116     while(data.size() >= 5)
   117     {
   117     {
   118         quint8 flags = *(quint8 *)data.data();
       
   119         data.remove(0, 1);
       
   120         qint16 px = qFromBigEndian(*(qint16 *)data.data());
   118         qint16 px = qFromBigEndian(*(qint16 *)data.data());
   121         data.remove(0, 2);
   119         data.remove(0, 2);
   122         qint16 py = qFromBigEndian(*(qint16 *)data.data());
   120         qint16 py = qFromBigEndian(*(qint16 *)data.data());
   123         data.remove(0, 2);
   121         data.remove(0, 2);
       
   122         quint8 flags = *(quint8 *)data.data();
       
   123         data.remove(0, 1);
   124 
   124 
   125         //last chunk or first point
   125         //last chunk or first point
   126         if((data.size() < 5) || (flags & 0x80))
   126         if((data.size() < 5) || (flags & 0x80))
   127         {
   127         {
   128             if(points.size())
   128             if(points.size())