ladybird/Userland/Libraries/LibGfx
MacDue 8c2a5bbc15 LibGfx: Implement antialiased outline ellipsis
This is a first pass at antialiased outline ellipses, currently
this is done by painting two filled AA ellipses, and then
subtracting the inner ellipse from the outer.

This produces a good result, but unfortunately requires allocating
a temporary bitmap in the painter. I did try a simpler method
using the existing line painting functions, and drawing the
ellipse as many line segments, but that produced very poor results.

I think with some work it should be possible to remove the extra
allocation, and I've left a big FIXME for this, but I could not
get this working well.
2022-06-01 19:33:45 +02:00
..
Filters Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Font LibGfx: Add a loader the Web Open Font Format (WOFF) 2022-04-09 23:48:18 +02:00
AffineTransform.cpp LibGfx: Use some AK/Math helpers in AffineTransform 2022-05-07 20:25:39 +02:00
AffineTransform.h LibGfx: Add AffineTransform::is_identity_or_translation() 2022-04-10 21:35:55 +02:00
AntiAliasingPainter.cpp LibGfx: Implement antialiased outline ellipsis 2022-06-01 19:33:45 +02:00
AntiAliasingPainter.h LibGfx: Implement antialiased outline ellipsis 2022-06-01 19:33:45 +02:00
Bitmap.cpp LibGfx: Add Bitmap::solid_color() 2022-05-26 00:07:24 +01:00
Bitmap.h LibGfx: Add Bitmap::solid_color() 2022-05-26 00:07:24 +01:00
BitmapMixer.cpp LibGfx: Add BitmapMixer 2022-01-04 21:41:14 +02:00
BitmapMixer.h LibGfx: Add BitmapMixer 2022-01-04 21:41:14 +02:00
BMPLoader.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BMPLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BMPWriter.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
BMPWriter.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CharacterBitmap.h Libraries: Make CharacterBitmap instances at compile-time 2022-03-04 17:41:08 +01:00
ClassicStylePainter.cpp Everywhere: Fix a bunch of typos 2022-05-29 15:22:00 +02:00
ClassicStylePainter.h LibGUI: TabWidget add vertical tabs 2022-05-21 22:25:16 +02:00
ClassicWindowTheme.cpp LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
ClassicWindowTheme.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CMakeLists.txt LibGfx: Add a QOI image format encoder 2022-04-13 15:21:27 +01:00
Color.cpp Userland: Remove a few gratuitous IPC namespace qualifiers 2022-04-03 15:18:20 +01:00
Color.h LibGfx: Add Color::contrast_ratio() 2022-05-26 00:07:24 +01:00
CursorParams.cpp
CursorParams.h
DDSLoader.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DDSLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DisjointRectSet.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DisjointRectSet.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FillPathImplementation.h
Forward.h LibGfx: Add Gfx::Quad<T> to represent arbitrary quadrilaterals 2022-04-07 17:06:02 +02:00
Gamma.h LibGfx: Use AK's rsqrt and cast to floats earlier 2022-04-02 18:37:38 +02:00
GIFLoader.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
GIFLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ICOLoader.cpp LibGfx: Avoid signed comparison in find_largest_image 2022-04-20 16:01:09 +03:00
ICOLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ImageDecoder.cpp Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
ImageDecoder.h Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
JPGLoader.cpp LibGfx: Fix bounds overflow in JPGLoader 2022-04-17 09:39:48 +04:30
JPGLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Line.h Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
Matrix.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Matrix3x3.h
Matrix4x4.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Orientation.h
Painter.cpp LibGfx: Add the glyph spacing also to spaces in Painter::draw_text_run() 2022-05-09 20:16:59 +02:00
Painter.h LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
Palette.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Palette.h LibGfx+WindowServer: Add theme flag TitleButtonsIconOnly 2022-04-25 23:45:24 +02:00
Path.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Path.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PBMLoader.cpp LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
PBMLoader.h LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
PGMLoader.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PGMLoader.h LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
PNGLoader.cpp LibGfx: Rename conflicting Quad<T> in PNG loader to Quartet<T> 2022-04-07 20:43:35 +02:00
PNGLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PNGWriter.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
PNGWriter.h Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
Point.cpp
Point.h
PortableImageLoaderCommon.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PortableImageMapLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PPMLoader.cpp LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
PPMLoader.h LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
QOILoader.cpp
QOILoader.h
QOIWriter.cpp LibGfx: Add a QOI image format encoder 2022-04-13 15:21:27 +01:00
QOIWriter.h LibGfx: Add a QOI image format encoder 2022-04-13 15:21:27 +01:00
Quad.h LibGfx: Add Gfx::Quad<T> to represent arbitrary quadrilaterals 2022-04-07 17:06:02 +02:00
Rect.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Rect.h LibGfx: Specialize Rect::to_rounded a bit more 2022-05-07 20:25:39 +02:00
ShareableBitmap.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ShareableBitmap.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Size.cpp
Size.h LibGfx: Make Size constexpr-capable 2022-03-04 17:41:08 +01:00
StandardCursor.h
Streamer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
StylePainter.cpp LibGUI: TabWidget add vertical tabs 2022-05-21 22:25:16 +02:00
StylePainter.h LibGUI: TabWidget add vertical tabs 2022-05-21 22:25:16 +02:00
SystemTheme.cpp LibGfx: Add list_installed_system_themes() to SystemTheme 2022-04-02 21:50:41 +02:00
SystemTheme.h LibGfx+WindowServer: Add theme flag TitleButtonsIconOnly 2022-04-25 23:45:24 +02:00
TextAlignment.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextAttributes.h LibGfx: Expand TextAttributes with more information about underlining 2022-01-23 15:48:27 +03:30
TextDirection.cpp
TextDirection.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextElision.h
TextLayout.cpp LibGfx: Use Font::pixel_size() instead of glyph_height() when painting 2022-03-27 01:14:56 +01:00
TextLayout.h LibGfx: Move other font-related files to LibGfx/Font/ 2022-04-09 23:48:18 +02:00
TextWrapping.h
Triangle.cpp LibGfx: Templatize Gfx::Triangle 2022-04-07 17:06:02 +02:00
Triangle.h LibGfx: Templatize Gfx::Triangle 2022-04-07 17:06:02 +02:00
Vector2.h LibGfx: Add IntVector2/3/4 types 2022-05-05 20:50:46 +02:00
Vector3.h LibGfx: Add IntVector2/3/4 types 2022-05-05 20:50:46 +02:00
Vector4.h LibGfx: Add IntVector2/3/4 types 2022-05-05 20:50:46 +02:00
VectorN.h LibGfx: Use AK::round_to for VectorN::to_rounded<U> 2022-05-09 21:49:48 +02:00
WindowTheme.cpp Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
WindowTheme.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00