X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fglyphpoints.cpp;h=025f0e1ef3fde7be1c709ee943ada7084d23e7d9;hb=refs%2Fheads%2Fmaster;hp=4ae01e5d5d8630c0d9dcec1cfd0d6cb0689db0f4;hpb=1881acb17ed405cdb5aa2cb333a7af77f644a86d;p=ttedit diff --git a/src/glyphpoints.cpp b/src/glyphpoints.cpp index 4ae01e5..025f0e1 100644 --- a/src/glyphpoints.cpp +++ b/src/glyphpoints.cpp @@ -74,19 +74,6 @@ WriteLogMsg("GlyphPoints: Copy constructor. %u points, %u polys.\n", numPoints, GlyphPoints::~GlyphPoints() { FreeAllocatedMemory(); -#if 0 - if (x) - delete[] x; - - if (y) - delete[] y; - - if (onCurve) - delete[] onCurve; - - if (polyEnd) - delete[] polyEnd; -#endif } @@ -751,7 +738,7 @@ IPoint GlyphPoints::GetPrevPoint(uint16_t poly, uint16_t pt) { uint16_t prevPt = GetPrev(poly, pt); - return IPoint(GetX(poly, prevPt), GetY(poly, prevPt)); + return IPoint(GetX(poly, prevPt), GetY(poly, prevPt), GetOnCurve(poly, prevPt)); } @@ -759,7 +746,7 @@ IPoint GlyphPoints::GetNextPoint(uint16_t poly, uint16_t pt) { uint16_t nextPt = GetNext(poly, pt); - return IPoint(GetX(poly, nextPt), GetY(poly, nextPt)); + return IPoint(GetX(poly, nextPt), GetY(poly, nextPt), GetOnCurve(poly, nextPt)); } @@ -920,24 +907,29 @@ bool GlyphPoints::LoadGlyphFromFile(FILE * file) FreeAllocatedMemory(); - fscanf(file, "%s V%f", line, &version); - fscanf(file, "%s %u", line, &numPoints); + int num = fscanf(file, "TTEGLYPH V%f\n", &version); + + // Check to see if this is really a glyph file + if ((num != 1) || (version != 1.0)) + return false; + + num = fscanf(file, "POINTS %u\n", &numPoints); x = new int[numPoints]; y = new int[numPoints]; onCurve = new bool[numPoints]; for(int i=0; i