summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2021-05-10 22:06:01 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2021-05-10 22:06:01 -0400
commitb070264521386666dd0cbbedec469c84b26489ba (patch)
tree2ecf3d387415985017c3ddc841669cff26e4828c
parent967a34eee3fd34f496366ed1283ab5268d23690a (diff)
downloadfreetype2-b070264521386666dd0cbbedec469c84b26489ba.tar.gz
* src/smooth/ftgrays.c (gray_hline): Simplify even-odd computations.
It is too bad the even-odd rule is not used much.
-rw-r--r--ChangeLog6
-rw-r--r--src/smooth/ftgrays.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ead7ae2ed..a8542d2d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-05-10 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (gray_hline): Simplify even-odd computations.
+
+ It is too bad the even-odd rule is not used much.
+
2021-05-07 Alexei Podtelezhnikov <apodtele@gmail.com>
[type1] Avoid MM memory zeroing.
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index dc25669cc..94169a006 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1182,10 +1182,10 @@ typedef ptrdiff_t FT_PtrDist;
/* compute the line's coverage depending on the outline fill rule */
if ( ras.outline.flags & FT_OUTLINE_EVEN_ODD_FILL )
{
- coverage &= 511;
+ if ( coverage & 256 ) /* odd bit */
+ coverage = ~coverage;
- if ( coverage >= 256 )
- coverage = 511 - coverage;
+ /* higher bits discarded below */
}
else /* default non-zero winding rule */
{