diff options
author | Jamey Sharp <jamey@minilop.net> | 2010-05-08 12:18:37 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2010-05-10 11:16:32 -0700 |
commit | 4272d6722c0f65bdfafc95e91cc2fdb8f6bd072e (patch) | |
tree | 7e876ce6b347300960074dc8b3a93d2e49e06305 /mi/miwideline.c | |
parent | 946f664b6ab421f69df3dc3213b14b085424c9e4 (diff) |
Expand macros that are used only in miFillPolyHelper.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'mi/miwideline.c')
-rw-r--r-- | mi/miwideline.c | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/mi/miwideline.c b/mi/miwideline.c index 210a6251e..7e1860302 100644 --- a/mi/miwideline.c +++ b/mi/miwideline.c @@ -138,8 +138,31 @@ miFillPolyHelper (DrawablePtr pDrawable, GCPtr pGC, unsigned long pixel, while ((left_count || left_height) && (right_count || right_height)) { - MIPOLYRELOADLEFT - MIPOLYRELOADRIGHT + if (!left_height && left_count) + { + left_height = left->height; + left_x = left->x; + left_stepx = left->stepx; + left_signdx = left->signdx; + left_e = left->e; + left_dy = left->dy; + left_dx = left->dx; + --left_count; + ++left; + } + + if (!right_height && right_count) + { + right_height = right->height; + right_x = right->x; + right_stepx = right->stepx; + right_signdx = right->signdx; + right_e = right->e; + right_dy = right->dy; + right_dx = right->dx; + --right_count; + ++right; + } height = left_height; if (height > right_height) @@ -157,11 +180,23 @@ miFillPolyHelper (DrawablePtr pDrawable, GCPtr pGC, unsigned long pixel, ppt++; *pwidth++ = right_x - left_x + 1; } - y++; - - MIPOLYSTEPLEFT + y++; - MIPOLYSTEPRIGHT + left_x += left_stepx; + left_e += left_dx; + if (left_e > 0) + { + left_x += left_signdx; + left_e -= left_dy; + } + + right_x += right_stepx; + right_e += right_dx; + if (right_e > 0) + { + right_x += right_signdx; + right_e -= right_dy; + } } } if (!spanData) |