1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 10:58:12 +00:00
serenity/Userland/Libraries/LibPDF
Rodrigo Tobar a1e36e8f78 LibPDF: Improve path clipping support
The existing path clipping support was broken, as it performed the
clipping operation as soon as the path clipping commands (W/W*) were
received. The correct behavior is to keep a clipping path in the
graphic state, *intersect* that with the current path upon receiving
W/W*, and apply the clipping when performing painting operations. On top
of that, the intersection happening at W/W* time does not affect the
painting operation happening on the current on-build path, but takes
effect only after the current path is cleared; therefore a current and a
next clipping path need to be kept track of.

Path clipping is not yet supported on the Painter class, nor is path
intersection. We thus continue using the same simplified bounding box
approach to calculate clipping paths.

Since now we are dealing with more rectangles-as-path code, I've made
helper functions to build a rectangle path and reuse it as needed.
2022-11-25 23:03:24 +01:00
..
Fonts LibPDF: Override Type 1 character mappings by encoding in font dict 2022-11-25 22:44:47 +01:00
CMakeLists.txt Everywhere: Mark dependencies of most targets as PRIVATE 2022-11-01 14:49:09 +00:00
ColorSpace.cpp LibPDF: Derive alternate ICC color space from the number of components 2022-11-19 15:42:08 +01:00
ColorSpace.h LibPDF: Fix mismatched class/struct declaration 2022-03-31 18:10:45 +02:00
CommonNames.cpp LibPDF: Add Type0 and TrueType fonts 2022-03-31 18:10:45 +02:00
CommonNames.h LibPDF: Implement png predictor decoding for flate filter 2022-11-19 15:42:08 +01:00
Document.cpp LibPDF: Allow page objects to inherit the MediaBox and Resources entries 2022-10-16 17:44:54 +02:00
Document.h LibPDF: Allow page objects to inherit the MediaBox and Resources entries 2022-10-16 17:44:54 +02:00
DocumentParser.cpp LibPDF: Try to repair XRef tables with broken indices 2022-11-25 22:44:47 +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 very basic support for Adobe Type 1 font rendering 2022-10-16 17:44:54 +02:00
Encoding.h LibPDF: Add very basic support for Adobe Type 1 font rendering 2022-10-16 17:44:54 +02:00
Encryption.cpp Everywhere: Fix a bunch of typos 2022-05-29 15:22:00 +02:00
Encryption.h LibPDF: Add implementation of the Standard security handler 2022-03-29 02:52:57 +02:00
Error.h LibPDF: Add Type0 and TrueType fonts 2022-03-31 18:10:45 +02:00
Filter.cpp LibPDF: Implement png predictor decoding for flate filter 2022-11-19 15:42:08 +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
Object.h LibPDF: Break inclusion cycle by removing unnecessary include 2022-09-17 04:00:54 +00:00
ObjectDerivatives.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
ObjectDerivatives.h LibPDF: Support parsing page tree nodes that are in object streams 2022-09-17 10:07:14 +01:00
Operator.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Parser.cpp LibPDF: Parse integer numbers with atoi() instead of strtof() 2022-11-19 15:42:08 +01:00
Parser.h LibPDF: Disallow parsing indirect values as operands 2022-09-17 10:07:14 +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 LibPDF: Fix off-by-one error in Reader::remaining() 2022-11-19 15:42:08 +01:00
Reference.h LibPDF: Extract reference bitpacking into dedicated class 2021-09-20 17:39:36 +04:30
Renderer.cpp LibPDF: Improve path clipping support 2022-11-25 23:03:24 +01:00
Renderer.h LibPDF: Improve path clipping support 2022-11-25 23:03:24 +01:00
Value.cpp LibPDF: Replace Value class by AK::Variant 2021-09-20 17:39:36 +04:30
Value.h LibPDF: Propagate errors in Parser and Document 2022-03-07 10:53:57 +01:00
XRefTable.h LibPDF: Try to repair XRef tables with broken indices 2022-11-25 22:44:47 +01:00