summaryrefslogtreecommitdiff
path: root/src/smooth
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2010-10-15 20:44:15 +0200
committerWerner Lemberg <wl@gnu.org>2010-10-15 20:44:15 +0200
commit34d61e8637f29b05fccae5464fa4414e62627b8e (patch)
treeb228a1c508e4b6a26bcfe297cbfe40545619743b /src/smooth
parent463dddadfbc4a5d28b7983c69ddd840b72519325 (diff)
Fix thinko in spline flattening.
FT_MAX_CURVE_DEVIATION is dependent on the value of ONE_PIXEL. * src/smooth/ftgrays.c (FT_MAX_CURVE_DEVIATION): Remove it and replace it everywhere with ONE_PIXEL/8.
Diffstat (limited to 'src/smooth')
-rw-r--r--src/smooth/ftgrays.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index 17d172f6..4477638d 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -91,11 +91,6 @@
#define FT_COMPONENT trace_smooth
- /* The maximum distance of a curve from the chord, in 64ths of a pixel; */
- /* used when flattening curves. */
-#define FT_MAX_CURVE_DEVIATION 16
-
-
#ifdef _STANDALONE_
@@ -891,14 +886,14 @@ typedef ptrdiff_t FT_PtrDist;
if ( dx < dy )
dx = dy;
- if ( dx <= FT_MAX_CURVE_DEVIATION )
+ if ( dx <= ONE_PIXEL / 8 )
{
gray_render_line( RAS_VAR_ UPSCALE( to->x ), UPSCALE( to->y ) );
return;
}
level = 1;
- dx /= FT_MAX_CURVE_DEVIATION;
+ dx /= ONE_PIXEL / 8;
while ( dx > 1 )
{
dx >>= 2;
@@ -1074,7 +1069,7 @@ typedef ptrdiff_t FT_PtrDist;
goto Split;
/* Max deviation may be as much as (s/L) * 3/4 (if Hain's v = 1). */
- s_limit = L * (TPos)( FT_MAX_CURVE_DEVIATION / 0.75 );
+ s_limit = L * (TPos)( ONE_PIXEL / 6 );
/* s is L * the perpendicular distance from P1 to the line P0-P3. */
dx1 = arc[1].x - arc[0].x;