X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxpoly%2Factive.c;h=51e07969fb8b988a8d19df7146ce9f4f9be308c2;hp=56c7b9086e359e5ad8de58a31e6af86f0afabeb1;hb=163bdd5cab1758e4517e8365b3e40b5461d63640;hpb=f5626be739a1e1b61f89d7a389be3c4b5d4d9128 diff --git a/lib/gfxpoly/active.c b/lib/gfxpoly/active.c index 56c7b90..51e0796 100644 --- a/lib/gfxpoly/active.c +++ b/lib/gfxpoly/active.c @@ -76,6 +76,7 @@ static void actlist_insert_after(actlist_t*a, segment_t*left, segment_t*s) s->left->right = s; if(s->right) s->right->left = s; + a->size++; } void actlist_insert(actlist_t*a, point_t p, segment_t*s) @@ -95,6 +96,11 @@ void actlist_delete(actlist_t*a, segment_t*s) s->right->left = s->left; } s->left = s->right = 0; + a->size--; +} +int actlist_size(actlist_t*a) +{ + return a->size; } segment_t* actlist_leftmost(actlist_t*a) @@ -109,7 +115,8 @@ segment_t* actlist_left(actlist_t*a, segment_t*s) segment_t* actlist_right(actlist_t*a, segment_t*s) { - return s->right; + if(s) return s->right; + else return a->list; } void actlist_swap(actlist_t*a, segment_t*s1, segment_t*s2)