From 5f7fd52b5abcdf55fad660ba4ae945c8724f318d Mon Sep 17 00:00:00 2001 From: lecoanet Date: Mon, 17 Mar 2003 16:25:25 +0000 Subject: * (ToArea): Corrige un probleme de d�tection sur des triangles dispos�s en fans. * (CurveTessError): Suppression de la dependance � GLU. --- generic/Curve.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'generic') diff --git a/generic/Curve.c b/generic/Curve.c index 37567ac..6c9b5ad 100644 --- a/generic/Curve.c +++ b/generic/Curve.c @@ -618,12 +618,13 @@ static void CurveTessError(GLenum errno, void *data) { - const GLubyte *msg; - - msg = gluErrorString(errno); - fprintf(stderr, "Tesselation error in curve item: %s\n", msg); + fprintf(stderr, "Tesselation error in curve item: %d\n", errno); } +#ifndef WIN +#define CALLBACK +#endif + static void UpdateTristrip(CurveItem cv, ZnPoly *poly, @@ -635,7 +636,7 @@ UpdateTristrip(CurveItem cv, int i, j; /*printf("UpdateTristrips sur %d\n", ((Item) cv)->id);*/ - gluTessCallback(wi->tess, GLU_TESS_BEGIN_DATA, (void (*)()) CurveTessBegin); + gluTessCallback(wi->tess, GLU_TESS_BEGIN_DATA, (void (CALLBACK *)()) CurveTessBegin); gluTessCallback(wi->tess, GLU_TESS_VERTEX_DATA, (void (*)()) CurveTessVertex); gluTessCallback(wi->tess, GLU_TESS_END_DATA, (void (*)()) CurveTessEnd); gluTessCallback(wi->tess, GLU_TESS_COMBINE_DATA, (void (*)()) CurveTessCombine); @@ -1059,7 +1060,7 @@ ToArea(Item item, ZnPoint *points; ZnPoint triangle[3]; ZnPoint end_points[LINE_END_POINTS]; - int i, j, num_points, result=-1, result2; + int i, j, num_points, stop, result=-1, result2; int width, height; ZnBool first_done = False; @@ -1074,11 +1075,14 @@ ToArea(Item item, num_points = cv->tristrip.strips[i].num_points; points = cv->tristrip.strips[i].points; j = 0; + stop = num_points-2; if (cv->tristrip.strips[i].fan) { triangle[0] = points[0]; j++; + points++; + stop++; } - for (; j < num_points-2; j++, points++) { + for (; j < stop; j++, points++) { if (cv->tristrip.strips[i].fan) { triangle[1] = points[0]; triangle[2] = points[1]; -- cgit v1.1