* src/raster/ftraster.c (Bezier_Up): Improve flow.

msbuild-test
Alexei Podtelezhnikov 1 year ago
parent 8a2ca26b41
commit e920273774
  1. 42
      src/raster/ftraster.c

@ -1123,7 +1123,7 @@
Long miny,
Long maxy )
{
Long y1, y2, e, e2, e0, dy;
Long y1, y2, e, e2, dy;
Long dx, x2;
TPoint* start_arc;
@ -1138,38 +1138,26 @@
if ( y2 < miny || y1 > maxy )
goto Fin;
e2 = FLOOR( y2 );
e2 = y2 > maxy ? maxy : FLOOR( y2 );
e = y1 < miny ? miny : CEILING( y1 );
if ( e2 > maxy )
e2 = maxy;
e0 = miny;
if ( y1 < miny )
e = miny;
else
if ( ras.fresh )
{
e = CEILING( y1 );
e0 = e;
ras.cProfile->start = (Int)TRUNC( e );
ras.fresh = FALSE;
}
if ( FRAC( y1 ) == 0 )
if ( y1 == e )
{
if ( ras.joint )
{
if ( ras.joint )
{
top--;
ras.joint = FALSE;
}
*top++ = arc[degree].x;
e += ras.precision;
top--;
ras.joint = FALSE;
}
}
if ( ras.fresh )
{
ras.cProfile->start = (Int)TRUNC( e0 );
ras.fresh = FALSE;
*top++ = arc[degree].x;
e += ras.precision;
}
if ( e2 < e )

Loading…
Cancel
Save