[PATCH 01/14] Expand macros that are used only in miFillPolyHelper.

Jamey Sharp jamey at minilop.net
Sat May 8 16:39:16 PDT 2010


Signed-off-by: Jamey Sharp <jamey at minilop.net>
---
 mi/miwideline.c |   47 +++++++++++++++++++++++++++++++++++++++++------
 mi/miwideline.h |   40 ----------------------------------------
 2 files changed, 41 insertions(+), 46 deletions(-)

diff --git a/mi/miwideline.c b/mi/miwideline.c
index 210a625..7e18603 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)
diff --git a/mi/miwideline.h b/mi/miwideline.h
index 1f615d6..41b8bb2 100644
--- a/mi/miwideline.h
+++ b/mi/miwideline.h
@@ -99,46 +99,6 @@ typedef struct _LineFace {
  * macros for polygon fillers
  */
 
-#define MIPOLYRELOADLEFT    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; \
-			    }
-
-#define MIPOLYRELOADRIGHT   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; \
-			}
-
-#define MIPOLYSTEPLEFT  left_x += left_stepx; \
-    	    	    	left_e += left_dx; \
-    	    	    	if (left_e > 0) \
-    	    	    	{ \
-	    	    	    left_x += left_signdx; \
-	    	    	    left_e -= left_dy; \
-    	    	    	}
-
-#define MIPOLYSTEPRIGHT right_x += right_stepx; \
-    	    	    	right_e += right_dx; \
-    	    	    	if (right_e > 0) \
-    	    	    	{ \
-	    	    	    right_x += right_signdx; \
-	    	    	    right_e -= right_dy; \
-    	    	    	}
-
 #define MILINESETPIXEL(pDrawable, pGC, pixel, oldPixel) { \
     oldPixel = pGC->fgPixel; \
     if (pixel != oldPixel) { \
-- 
1.7.0



More information about the xorg-devel mailing list