From 1586c1b6a15a2c2514ef5f45133ac0369d1680b6 Mon Sep 17 00:00:00 2001 From: Matthias Kramm Date: Wed, 7 Apr 2010 17:48:05 -0700 Subject: [PATCH] added comment about horizontal lines --- lib/gfxpoly/xrow.h | 11 +++++++++++ 1 file changed, 11 insertions(+) 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); -- 1.7.10.4