1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:28:12 +00:00
serenity/Userland/Libraries/LibGfx
Nico Weber eb1c99bd72 LibPDF+LibGfx: Make SMasks on jpeg images work
SMasks are greyscale images that get used as alpha channel for a
different image.

JPEGs in PDFs are stored as streams with /DCTDecode filters, and
we have a separate code path for loading those in the PDF renderer.
That code path just calls our JPEG decoder, which creates bitmaps
with format BGRx8888.

So when we process an SMask for such a bitmap, we have to change
the bitmap's format to BGRA8888 in addition to setting alpha values
on all pixels.
2023-11-23 12:13:03 +01:00
..
Filters AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
Font LibGfx/OpenType: Ensure Cmap subtable offset is within expected range 2023-11-11 22:20:17 +01:00
ICC LibGfx/ICC: Ensure Macintosh ScriptCode length is within expected range 2023-11-12 07:58:39 +01:00
ImageFormats LibGfx/TIFF: Take the TIFF value by rvalue reference in handle_tag() 2023-11-18 11:14:37 +00:00
AffineTransform.cpp LibGfx: Add AffineTransform::determinant() 2023-07-14 06:51:05 +02:00
AffineTransform.h LibGfx: Add AffineTransform::determinant() 2023-07-14 06:51:05 +02:00
AntiAliasingPainter.cpp LibGfx: Only attempt to paint strokes with a width > 0 2023-07-16 18:52:38 +02:00
AntiAliasingPainter.h LibWeb+LibGfx: Allow stroking with a paint style and opacity 2023-06-11 16:15:56 +02:00
Bitmap.cpp LibGfx: Add Bitmap::scaled_to_size() 2023-10-18 20:03:35 +01:00
Bitmap.h LibPDF+LibGfx: Make SMasks on jpeg images work 2023-11-23 12:13:03 +01:00
BitmapMixer.cpp
BitmapMixer.h
BoundingBox.h LibGfx: Add BoundingBox helper class 2023-11-14 10:13:10 +01:00
CharacterBitmap.h Libraries: Make CharacterBitmap instances at compile-time 2022-03-04 17:41:08 +01:00
CIELAB.h LibGfx: Move CIELAB to its own file 2023-04-30 05:57:20 +02:00
ClassicStylePainter.cpp LibGfx+Userland: Remove dependency on GUI::TabWidget from StylePainter 2023-10-27 16:51:03 -06:00
ClassicStylePainter.h LibGfx+Userland: Remove dependency on GUI::TabWidget from StylePainter 2023-10-27 16:51:03 -06:00
ClassicWindowTheme.cpp LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
ClassicWindowTheme.h LibGfx: Make ClassicWindowTheme menubar heights respect the font size 2023-01-03 15:25:02 +01:00
CMakeLists.txt LibGfx/TIFF: Make TIFFLoadingContext::handle_tag be a free function 2023-11-18 11:14:37 +00:00
Color.cpp LibGfx: Add String variants of Color::to_string*() 2023-11-20 15:00:19 +01:00
Color.h LibGfx: Add String variants of Color::to_string*() 2023-11-20 15:00:19 +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
DeltaE.cpp AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
DeltaE.h LibGfx: Add DeltaE() function 2023-04-30 05:57:20 +02:00
DisjointRectSet.h LibGfx+Everywhere: Make DisjointRectSet work for non-int Rects 2022-10-27 13:06:33 +02:00
EdgeFlagPathRasterizer.cpp LibGfx: Track edge extent in EdgeFlagPathRasterizer 2023-08-06 16:24:28 +02:00
EdgeFlagPathRasterizer.h LibGfx: Track edge extent in EdgeFlagPathRasterizer 2023-08-06 16:24:28 +02: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
GradientPainting.cpp AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
Gradients.h AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
GrayscaleBitmap.h LibGfx: Add a simple GrayscaleBitmap class 2023-03-23 08:27:51 +00:00
Line.h LibGfx: Add small convenience functions for Lines and AA Painter 2023-01-26 10:37:26 +00:00
Matrix.h LibGfx: Fix -Wdouble-promotion for float matrices 2023-05-02 17:15:48 +01:00
Matrix3x3.h
Matrix4x4.h LibGfx: Add Gfx::extract_2d_affine_transform(Matrix4x4) helper 2023-11-18 19:32:31 +01:00
Orientation.h
Painter.cpp LibGfx: Decouple glyph positions calculation from draw_text_run() 2023-11-06 09:53:11 +01:00
Painter.h LibGfx: Add apply_alpha option to Painter::blit_filtered() 2023-07-30 09:31:43 +02:00
PaintStyle.h LibGfx: Add support for SVG repeat/reflect gradients 2023-08-20 20:04:10 +02:00
Palette.cpp LibGfx: Make the Palette constructor take NNRP<PaletteImpl> 2023-03-15 23:29:00 +01:00
Palette.h LibGfx: Make the Palette constructor take NNRP<PaletteImpl> 2023-03-15 23:29:00 +01:00
Path.cpp LibGfx/Path: Round numerator in elliptical_arc_to 2023-11-19 22:33:48 +01:00
Path.h LibGfx: Allow extracting paths from fonts and add Gfx::Path::text() 2023-11-05 02:46:46 +01:00
Point.cpp LibGfx+Everywhere: Change Gfx::Rect to be endpoint exclusive 2023-05-23 12:35:42 +02:00
Point.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05: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 LibWeb: Make DOMRectReadOnly use double instead of float 2023-08-23 12:11:21 +01:00
ShareableBitmap.cpp LibGfx: Remove indexed palette formats from Bitmap and Painter 2023-10-12 07:39:05 +02: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 LibGfx+Userland: Rename Size::scaled_by to Size::scaled 2023-08-17 09:57:30 -04:00
StandardCursor.h Base+WindowServer+LibGfx: Add new DragCopy Cursor 2022-08-31 17:29:44 +01:00
StylePainter.cpp LibGfx+Userland: Remove dependency on GUI::TabWidget from StylePainter 2023-10-27 16:51:03 -06:00
StylePainter.h LibGfx+Userland: Remove dependency on GUI::TabWidget from StylePainter 2023-10-27 16:51:03 -06:00
SystemTheme.cpp Everywhere: Support overriding the system color scheme 2023-03-10 22:03:49 +01:00
SystemTheme.h LibGfx: Return StringView for SystemTheme Roles 2023-04-30 05:48:14 +02:00
TabPosition.h LibGfx+Userland: Remove dependency on GUI::TabWidget from StylePainter 2023-10-27 16:51:03 -06:00
TextAlignment.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextAttributes.h LibGfx+Userland: Make TextAttributes::underline_style optional 2023-03-15 14:55:49 +01:00
TextDirection.cpp
TextDirection.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TextElision.h
TextLayout.cpp LibGfx: Decouple glyph positions calculation from draw_text_run() 2023-11-06 09:53:11 +01:00
TextLayout.h LibGfx: Decouple glyph positions calculation from draw_text_run() 2023-11-06 09:53:11 +01:00
TextWrapping.h
Triangle.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2023-07-15 16:21:29 +02:00
Triangle.h Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2023-07-15 16:21:29 +02: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
VectorGraphic.cpp LibGfx+Userland: Rename Size::scaled_by to Size::scaled 2023-08-17 09:57:30 -04:00
VectorGraphic.h LibGfx: Add simple VectorGraphic abstract base class 2023-07-14 06:51:05 +02:00
VectorN.h LibGfx: Remove unnecessary AK:: prefix in VectorN.h 2023-03-06 13:05:43 +00: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