Index: third_party/freetype/src/raster/ftraster.c |
diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c b/third_party/freetype/src/raster/ftraster.c |
similarity index 99% |
rename from core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c |
rename to third_party/freetype/src/raster/ftraster.c |
index 264f6b09573de658b2767ffb2cc8673c6e589fb0..b06ac333da176141b52c9da61ae6a398fa3a9ef6 100644 |
--- a/core/src/fxge/fx_freetype/fxft2.5.01/src/raster/ftraster.c |
+++ b/third_party/freetype/src/raster/ftraster.c |
@@ -4,7 +4,7 @@ |
/* */ |
/* The FreeType glyph rasterizer (body). */ |
/* */ |
-/* Copyright 1996-2003, 2005, 2007-2013 by */ |
+/* Copyright 1996-2003, 2005, 2007-2014 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -24,8 +24,8 @@ |
/* */ |
/* - copy `src/raster/ftraster.c' (this file) to your current directory */ |
/* */ |
- /* - copy `include/freetype/ftimage.h' and `src/raster/ftmisc.h' */ |
- /* to your current directory */ |
+ /* - copy `include/ftimage.h' and `src/raster/ftmisc.h' to your current */ |
+ /* directory */ |
/* */ |
/* - compile `ftraster' with the _STANDALONE_ macro defined, as in */ |
/* */ |
@@ -58,9 +58,9 @@ |
#else /* !_STANDALONE_ */ |
-#include "../../include/ft2build.h" |
+#include <ft2build.h> |
#include "ftraster.h" |
-#include "../../include/freetype/internal/ftcalc.h" /* for FT_MulDiv and FT_MulDiv_No_Round */ |
+#include FT_INTERNAL_CALC_H /* for FT_MulDiv and FT_MulDiv_No_Round */ |
#include "rastpic.h" |
@@ -230,8 +230,8 @@ |
#else /* !_STANDALONE_ */ |
-#include "../../include/freetype/internal/ftobjs.h" |
-#include "../../include/freetype/internal/ftdebug.h" /* for FT_TRACE, FT_ERROR, and FT_THROW */ |
+#include FT_INTERNAL_OBJECTS_H |
+#include FT_INTERNAL_DEBUG_H /* for FT_TRACE, FT_ERROR, and FT_THROW */ |
#include "rasterrs.h" |
@@ -1874,7 +1874,7 @@ |
v_start.x = ( v_start.x + v_last.x ) / 2; |
v_start.y = ( v_start.y + v_last.y ) / 2; |
- v_last = v_start; |
+ /* v_last = v_start; */ |
} |
point--; |
tags--; |
@@ -2284,6 +2284,8 @@ |
Long e1, e2; |
Byte* target; |
+ Int dropOutControl = left->flags & 7; |
+ |
FT_UNUSED( y ); |
FT_UNUSED( left ); |
FT_UNUSED( right ); |
@@ -2293,7 +2295,8 @@ |
e1 = TRUNC( CEILING( x1 ) ); |
- if ( x2 - x1 - ras.precision <= ras.precision_jitter ) |
+ if ( dropOutControl != 2 && |
+ x2 - x1 - ras.precision <= ras.precision_jitter ) |
e2 = e1; |
else |
e2 = TRUNC( FLOOR( x2 ) ); |
@@ -2550,7 +2553,7 @@ |
e1 = TRUNC( e1 ); |
- if ( e1 >= 0 && e1 < ras.target.rows ) |
+ if ( e1 >= 0 && (ULong)e1 < ras.target.rows ) |
{ |
PByte p; |
@@ -2644,7 +2647,7 @@ |
/* bounding box instead */ |
if ( pxl < 0 ) |
pxl = e1; |
- else if ( TRUNC( pxl ) >= ras.target.rows ) |
+ else if ( (ULong)( TRUNC( pxl ) ) >= ras.target.rows ) |
pxl = e2; |
/* check that the other pixel isn't set */ |
@@ -2659,9 +2662,9 @@ |
if ( ras.target.pitch > 0 ) |
bits += ( ras.target.rows - 1 ) * ras.target.pitch; |
- if ( e1 >= 0 && |
- e1 < ras.target.rows && |
- *bits & f1 ) |
+ if ( e1 >= 0 && |
+ (ULong)e1 < ras.target.rows && |
+ *bits & f1 ) |
return; |
} |
else |
@@ -2673,7 +2676,7 @@ |
e1 = TRUNC( pxl ); |
- if ( e1 >= 0 && e1 < ras.target.rows ) |
+ if ( e1 >= 0 && (ULong)e1 < ras.target.rows ) |
{ |
bits -= e1 * ras.target.pitch; |
if ( ras.target.pitch > 0 ) |
@@ -3539,7 +3542,7 @@ |
} |
- static void |
+ static int |
ft_black_set_mode( black_PRaster raster, |
unsigned long mode, |
const char* palette ) |
@@ -3563,6 +3566,8 @@ |
FT_UNUSED( palette ); |
#endif |
+ |
+ return 0; |
} |