1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:38:10 +00:00
serenity/Userland/Libraries/LibGfx
MacDue c8c065b6b0 LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx
This moves the CSS gradient painting to the painter creating:

 - Painter::fill_rect_with_linear_gradient()
 - Painter::fill_rect_with_conic_gradient()
 - Painter::fill_rect_with_radial_gradient()

This has a few benefits:
 - The gradients can now easily respect the painter scale
 - The Painter::fill_pixels() escape hatch can be removed
 - We can remove the old fixed color stop gradient code
    - The old functions are  now just a shim
 - Anywhere can now easily use this gradient painting code!

This only leaves the color stop resolution in LibWeb (which is fine).
Just means in LibGfx you have to actually specify color stop positions.

(Also while here add a small optimization to avoid generating
excessively long gradient lines)
2023-01-10 10:25:58 +01:00
..
Filters Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Font AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
AffineTransform.cpp Meta+Userland: Pass Gfx::IntSize by value 2022-12-07 11:48:27 +01:00
AffineTransform.h Meta+Userland: Pass Gfx::IntSize by value 2022-12-07 11:48:27 +01:00
AntiAliasingPainter.cpp LibGfx: Improve AA stroke_path() line intersections a little 2023-01-03 18:08:22 +01:00
AntiAliasingPainter.h LibGfx: Add int overloads for (AntiAliasing)Painter float methods 2022-12-08 12:46:03 +00:00
Bitmap.cpp LibGfx: Preserve scale on Bitmap crop 2022-12-23 12:16:46 +00:00
Bitmap.h LibGfx: Split VERIFY statements in various Bitmap class methods 2022-12-19 11:05:44 +00: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 LibGfx: BMPLoader: Propagate errors properly 2022-12-23 16:48:30 -05:00
BMPLoader.h LibGfx: Support BMP favicons with less than 32 bpp 2022-12-20 10:26:55 +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 LibGUI+LibGfx: Let Desktop::the() set widget effects 2022-08-09 12:08:21 +02:00
ClassicStylePainter.h LibGUI+LibGfx: Let Desktop::the() set widget effects 2022-08-09 12:08:21 +02:00
ClassicWindowTheme.cpp LibGfx: Round menu font size up when calculating menubar height 2023-01-06 12:02:21 +01:00
ClassicWindowTheme.h LibGfx: Make ClassicWindowTheme menubar heights respect the font size 2023-01-03 15:25:02 +01:00
CMakeLists.txt LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx 2023-01-10 10:25:58 +01:00
Color.cpp LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Color.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
CursorParams.cpp Meta+Userland: Pass Gfx::IntPoint by value 2022-12-07 11:48:27 +01:00
CursorParams.h Meta+Userland: Pass Gfx::IntPoint by value 2022-12-07 11:48:27 +01:00
DDSLoader.cpp LibGfx: DDSLoader: Propagate errors properly 2022-12-23 16:48:30 -05:00
DDSLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DisjointRectSet.h LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects 2022-10-27 13:06:33 +02:00
FillPathImplementation.h Everywhere: Make global inline functions not static 2023-01-04 20:04:57 +01:00
Forward.h LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects 2022-10-27 13:06:33 +02:00
Gamma.h LibGfx: Remove a workaround for clang before 11 2022-10-04 23:35:07 +01:00
GIFLoader.cpp LibGfx: GIFLoader: Propagate more errors 2022-12-23 16:48:30 -05:00
GIFLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
GradientPainting.cpp LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx 2023-01-10 10:25:58 +01:00
Gradients.h LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx 2023-01-10 10:25:58 +01:00
ICCProfile.cpp LibGfx+icc: Look at profile_size field 2023-01-08 23:41:14 +01:00
ICCProfile.h LibGfx: Add initializer for ICC::DistinctFourCC 2023-01-08 23:41:14 +01:00
ICOLoader.cpp LibGfx: Prefer largest image with best depth for ICO display 2023-01-06 17:31:05 +01: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: JPGLoader: Centralize error handling in read_be_word 2022-12-23 16:48:30 -05:00
JPGLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Line.h Everywhere: Remove unused includes of LibC/stdlib.h 2023-01-02 20:27:20 -05:00
Matrix.h Everywhere: Run clang-format 2022-12-03 23:52:23 +00:00
Matrix3x3.h LibGfx: Add Matrix3x3 2021-12-30 14:24:29 +01:00
Matrix4x4.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Orientation.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Painter.cpp LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx 2023-01-10 10:25:58 +01:00
Painter.h LibWeb+LibGfx: Migrate (most of) the CSS gradient painting to LibGfx 2023-01-10 10:25:58 +01:00
Palette.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Palette.h LibGfx: Support color schemes 2022-12-31 04:20:59 -07:00
Path.cpp Meta+Userland: Pass Gfx::FloatPoint by value 2022-12-07 11:48:27 +01:00
Path.h Meta+Userland: Pass Gfx::FloatPoint by value 2022-12-07 11:48:27 +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 Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
PGMLoader.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PGMLoader.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
PNGLoader.cpp LibCompress: Rename Compress::Zlib to Compress::ZlibDecompressor 2023-01-03 10:01:09 +00:00
PNGLoader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PNGShared.h Libraries: Add missing includes, add namespace qualifiers 2022-09-18 13:27:24 -04:00
PNGWriter.cpp LibCompress: Switch ZlibCompressor to a constructor pattern 2023-01-03 10:01:09 +00:00
PNGWriter.h LibGfx: Propagate errors that occur internally in PNGWriter 2022-12-08 13:01:11 +00:00
Point.cpp LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Point.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
PortableImageLoaderCommon.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
PortableImageMapLoader.h Everywhere: Split Error::from_string_literal and Error::from_string_view 2022-07-12 23:11:35 +02:00
PPMLoader.cpp LibGfx: Use common class template for PBM/PGM/PPM image loaders 2022-03-13 22:35:20 +01:00
PPMLoader.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
QOILoader.cpp Everywhere: Split Error::from_string_literal and Error::from_string_view 2022-07-12 23:11:35 +02:00
QOILoader.h LibGfx: Add support for "The Quite OK Image Format" (QOI) 2021-12-21 13:27:27 +01:00
QOIWriter.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +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 LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Rect.h LibGfx: Make Rect::align_within() correct for TopCenter and BottomCenter 2023-01-09 19:54:26 +01:00
ShareableBitmap.cpp LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
ShareableBitmap.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Size.cpp LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Size.h LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
StandardCursor.h Base+WindowServer+LibGfx: Add new DragCopy Cursor 2022-08-31 17:29:44 +01:00
Streamer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
StylePainter.cpp LibGUI+LibGfx: Let Desktop::the() set widget effects 2022-08-09 12:08:21 +02:00
StylePainter.h LibGUI+LibGfx: Let Desktop::the() set widget effects 2022-08-09 12:08:21 +02:00
SystemTheme.cpp LibGfx: Support color schemes 2022-12-31 04:20:59 -07:00
SystemTheme.h LibGfx: Support color schemes 2022-12-31 04:20:59 -07: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 Everywhere: Fix a bunch of typos 2021-05-17 17:48:55 +01:00
TextDirection.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextElision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TextLayout.cpp LibGfx: Make text painting better at aligning vector fonts vertically 2023-01-06 12:02:21 +01:00
TextLayout.h LibGfx: Make text painting better at aligning vector fonts vertically 2023-01-06 12:02:21 +01:00
TextWrapping.h Userland: Move text wrapping/elision into the new TextLayout :^) 2021-07-26 21:14:39 +04:30
Triangle.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Triangle.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Vector2.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Vector3.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Vector4.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
VectorN.h Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
WindowTheme.cpp Libraries: Use default constructors/destructors in LibGfx 2022-03-17 17:23:49 +00:00
WindowTheme.h LibGfx+LibGUI+WindowServer+Apps+Demos: Replace ToolWindows 2022-08-25 13:28:50 +02:00