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

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
54 lines
1.1 KiB
CMake
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)
|