1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 05:08:13 +00:00
serenity/Userland/Libraries/LibPDF
Rodrigo Tobar adc45635e9 LibPDF: Add initial image display support
After adding support for XObject Form rendering, the next was to display
XObject images. This commit adds this initial support,

Images come in many shapes and forms: encodings: color spaces, bits per
component, width, height, etc. This initial support is constrained to
the color spaces we currently support, to images that use 8 bits per
component, to images that do *not* use the JPXDecode filter, and that
are not Masks. There are surely other constraints that aren't considered
in this initial support, so expect breakage here and there.

In addition to supporting images, we also support applying an alpha mask
(SMask) on them. Additionally, a new rendering preference allows to skip
image loading and rendering altogether, instead showing an empty
rectangle as a placeholder (useful for when actual images are not
supported). Since RenderingPreferences is becoming a bit more complex,
we add a hash option that will allow us to keep track of different
preferences (e.g., in a HashMap).
2022-12-10 10:49:03 +01:00
..
Fonts LibPDF: Add missing character quirk for WinAnsiEncoding fonts 2022-12-08 09:54:20 +01:00
CMakeLists.txt LibPDF: Add first interpolation methods 2022-12-10 10:49:03 +01:00
ColorSpace.cpp LibPDF: Add more knowledge to ColorSpaces classes 2022-12-10 10:49:03 +01:00
ColorSpace.h LibPDF: Add more knowledge to ColorSpaces classes 2022-12-10 10:49:03 +01:00
CommonNames.cpp LibPDF: Add Type0 and TrueType fonts 2022-03-31 18:10:45 +02:00
CommonNames.h LibPDF: Add initial image display support 2022-12-10 10:49:03 +01:00
Document.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Document.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
DocumentParser.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
DocumentParser.h LibPDF: Try to repair XRef tables with broken indices 2022-11-25 22:44:47 +01:00
Encoding.cpp LibPDF: Add missing character quirk for WinAnsiEncoding fonts 2022-12-08 09:54:20 +01:00
Encoding.h LibPDF: Add missing character quirk for WinAnsiEncoding fonts 2022-12-08 09:54:20 +01:00
Encryption.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Encryption.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Error.h LibPDF: Add new Error::Type for unsupported rendering features 2022-12-10 10:49:03 +01:00
Filter.cpp LibPDF: Implement Run Length Decoding 2022-11-30 14:51:14 +01:00
Filter.h LibPDF: Implement png predictor decoding for flate filter 2022-11-19 15:42:08 +01:00
Forward.h LibPDF: Get rid of PlainText/Encoded StreamObject 2022-03-29 02:52:57 +02: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 Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
ObjectDerivatives.cpp LibPDF: Add facility to obtain Vector<float> from ArrayObject 2022-12-10 10:49:03 +01:00
ObjectDerivatives.h LibPDF: Add facility to obtain Vector<float> from ArrayObject 2022-12-10 10:49:03 +01:00
Operator.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Parser.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Parser.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Reader.cpp LibPDF: Parse floating point numbers that omit a leading zero correctly 2022-10-16 17:44:54 +02:00
Reader.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Reference.h LibPDF: Extract reference bitpacking into dedicated class 2021-09-20 17:39:36 +04:30
Renderer.cpp LibPDF: Add initial image display support 2022-12-10 10:49:03 +01:00
Renderer.h LibPDF: Add initial image display support 2022-12-10 10:49:03 +01:00
Value.cpp Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
Value.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
XRefTable.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00