X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Ffileio.cpp;h=8058a41d490aba1d0e7b79847e8067326fb61a3c;hb=10cf4c797bed05831e976068b7504908279dc997;hp=ad303f469cdcb0713a9afcb4e67533c1b428c3f3;hpb=3c890e51a9763ffcee49e15753453a7da248272b;p=architektonas diff --git a/src/fileio.cpp b/src/fileio.cpp index ad303f4..8058a41 100644 --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -413,16 +413,22 @@ if (errno) else if (strcmp(buffer, "POLYLINE") == 0) { long int size; - obj = (Object *)new Polyline(); + std::vector pts; + uint32_t color; + float thickness; + int style; + fscanf(file, "(%li)", &size); - fscanf(file, " (%i, %f, %i)\n", &obj->color, &obj->thickness, &obj->style); + fscanf(file, " (%i, %f, %i)\n", &color, &thickness, &style); for(int i=0; ip[0].x, &po->p[0].y, &po->length); - ((Polyline *)obj)->Add(po); + Point p; + fscanf(file, "(%lf,%lf,%lf)\n", &p.x, &p.y, &p.b); + pts.push_back(p); } + + obj = (Object *)new Polyline(pts, thickness, color, style); } else if (strcmp(buffer, "TEXT") == 0) { @@ -496,10 +502,9 @@ if (errno) fprintf(file, "POLYLINE %i (%li)", p->layer, p->points.size()); fprintf(file, " (%i, %f, %i)\n", obj->color, obj->thickness, obj->style); - for(VPVectorIter i=p->points.begin(); i!=p->points.end(); i++) + for(long unsigned int i=0; ipoints.size(); i++) { - Object * po = (Object *)(*i); - fprintf(file, "(%.16lf,%.16lf,%.16lf)\n", po->p[0].x, po->p[0].y, po->length); + fprintf(file, "(%.16lf,%.16lf,%.16lf)\n", p->points[i].x, p->points[i].y, p->points[i].b); } } break;