1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00
serenity/Userland/Libraries/LibGfx
Nico Weber 81cc64f29c LibGfx: Dedupe ICC TagData objects
Several tags can refer to the same TagData. In particular, the
rTRC, gTRC, bTRC tags usually all three refer to the same curve.
Curve objects can be large, so allocate only a single TagData
object in that case and make all tags point to it.

(If we end up storing some cache in the curve object later on,
this will also increase the effectiveness of that cache.)
2023-01-24 14:45:27 +00:00
..
Filters Userland: Add missing Math.h and IntegralMath.h header includes 2023-01-19 11:29:48 +00:00
Font LibGfx: Cache font pixel metrics in ScaledFont 2023-01-24 14:13:59 +01: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: Update fill_path() to support taking a PaintStyle 2023-01-22 18:15:52 +01:00
AntiAliasingPainter.h LibGfx: Update fill_path() to support taking a PaintStyle 2023-01-22 18:15:52 +01:00
Bitmap.cpp LibGfx: Re-work the abstractions of sending image for decoding over IPC 2023-01-20 15:13:31 +00:00
Bitmap.h LibGfx: Use ALWAYS_INLINE for inline Bitmap methods 2023-01-17 19:34:54 -05: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: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
BMPLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00: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 LibGfx: Add TGA Loader :^) 2023-01-15 12:43:03 +01:00
Color.cpp LibIPC+Everywhere: Change IPC::encode's return type to ErrorOr 2023-01-04 11:49:15 +01:00
Color.h Userland: Add missing Math.h and IntegralMath.h header includes 2023-01-19 11:29:48 +00: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: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
DDSLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
DisjointRectSet.h LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects 2022-10-27 13:06:33 +02:00
FillPathImplementation.h LibGfx: Update fill_path() to support taking a PaintStyle 2023-01-22 18:15:52 +01:00
Forward.h LibGfx: Add paint styles and allow gradients to be used as them 2023-01-22 18:15:52 +01:00
Gamma.h LibGfx: Remove a workaround for clang before 11 2022-10-04 23:35:07 +01:00
GIFLoader.cpp LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
GIFLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
GradientPainting.cpp LibGfx: Use the first/last color for positions before/after a gradient 2023-01-23 10:03:54 +00: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: Dedupe ICC TagData objects 2023-01-24 14:45:27 +00:00
ICCProfile.h LibGfx: Move TagTableEntry into read_tag_table 2023-01-24 14:45:27 +00:00
ICOLoader.cpp LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
ICOLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
ImageDecoder.cpp LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
ImageDecoder.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
JPGLoader.cpp LibGfx: Port JPGLoader to Core::Stream 2023-01-22 20:58:42 +01:00
JPGLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00: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 LibGfx: Add Painter::fill_rect(rect, paint_style) 2023-01-22 18:15:52 +01:00
Painter.h LibGfx: Add Painter::fill_rect(rect, paint_style) 2023-01-22 18:15:52 +01:00
PaintStyle.h LibGfx: Implement paint styles required for HTML canvas gradients 2023-01-22 18:15:52 +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 LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
PNGLoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00: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 LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00: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 LibGfx: Use Core::Stream to decode QOI images 2023-01-24 14:40:02 +00:00
QOILoader.h LibGfx: Use Core::Stream to decode QOI images 2023-01-24 14:40:02 +00: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
TGALoader.cpp LibGfx: Fix TGA decoder being out of boundary after calling frame method 2023-01-20 17:05:09 +00:00
TGALoader.h LibGfx: Re-structure the whole initialization pattern for image decoders 2023-01-20 15:13:31 +00:00
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