diff options
author | MacDue <macdue@dueutil.tech> | 2023-05-31 19:02:00 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-06-01 06:25:00 +0200 |
commit | 48fa8f97d3bc90fa98ecb1883eba6ce19ec26b88 (patch) | |
tree | 5f0251f9881bfc4c59226c27c639a1ea3787066a /Userland/Shell | |
parent | e4adaa2d20e98df4e2bdac81df8da94eb935af38 (diff) | |
download | serenity-48fa8f97d3bc90fa98ecb1883eba6ce19ec26b88.zip |
LibGfx: Implement new antialiased filled path rasterizer
This is an implementation of the scanline edge-flag algorithm for
antialiased path filling described here:
https://mlab.taik.fi/~kkallio/antialiasing/EdgeFlagAA.pdf
The initial implementation does not try to implement every possible
optimization in favour of keeping things simple. However, it does
support:
- Both evenodd and nonzero fill rules
- Applying paint styles/gradients
- A range of samples per pixel (8, 16, 32)
- Very nice antialiasing :^)
This replaces the previous path filling code, that only really applied
antialiasing in the x-axis.
There's some very nice improvements around the web with this change,
especially for small icons. Strokes are still a bit wonky, as they don't
yet use this rasterizer, but I think it should be possible to convert
them to do so.
Diffstat (limited to 'Userland/Shell')
0 files changed, 0 insertions, 0 deletions