[raster] Clean up sweeping.
* src/raster/ftraster.c (Draw_Sweep): Zero initialize the working lists directly and remove unnecessary y-turn checks. (Init_Linked): Removed.
This commit is contained in:
parent
09ae6eb677
commit
d1e894b1f1
|
@ -2005,19 +2005,6 @@
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
*
|
|
||||||
* Init_Linked
|
|
||||||
*
|
|
||||||
* Initializes an empty linked list.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
Init_Linked( TProfileList* l )
|
|
||||||
{
|
|
||||||
*l = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* InsNew
|
* InsNew
|
||||||
|
@ -2625,6 +2612,9 @@
|
||||||
*
|
*
|
||||||
* Generic Sweep Drawing routine
|
* Generic Sweep Drawing routine
|
||||||
*
|
*
|
||||||
|
* Note that this routine is executed with the pool containing at least
|
||||||
|
* two valid profiles (up and down) and two y-turns (top and bottom).
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static Bool
|
static Bool
|
||||||
|
@ -2638,17 +2628,11 @@
|
||||||
|
|
||||||
Long x1, x2, xs, e1, e2;
|
Long x1, x2, xs, e1, e2;
|
||||||
|
|
||||||
TProfileList waiting;
|
TProfileList waiting = NULL;
|
||||||
TProfileList draw_left, draw_right;
|
TProfileList draw_left = NULL;
|
||||||
|
TProfileList draw_right = NULL;
|
||||||
|
|
||||||
|
|
||||||
/* initialize empty linked lists */
|
|
||||||
|
|
||||||
Init_Linked( &waiting );
|
|
||||||
|
|
||||||
Init_Linked( &draw_left );
|
|
||||||
Init_Linked( &draw_right );
|
|
||||||
|
|
||||||
/* first, compute min and max Y */
|
/* first, compute min and max Y */
|
||||||
|
|
||||||
P = ras.fProfile;
|
P = ras.fProfile;
|
||||||
|
@ -2673,13 +2657,6 @@
|
||||||
P = Q;
|
P = Q;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* check the Y-turns */
|
|
||||||
if ( ras.numTurns == 0 )
|
|
||||||
{
|
|
||||||
ras.error = FT_THROW( Invalid_Outline );
|
|
||||||
return FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* now initialize the sweep */
|
/* now initialize the sweep */
|
||||||
|
|
||||||
ras.Proc_Sweep_Init( RAS_VARS min_Y, max_Y );
|
ras.Proc_Sweep_Init( RAS_VARS min_Y, max_Y );
|
||||||
|
@ -2699,8 +2676,7 @@
|
||||||
y = min_Y;
|
y = min_Y;
|
||||||
y_height = 0;
|
y_height = 0;
|
||||||
|
|
||||||
if ( ras.numTurns > 0 &&
|
if ( ras.sizeBuff[-ras.numTurns] == min_Y )
|
||||||
ras.sizeBuff[-ras.numTurns] == min_Y )
|
|
||||||
ras.numTurns--;
|
ras.numTurns--;
|
||||||
|
|
||||||
while ( ras.numTurns > 0 )
|
while ( ras.numTurns > 0 )
|
||||||
|
|
Loading…
Reference in New Issue