... |
... |
@@ -115,12 +115,12 @@ |
115
|
115
|
* a change of direction is detected in the outline, a new profile is
|
116
|
116
|
* generated until the end of the outline.
|
117
|
117
|
*
|
118
|
|
- * Note that when all profiles have been generated, the function
|
119
|
|
- * Finalize_Profile_Table() is used to record, for each profile, its
|
120
|
|
- * bottom-most scanline as well as the scanline above its upmost
|
121
|
|
- * boundary. These positions are called `y-turns' because they (sort
|
122
|
|
- * of) correspond to local extrema. They are stored in a sorted list
|
123
|
|
- * built from the top of the render pool as a downwards stack:
|
|
118
|
+ * Note that, for all generated profiles, the function End_Profile()
|
|
119
|
+ * is used to record their bottom-most scanline as well as the
|
|
120
|
+ * scanline above its upmost boundary. These positions are called
|
|
121
|
+ * `y-turns' because they (sort of) correspond to local extrema.
|
|
122
|
+ * They are stored in a sorted list built from the top of the render
|
|
123
|
+ * pool as a downwards stack:
|
124
|
124
|
*
|
125
|
125
|
* _ _ _______________________________________
|
126
|
126
|
* | |
|
... |
... |
@@ -136,7 +136,7 @@ |
136
|
136
|
* optimize performance (see technical note on the sweep below).
|
137
|
137
|
*
|
138
|
138
|
* Of course, the raster detects whether the two stacks collide and
|
139
|
|
- * handles the situation properly.
|
|
139
|
+ * handles the situation by bisecting the job and restarting.
|
140
|
140
|
*
|
141
|
141
|
*/
|
142
|
142
|
|
... |
... |
@@ -1984,11 +1984,9 @@ |
1984
|
1984
|
( ras.cProfile->flags & Flow_Up ) )
|
1985
|
1985
|
ras.top--;
|
1986
|
1986
|
|
1987
|
|
- if ( ras.top != ras.cProfile->offset &&
|
1988
|
|
- ( ras.cProfile->flags & Flow_Up ) )
|
1989
|
|
- o = IS_TOP_OVERSHOOT( ras.lastY );
|
1990
|
|
- else
|
1991
|
|
- o = IS_BOTTOM_OVERSHOOT( ras.lastY );
|
|
1987
|
+ o = ras.cProfile->flags & Flow_Up ? IS_TOP_OVERSHOOT( ras.lastY )
|
|
1988
|
+ : IS_BOTTOM_OVERSHOOT( ras.lastY );
|
|
1989
|
+
|
1992
|
1990
|
if ( End_Profile( RAS_VARS o ) )
|
1993
|
1991
|
return FAILURE;
|
1994
|
1992
|
|