1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-21 10:55:07 +00:00
serenity/Userland/Libraries/LibPDF
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
..
Fonts LibPDF: Add an initial implementation of type 3 glyph rendering 2023-11-17 19:47:53 +00:00
CMakeLists.txt LibPDF: Add some scaffolding for type 3 fonts 2023-11-17 19:47:53 +00:00
ColorSpace.cpp LibPDF: In ColorSpace creation code, use resolve_to() more 2023-11-13 10:29:26 -05:00
ColorSpace.h LibPDF: Implement DeviceNColorSpace 2023-11-09 23:33:49 +01:00
CommonNames.cpp AK+Everywhere: Rename FlyString to DeprecatedFlyString 2023-01-09 23:00:24 +00:00
CommonNames.h LibPDF: Consistently asciibetize CommonNames.h 2023-11-17 20:27:42 +00:00
Document.cpp LibPDF+Tests: Correctly decode text strings without explicit encoding 2023-11-22 09:08:06 -07:00
Document.h LibPDF: Stop converting encodings in object parser 2023-11-22 09:08:06 -07:00
DocumentParser.cpp LibPDF: Ensure xref stream field widths are within expected range 2023-10-28 13:17:09 -04:00
DocumentParser.h LibPDF: Make PDF version accessible on Document 2023-07-11 13:49:17 -04:00
Encoding.cpp LibPDF: Add two FIXMEs 2023-10-13 07:53:27 +02:00
Encoding.h LibPDF: Add char_code -> name mapping function 2023-02-08 19:47:15 +01:00
Encryption.cpp LibPDF: Don't crash on encrypted files with streams with filter arrays 2023-07-24 09:50:45 -04:00
Encryption.h LibPDF: Implement 7.6.4.3.3 Algorithm 2.A: Retrieve file encryption key 2023-07-21 11:55:20 +02:00
Error.h LibPDF: Mark PDF::Error nodiscard 2023-07-12 17:03:14 +02:00
Filter.cpp LibPDF+LibGfx: Don't invert CMYK channels in JPEG data in PDFs 2023-11-17 22:32:40 +00:00
Filter.h LibPDF: Let decode_png_prediction() call LibGfx's unfilter_scanline() 2023-11-17 19:09:50 +01:00
Forward.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
Function.cpp LibPDF: Make SampledFunction::evaluate() work for n-dimensional input 2023-11-12 07:55:04 +01:00
Function.h LibPDF: Add scaffolding for function objects 2023-11-06 10:01:05 +01:00
Interpolation.cpp LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
Interpolation.h LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
Object.h LibPDF: Make Object::cast<T>() non-const 2023-02-21 00:54:04 +01:00
ObjectDerivatives.cpp LibPDF: Fix quadratic runtime in stream dumping 2023-07-14 09:50:30 -04:00
ObjectDerivatives.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
Operator.h LibPDF: Fix symbol for text_next_line_show_string_set_spacing operator 2023-07-22 12:25:30 -04:00
Page.cpp LibPDF: Don't accidentally form new tokens on pages with contents arrays 2023-10-23 13:23:54 -04:00
Page.h LibPDF: Move code to compute full page contents into Page 2023-07-12 18:22:35 -04:00
Parser.cpp LibPDF: Stop converting encodings in object parser 2023-11-22 09:08:06 -07:00
Parser.h LibPDF: Make string literal parsing fallible 2023-10-25 10:44:26 +02:00
Reader.cpp LibPDF: Implement Reader::is_[eol, whitespace](char) 2023-11-14 10:15:15 +01:00
Reader.h LibPDF: Implement Reader::is_[eol, whitespace](char) 2023-11-14 10:15:15 +01:00
Reference.h LibPDF: Make Reference store two u32s instead of one 2023-07-10 17:48:15 +01:00
Renderer.cpp LibPDF+LibGfx: Make SMasks on jpeg images work 2023-11-23 12:13:03 +01:00
Renderer.h LibPDF: Add an initial implementation of type 3 glyph rendering 2023-11-17 19:47:53 +00:00
Value.cpp Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
Value.h Everywhere: Stop shoving things into ::std and mentioning them as such 2022-12-14 11:44:32 +01:00
XRefTable.h LibPDF: Allow reading documents with incremental updates 2023-02-12 10:55:37 +00:00