ladybird/Userland/Libraries/LibPDF
Rodrigo Tobar e87fecf710 LibPDF: Switch to best-effort PDF rendering
The current rendering routine aborts as soon as an error is found during
rendering, which potentially severely limits the contents we show on
screen. Moreover, whenever an error happens the PDFViewer widget shows
an error dialog, and doesn't display the bitmap that has been painted so
far.

This commit improves the situation in both fronts, implementing
rendering now with a best-effort approach. Firstly, execution of
operations isn't halted after an operand results in an error, but
instead execution of all operations is always attempted, and all
collected errors are returned in bulk. Secondly, PDFViewer now always
displays the resulting bitmap, regardless of error being produced or
not. To communicate errors, an on_render_errors callback has been added
so clients can subscribe to these events and handle them as appropriate.
2022-12-16 10:04:23 +01:00
..
Fonts LibPDF: Follow a FontFile's Length values 2022-12-16 01:24:43 -07: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 LibPDF: Simplify outline construction 2022-12-16 01:24:43 -07:00
Document.h LibPDF: Simplify outline construction 2022-12-16 01:24:43 -07: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 Errors class that accumulate multiple errors 2022-12-16 10:04:23 +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 LibPDF: Add support for multi-line comments 2022-12-16 10:04:23 +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: Switch to best-effort PDF rendering 2022-12-16 10:04:23 +01:00
Renderer.h LibPDF: Switch to best-effort PDF rendering 2022-12-16 10:04:23 +01: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 Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00