[raster] Get rid of the joint flag.

* src/raster/ftraster.c (Line_Up, Bezier_Up): Deal with the scanline
joints directly based on the initial y-coordinate.
(New_Profile, black_TWorker): Remove the boolean flag.
This commit is contained in:
Alexei Podtelezhnikov 2023-11-11 21:10:29 -05:00
parent 9cd403bc9f
commit d5e8686dd8
1 changed files with 3 additions and 13 deletions

View File

@ -466,9 +466,6 @@
Bool fresh; /* signals a fresh new profile which */
/* `start' field must be completed */
Bool joint; /* signals that the last arc ended */
/* exactly on a scanline. Allows */
/* removal of doublets */
PProfile cProfile; /* current profile */
PProfile fProfile; /* head of linked list of profiles */
PProfile gProfile; /* contour's first profile in case */
@ -684,7 +681,6 @@
ras.state = aState;
ras.fresh = TRUE;
ras.joint = FALSE;
return SUCCESS;
}
@ -950,12 +946,9 @@
ras.cProfile->start = (Int)TRUNC( e );
ras.fresh = FALSE;
}
if ( y1 == e && ras.joint )
else if ( y1 == e )
top--;
ras.joint = (Bool)( y2 == e2 );
size = (Int)TRUNC( e2 - e ) + 1;
if ( top + size >= ras.maxBuff )
@ -1126,18 +1119,15 @@
ras.cProfile->start = (Int)TRUNC( e );
ras.fresh = FALSE;
}
else if ( y1 == e )
top--;
if ( y1 == e )
{
if ( ras.joint )
top--;
*top++ = arc[degree].x;
e += ras.precision;
}
ras.joint = (Bool)( y2 == e2 );
if ( ( top + TRUNC( e2 - e ) + 1 ) >= ras.maxBuff )
{
ras.error = FT_THROW( Raster_Overflow );