X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fart%2Fart_svp_intersect.c;h=84d1da576a0df18bc56f3d3fad2a5f658d1c521a;hb=b93de056e0b79f57c8f8fe22985b166c7d2c3dc3;hp=4ece5f46430384541ea9bd786ab2dcb7d63b3b38;hpb=418ef05b5d0b74e6f19200ffa40bcc3afccb5029;p=swftools.git diff --git a/lib/art/art_svp_intersect.c b/lib/art/art_svp_intersect.c index 4ece5f4..84d1da5 100644 --- a/lib/art/art_svp_intersect.c +++ b/lib/art/art_svp_intersect.c @@ -458,10 +458,10 @@ art_svp_writer_rewind_new (ArtWindRule rule) result->rule = rule; result->n_segs_max = 16; - result->svp = art_alloc (sizeof(ArtSVP) + + result->svp = (ArtSVP*)art_alloc (sizeof(ArtSVP) + (result->n_segs_max - 1) * sizeof(ArtSVPSeg)); result->svp->n_segs = 0; - result->n_points_max = art_new (int, result->n_segs_max); + result->n_points_max = (int*)art_new (int, result->n_segs_max); return &result->super; } @@ -601,7 +601,7 @@ art_svp_intersect_add_horiz (ArtIntersectCtx *ctx, ArtActiveSeg *seg) #ifdef CHEAP_SANITYCHECK if (seg->flags & ART_ACTIVE_FLAGS_IN_HORIZ) { - art_warn ("*** attempt to put segment in horiz list twice\n"); + //art_warn ("*** attempt to put segment in horiz list twice\n"); return; } seg->flags |= ART_ACTIVE_FLAGS_IN_HORIZ; @@ -650,10 +650,8 @@ art_svp_intersect_push_pt (ArtIntersectCtx *ctx, ArtActiveSeg *seg, art_pri_insert (ctx->pq, pri_pt); } -typedef enum { - ART_BREAK_LEFT = 1, - ART_BREAK_RIGHT = 2 -} ArtBreakFlags; +#define ART_BREAK_LEFT 1 +#define ART_BREAK_RIGHT 2 /** * art_svp_intersect_break: Break an active segment. @@ -665,7 +663,7 @@ typedef enum { */ static double art_svp_intersect_break (ArtIntersectCtx *ctx, ArtActiveSeg *seg, - double x_ref, double y, ArtBreakFlags break_flags) + double x_ref, double y, int break_flags) { double x0, y0, x1, y1; const ArtSVPSeg *in_seg = seg->in_seg; @@ -715,7 +713,7 @@ art_svp_intersect_break (ArtIntersectCtx *ctx, ArtActiveSeg *seg, **/ static ArtActiveSeg * art_svp_intersect_add_point (ArtIntersectCtx *ctx, double x, double y, - ArtActiveSeg *seg, ArtBreakFlags break_flags) + ArtActiveSeg *seg, int break_flags) { ArtActiveSeg *left, *right; double x_min = x, x_max = x; @@ -855,7 +853,7 @@ art_svp_intersect_swap_active (ArtIntersectCtx *ctx, static art_boolean art_svp_intersect_test_cross (ArtIntersectCtx *ctx, ArtActiveSeg *left_seg, ArtActiveSeg *right_seg, - ArtBreakFlags break_flags) + int break_flags) { double left_x0, left_y0, left_x1; double left_y1 = left_seg->y1;