Additional improvements to make the anti-aliasing even faster :-) As previously, this is only noticable for sizes over 64 pixels.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
diff --git a/src/base/ftraster.c b/src/base/ftraster.c
index 15b557f..cad126d 100644
--- a/src/base/ftraster.c
+++ b/src/base/ftraster.c
@@ -3309,18 +3309,23 @@
if (b < 127) b++;
bits[0] = (64-x1) + (b >> 1);
- e2--;
- while (e2 > 0)
+ if ( ras.precision > 64 )
{
- bits += incr;
- b = bits[0];
-
- if (b < 127)
- bits[0] = (Byte)(63+((b+1) >> 1));
-
e2--;
+ while (e2 > 0)
+ {
+ bits += incr;
+ b = bits[0];
+
+ if (b < 127)
+ bits[0] = (Byte)(63+((b+1) >> 1));
+
+ e2--;
+ }
}
-
+ else
+ bits += incr*(e2-1);
+
if (x2)
{
bits += incr;
@@ -3328,7 +3333,6 @@
if (b < 127) b++;
bits[0] = (Byte)(x2 + (b >> 1));
}
-
}
else
{