[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:
parent
9cd403bc9f
commit
d5e8686dd8
|
@ -466,9 +466,6 @@
|
||||||
|
|
||||||
Bool fresh; /* signals a fresh new profile which */
|
Bool fresh; /* signals a fresh new profile which */
|
||||||
/* `start' field must be completed */
|
/* `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 cProfile; /* current profile */
|
||||||
PProfile fProfile; /* head of linked list of profiles */
|
PProfile fProfile; /* head of linked list of profiles */
|
||||||
PProfile gProfile; /* contour's first profile in case */
|
PProfile gProfile; /* contour's first profile in case */
|
||||||
|
@ -684,7 +681,6 @@
|
||||||
|
|
||||||
ras.state = aState;
|
ras.state = aState;
|
||||||
ras.fresh = TRUE;
|
ras.fresh = TRUE;
|
||||||
ras.joint = FALSE;
|
|
||||||
|
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -950,12 +946,9 @@
|
||||||
ras.cProfile->start = (Int)TRUNC( e );
|
ras.cProfile->start = (Int)TRUNC( e );
|
||||||
ras.fresh = FALSE;
|
ras.fresh = FALSE;
|
||||||
}
|
}
|
||||||
|
else if ( y1 == e )
|
||||||
if ( y1 == e && ras.joint )
|
|
||||||
top--;
|
top--;
|
||||||
|
|
||||||
ras.joint = (Bool)( y2 == e2 );
|
|
||||||
|
|
||||||
size = (Int)TRUNC( e2 - e ) + 1;
|
size = (Int)TRUNC( e2 - e ) + 1;
|
||||||
|
|
||||||
if ( top + size >= ras.maxBuff )
|
if ( top + size >= ras.maxBuff )
|
||||||
|
@ -1126,18 +1119,15 @@
|
||||||
ras.cProfile->start = (Int)TRUNC( e );
|
ras.cProfile->start = (Int)TRUNC( e );
|
||||||
ras.fresh = FALSE;
|
ras.fresh = FALSE;
|
||||||
}
|
}
|
||||||
|
else if ( y1 == e )
|
||||||
|
top--;
|
||||||
|
|
||||||
if ( y1 == e )
|
if ( y1 == e )
|
||||||
{
|
{
|
||||||
if ( ras.joint )
|
|
||||||
top--;
|
|
||||||
|
|
||||||
*top++ = arc[degree].x;
|
*top++ = arc[degree].x;
|
||||||
e += ras.precision;
|
e += ras.precision;
|
||||||
}
|
}
|
||||||
|
|
||||||
ras.joint = (Bool)( y2 == e2 );
|
|
||||||
|
|
||||||
if ( ( top + TRUNC( e2 - e ) + 1 ) >= ras.maxBuff )
|
if ( ( top + TRUNC( e2 - e ) + 1 ) >= ras.maxBuff )
|
||||||
{
|
{
|
||||||
ras.error = FT_THROW( Raster_Overflow );
|
ras.error = FT_THROW( Raster_Overflow );
|
||||||
|
|
Loading…
Reference in New Issue