From f5626be739a1e1b61f89d7a389be3c4b5d4d9128 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Thu, 23 Apr 2009 20:06:00 +0200 Subject: many optimizations and bugfixes in the new intersector code --- lib/gfxpoly/test.c | 107 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 98 insertions(+), 9 deletions(-) (limited to 'lib/gfxpoly/test.c') diff --git a/lib/gfxpoly/test.c b/lib/gfxpoly/test.c index e4e84559..e8c140c4 100644 --- a/lib/gfxpoly/test.c +++ b/lib/gfxpoly/test.c @@ -11,12 +11,12 @@ gfxline_t*mkstar(int x1, int y1, int x2, int y2) gfxline_t*l=0,*line = 0; int x; for(x=x1;x<=x2;x+=50) { - l = malloc(sizeof(gfxline_t)); + l = rfx_calloc(sizeof(gfxline_t)); l->type = gfx_moveTo; l->x = x;l->y = y1; line = gfxline_append(line, l); - l = malloc(sizeof(gfxline_t)); + l = rfx_calloc(sizeof(gfxline_t)); l->type = gfx_lineTo; l->x = x2-x;l->y = y2; line = gfxline_append(line, l); @@ -27,7 +27,6 @@ gfxline_t*mkstar(int x1, int y1, int x2, int y2) int test1() { gfxline_t*box1 = gfxline_makerectangle(50,50,150,150); - // put box2 and box3 on top of each other *snicker* gfxline_t*box2 = gfxline_makerectangle(100,100,200,200); gfxline_t*box3 = gfxline_makerectangle(100,100,200,200); @@ -49,6 +48,7 @@ int test1() gfxline_free(box1); gfxline_free(box2); gfxline_free(box3); + gfxline_free(star); gfxpoly_dump(poly); gfxpoly_process(poly); @@ -56,13 +56,14 @@ int test1() int test2() { -#define N 1000 +#define N 50 +#define RANGE 150 int t; gfxline_t* line = malloc(sizeof(gfxline_t)*N); for(t=0;ta.x*20, e->a.y*20); + swf_ShapeSetLine(tag, s, e->b.x*20 - e->a.x*20, e->b.y*20 - e->a.y*20); + e = e->next; + } + swf_ShapeSetEnd(tag); + swf_ShapeFree(s); + + gfxpoly_destroy(poly); + gfxpoly_destroy(poly2); + + gfxline_free(l); + + if(t) { + tag = swf_InsertTag(tag,ST_REMOVEOBJECT2); + swf_SetU16(tag, t); + } + tag = swf_InsertTag(tag,ST_PLACEOBJECT2); + swf_ObjectPlace(tag,t+1,t+1,NULL,NULL,NULL); + + tag = swf_InsertTag(tag, ST_SHOWFRAME); + } + tag = swf_InsertTag(tag, ST_END); + + swf_SaveSWF(&swf, "test.swf"); } int main() { - test2(); + test3(); } -- cgit v1.2.3