1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 15:28:11 +00:00
serenity/Userland/Libraries/LibGfx/CMakeLists.txt
MacDue 7f8cf81f7a LibGfx: Add StackBlurFilter, an efficient almost gaussian blur
This adds an implementation of StackBlur which is a very efficient
blur that closely approximates a gaussian blur. It has a number of
benefits over the existing FastBoxBlurFilter:

1. It's faster (~half the pixel lookups of a single box blur pass)
2. It only requires a single pass over image to produce good results
  - (Rather than the 3 the box blur requires)
3. It only needs to allocate a buffer of `blur_radius * 2 + 1` colors
  - These easily fits on the stack for any reasonable radius

For a detailed explanation of the algorithm check out this link:
https://observablehq.com/@jobleonard/mario-klingemans-stackblur
2022-06-30 11:16:22 +02:00

54 lines
1.1 KiB
CMake

set(SOURCES
AffineTransform.cpp
AntiAliasingPainter.cpp
BMPLoader.cpp
BMPWriter.cpp
Bitmap.cpp
BitmapMixer.cpp
ClassicStylePainter.cpp
ClassicWindowTheme.cpp
Color.cpp
CursorParams.cpp
DDSLoader.cpp
DisjointRectSet.cpp
Filters/ColorBlindnessFilter.cpp
Filters/FastBoxBlurFilter.cpp
Filters/LumaFilter.cpp
Filters/StackBlurFilter.cpp
Font/BitmapFont.cpp
Font/Emoji.cpp
Font/FontDatabase.cpp
Font/ScaledFont.cpp
Font/TrueType/Cmap.cpp
Font/TrueType/Font.cpp
Font/TrueType/Glyf.cpp
Font/Typeface.cpp
Font/WOFF/Font.cpp
GIFLoader.cpp
ICOLoader.cpp
ImageDecoder.cpp
JPGLoader.cpp
PBMLoader.cpp
PGMLoader.cpp
PNGLoader.cpp
PNGWriter.cpp
PPMLoader.cpp
Painter.cpp
Palette.cpp
Path.cpp
Point.cpp
QOILoader.cpp
QOIWriter.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 LibM LibCompress LibCore LibTextCodec LibIPC)