diff options
author | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-05-10 22:06:01 -0400 |
---|---|---|
committer | Alexei Podtelezhnikov <apodtele@gmail.com> | 2021-05-10 22:06:01 -0400 |
commit | b070264521386666dd0cbbedec469c84b26489ba (patch) | |
tree | 2ecf3d387415985017c3ddc841669cff26e4828c | |
parent | 967a34eee3fd34f496366ed1283ab5268d23690a (diff) | |
download | freetype2-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-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/smooth/ftgrays.c | 6 |
2 files changed, 9 insertions, 3 deletions
@@ -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 */ { |