38 #define CENTER_GRADE_CAP 25.0
49 #define find_bounds_loop(point1,point2,x_min,x_max) \
50 x_min = point2->pos.x; \
51 x_max = point2->pos.x; \
53 this_point = point1; \
55 x_min = MIN (this_point->pos.x, x_min); \
56 x_max = MAX (this_point->pos.x, x_max); \
57 this_point = this_point->next; \
59 while (this_point != point2 && this_point != point1) \
79 if (xmin <
MIN (rect[0], rect[2]) && xmax >
MAX (rect[1], rect[3]))
98 grade = (rect[1] - rect[0]) - (rect[3] - rect[2]);
104 return (
MAX (0.0, grade));
117 register inT16 width1;
118 register inT16 width2;
119 register inT16 overlap;
121 width1 = rect[3] - rect[2];
122 width2 = rect[1] - rect[0];
124 overlap =
MIN (rect[1], rect[3]) -
MAX (rect[0], rect[2]);
125 width1 =
MIN (width1, width2);
126 if (overlap == width1)
129 width1 = 2 * overlap - width1;
130 overlap +=
MAX (0, width1);
134 return (
MAX (0.0, grade));
147 register float split_length;
152 if (split_length <= 0)
157 return (
MAX (0.0, grade));
193 register inT32 width1;
194 register inT32 width2;
196 width1 = rect[3] - rect[2];
197 width2 = rect[1] - rect[0];
199 grade = 20 - (
MAX (rect[1], rect[3])
200 -
MIN (rect[0], rect[2]) -
MAX (width1, width2));
204 return (
MAX (0.0, grade));
216 register EDGEPT *this_point;
217 register inT16 x_min;
218 register inT16 x_max;