[smooth] Minor refactoring.
* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line): Updated.
This commit is contained in:
parent
053943a757
commit
97718f3c91
|
@ -1,3 +1,10 @@
|
||||||
|
2016-08-05 Alexei Podtelezhnikov <apodtele@gmail.com>
|
||||||
|
|
||||||
|
[smooth] Minor refactoring.
|
||||||
|
|
||||||
|
* src/smooth/ftgrays.c (gray_render_scanline, gray_render_line):
|
||||||
|
Updated.
|
||||||
|
|
||||||
2016-07-29 Werner Lemberg <wl@gnu.org>
|
2016-07-29 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
[sfnt, truetype] Don't abort on invalid `maxComponentDepth'.
|
[sfnt, truetype] Don't abort on invalid `maxComponentDepth'.
|
||||||
|
|
|
@ -659,12 +659,12 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
|
|
||||||
fx1 = (TCoord)( x1 - SUBPIXELS( ex1 ) );
|
fx1 = (TCoord)( x1 - SUBPIXELS( ex1 ) );
|
||||||
fx2 = (TCoord)( x2 - SUBPIXELS( ex2 ) );
|
fx2 = (TCoord)( x2 - SUBPIXELS( ex2 ) );
|
||||||
|
delta = y2 - y1;
|
||||||
|
|
||||||
/* everything is located in a single cell. That is easy! */
|
/* everything is located in a single cell. That is easy! */
|
||||||
/* */
|
/* */
|
||||||
if ( ex1 == ex2 )
|
if ( ex1 == ex2 )
|
||||||
{
|
{
|
||||||
delta = y2 - y1;
|
|
||||||
ras.area += (TArea)(( fx1 + fx2 ) * delta);
|
ras.area += (TArea)(( fx1 + fx2 ) * delta);
|
||||||
ras.cover += delta;
|
ras.cover += delta;
|
||||||
return;
|
return;
|
||||||
|
@ -673,14 +673,17 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
/* ok, we'll have to render a run of adjacent cells on the same */
|
/* ok, we'll have to render a run of adjacent cells on the same */
|
||||||
/* scanline... */
|
/* scanline... */
|
||||||
/* */
|
/* */
|
||||||
p = ( ONE_PIXEL - fx1 ) * ( y2 - y1 );
|
|
||||||
first = ONE_PIXEL;
|
|
||||||
incr = 1;
|
|
||||||
dx = x2 - x1;
|
dx = x2 - x1;
|
||||||
|
|
||||||
if ( dx < 0 )
|
if ( dx > 0 )
|
||||||
{
|
{
|
||||||
p = fx1 * ( y2 - y1 );
|
p = ( ONE_PIXEL - fx1 ) * delta;
|
||||||
|
first = ONE_PIXEL;
|
||||||
|
incr = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p = fx1 * delta;
|
||||||
first = 0;
|
first = 0;
|
||||||
incr = -1;
|
incr = -1;
|
||||||
dx = -dx;
|
dx = -dx;
|
||||||
|
@ -764,8 +767,6 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
dy = to_y - ras.y;
|
dy = to_y - ras.y;
|
||||||
|
|
||||||
/* vertical line - avoid calling gray_render_scanline */
|
/* vertical line - avoid calling gray_render_scanline */
|
||||||
incr = 1;
|
|
||||||
|
|
||||||
if ( dx == 0 )
|
if ( dx == 0 )
|
||||||
{
|
{
|
||||||
TCoord ex = TRUNC( ras.x );
|
TCoord ex = TRUNC( ras.x );
|
||||||
|
@ -773,8 +774,12 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
TArea area;
|
TArea area;
|
||||||
|
|
||||||
|
|
||||||
|
if ( dy > 0)
|
||||||
|
{
|
||||||
first = ONE_PIXEL;
|
first = ONE_PIXEL;
|
||||||
if ( dy < 0 )
|
incr = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
first = 0;
|
first = 0;
|
||||||
incr = -1;
|
incr = -1;
|
||||||
|
@ -806,11 +811,13 @@ typedef ptrdiff_t FT_PtrDist;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ok, we have to render several scanlines */
|
/* ok, we have to render several scanlines */
|
||||||
|
if ( dy > 0)
|
||||||
|
{
|
||||||
p = ( ONE_PIXEL - fy1 ) * dx;
|
p = ( ONE_PIXEL - fy1 ) * dx;
|
||||||
first = ONE_PIXEL;
|
first = ONE_PIXEL;
|
||||||
incr = 1;
|
incr = 1;
|
||||||
|
}
|
||||||
if ( dy < 0 )
|
else
|
||||||
{
|
{
|
||||||
p = fy1 * dx;
|
p = fy1 * dx;
|
||||||
first = 0;
|
first = 0;
|
||||||
|
|
Loading…
Reference in New Issue