mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:08:12 +00:00

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.
70 lines
1.8 KiB
CMake
70 lines
1.8 KiB
CMake
set(SOURCES
|
|
AffineTransform.cpp
|
|
AntiAliasingPainter.cpp
|
|
Bitmap.cpp
|
|
BitmapMixer.cpp
|
|
ClassicStylePainter.cpp
|
|
ClassicWindowTheme.cpp
|
|
Color.cpp
|
|
CursorParams.cpp
|
|
DeltaE.cpp
|
|
EdgeFlagPathRasterizer.cpp
|
|
Filters/ColorBlindnessFilter.cpp
|
|
Filters/FastBoxBlurFilter.cpp
|
|
Filters/LumaFilter.cpp
|
|
Filters/StackBlurFilter.cpp
|
|
Font/BitmapFont.cpp
|
|
Font/Emoji.cpp
|
|
Font/Font.cpp
|
|
Font/FontDatabase.cpp
|
|
Font/OpenType/Cmap.cpp
|
|
Font/OpenType/Font.cpp
|
|
Font/OpenType/Glyf.cpp
|
|
Font/OpenType/Hinting/Opcodes.cpp
|
|
Font/PathRasterizer.cpp
|
|
Font/ScaledFont.cpp
|
|
Font/Typeface.cpp
|
|
Font/WOFF/Font.cpp
|
|
GradientPainting.cpp
|
|
ICC/BinaryWriter.cpp
|
|
ICC/Profile.cpp
|
|
ICC/Tags.cpp
|
|
ICC/TagTypes.cpp
|
|
ICC/WellKnownProfiles.cpp
|
|
ImageFormats/BMPLoader.cpp
|
|
ImageFormats/BMPWriter.cpp
|
|
ImageFormats/BooleanDecoder.cpp
|
|
ImageFormats/DDSLoader.cpp
|
|
ImageFormats/GIFLoader.cpp
|
|
ImageFormats/ICOLoader.cpp
|
|
ImageFormats/ImageDecoder.cpp
|
|
ImageFormats/JPEGLoader.cpp
|
|
ImageFormats/PBMLoader.cpp
|
|
ImageFormats/PGMLoader.cpp
|
|
ImageFormats/PNGLoader.cpp
|
|
ImageFormats/PNGWriter.cpp
|
|
ImageFormats/PortableFormatWriter.cpp
|
|
ImageFormats/PPMLoader.cpp
|
|
ImageFormats/QOILoader.cpp
|
|
ImageFormats/QOIWriter.cpp
|
|
ImageFormats/TGALoader.cpp
|
|
ImageFormats/WebPLoader.cpp
|
|
ImageFormats/WebPLoaderLossless.cpp
|
|
ImageFormats/WebPLoaderLossy.cpp
|
|
Painter.cpp
|
|
Palette.cpp
|
|
Path.cpp
|
|
Point.cpp
|
|
Rect.cpp
|
|
ShareableBitmap.cpp
|
|
Size.cpp
|
|
StylePainter.cpp
|
|
SystemTheme.cpp
|
|
TextDirection.cpp
|
|
TextLayout.cpp
|
|
Triangle.cpp
|
|
WindowTheme.cpp
|
|
)
|
|
|
|
serenity_lib(LibGfx gfx)
|
|
target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibFileSystem LibTextCodec LibIPC LibUnicode)
|