From: Matthias Kramm Date: Thu, 8 Apr 2010 00:48:05 +0000 (-0700) Subject: added comment about horizontal lines X-Git-Tag: version-0-9-1~5^2~9 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=1586c1b6a15a2c2514ef5f45133ac0369d1680b6;ds=sidebyside added comment about horizontal lines --- diff --git a/lib/gfxpoly/xrow.h b/lib/gfxpoly/xrow.h index e172920..ee0be13 100644 --- a/lib/gfxpoly/xrow.h +++ b/lib/gfxpoly/xrow.h @@ -33,6 +33,17 @@ xrow_t* xrow_new(); line (from right to left, using the below fillstyle). */ +/* Another approach: since we really only need to know the below *or* above fillstyles in order to + determine whether a horizontal line is still needed (if its edgestyle doesn't change the windstate, + it's not needed), we can also process horizontal lines after the start events: walk the temporary + end segment list and the active list interleaved for each horizontal line, insert horizontal fragments + whenever they seem to modify the fillstyle (e.g. apply them with dir=UP). + This means that "very horizontal" segments ending in a scanline that encounter hot pixels + on their way (and thus don't receive "their" endpoint) need to store a horizontal event. Same for + general segments that pass/intersect multiple hotpixels in a scanline. +*/ + + void xrow_add(xrow_t*xrow, int32_t x); void xrow_sort(xrow_t*xrow);