X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxpoly%2Ftest.c;fp=lib%2Fgfxpoly%2Ftest.c;h=c58c3d559157d4d9ccd08d2ed59224404d35d0b1;hp=a6a5ab51d95cc7322eeb16e0306fd1c17278411c;hb=34ea6c36c2a3377546d0e8038f0d4f43b5e3cb6f;hpb=d966a4b935a597e9acd2502ca1e5ffaff51fa418 diff --git a/lib/gfxpoly/test.c b/lib/gfxpoly/test.c index a6a5ab5..c58c3d5 100644 --- a/lib/gfxpoly/test.c +++ b/lib/gfxpoly/test.c @@ -139,7 +139,7 @@ int test_speed() { //gfxline_t* b = mkchessboard(); //gfxline_t* b = mkrandomshape(100,7); - gfxline_t* b = make_circles(100); + gfxline_t* b = make_circles(30); gfxmatrix_t m; memset(&m, 0, sizeof(gfxmatrix_t)); @@ -439,21 +439,33 @@ void test4(int argn, char*argv[]) #include "../gfxdevice.h" #include "../pdf/pdf.h" +static int max_segments = 0; +static int max_any_segments = 0; void extract_polygons_fill(gfxdevice_t*dev, gfxline_t*line, gfxcolor_t*color) { //gfxpoly_t*c = gfxpoly_from_gfxline(line, 0.05); //gfxpoly_free(c); + //gfxpoly_t*poly1 = gfxpoly_from_gfxline(line, 0.05); gfxpoly_t*poly1 = gfxpoly_from_gfxline(line, 0.05); //gfxline_dump(line, stderr, ""); //gfxpoly_dump(poly); - if(gfxpoly_size(poly1)>100000) { - fprintf(stderr, "%d segments (skipping)\n", gfxpoly_size(poly1)); + int size = gfxpoly_size(poly1); + if(size == 4) { + //rectangles are boring. + gfxpoly_destroy(poly1); + return; + } + + max_any_segments = size > max_any_segments? size : max_any_segments; + if(size>100000) { + fprintf(stderr, "%d segments (skipping)\n", size); return; } else { - //fprintf(stderr, "%d segments\n", gfxpoly_size(poly)); + max_segments = size > max_segments? size : max_segments; + fprintf(stderr, "%d segments (max so far: %d/%d)\n", size, max_segments, max_any_segments); } if(!gfxpoly_check(poly1)) {