[raster] Introduce SMART macro.

* src/raster/ftraster.c (SMART): New macro for smart dropout rounding.
(Verstical_Sweep_Drop, Horizontal_Sweep_Drop): Use it.
This commit is contained in:
Alexei Podtelezhnikov 2020-09-08 22:41:53 -04:00
parent 3594eaee59
commit cb47331369
2 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2020-09-08 Alexei Podtelezhnikov <apodtele@gmail.com>
[raster] Introduce SMART macro.
* src/raster/ftraster.c (SMART): New macro for smart dropout rounding.
(Verstical_Sweep_Drop, Horizontal_Sweep_Drop): Use it.
2020-09-03 Boris Dalstein <dalboris@gmail.com>
[build] Make CMake install basic version information.

View File

@ -459,6 +459,9 @@
#define IS_TOP_OVERSHOOT( x ) \
(Bool)( x - FLOOR( x ) >= ras.precision_half )
/* smart dropout rounding */
#define SMART( x1, x2 ) FLOOR( ( (x1) + (x2) - 1 ) / 2 + ras.precision_half )
#if FT_RENDER_POOL_SIZE > 2048
#define FT_MAX_BLACK_POOL ( FT_RENDER_POOL_SIZE / sizeof ( Long ) )
#else
@ -2360,7 +2363,7 @@
break;
case 4: /* smart drop-outs including stubs */
pxl = FLOOR( ( x1 + x2 - 1 ) / 2 + ras.precision_half );
pxl = SMART( x1, x2 );
break;
case 1: /* simple drop-outs excluding stubs */
@ -2409,7 +2412,7 @@
if ( dropOutControl == 1 )
pxl = e2;
else
pxl = FLOOR( ( x1 + x2 - 1 ) / 2 + ras.precision_half );
pxl = SMART( x1, x2 );
break;
default: /* modes 2, 3, 6, 7 */
@ -2580,7 +2583,7 @@
break;
case 4: /* smart drop-outs including stubs */
pxl = FLOOR( ( x1 + x2 - 1 ) / 2 + ras.precision_half );
pxl = SMART( x1, x2 );
break;
case 1: /* simple drop-outs excluding stubs */
@ -2604,7 +2607,7 @@
if ( dropOutControl == 1 )
pxl = e2;
else
pxl = FLOOR( ( x1 + x2 - 1 ) / 2 + ras.precision_half );
pxl = SMART( x1, x2 );
break;
default: /* modes 2, 3, 6, 7 */