diff options
author | Jay Berkenbilt <ejb@ql.org> | 2024-01-10 22:07:47 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2024-01-11 12:13:57 +0100 |
commit | 5b2e543089e24aae0557835234ef7f733446dc5b (patch) | |
tree | a5aa31da7dabf813069d8e78a9ed8dbab497a913 /include | |
parent | 6cf04b0a8863512765864287271248a61eac6214 (diff) | |
download | qpdf-5b2e543089e24aae0557835234ef7f733446dc5b.tar.zst |
Honor repeated overlay/underlay
Diffstat (limited to 'include')
-rw-r--r-- | include/qpdf/QPDFJob.hh | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/qpdf/QPDFJob.hh b/include/qpdf/QPDFJob.hh index 315423cd..c291d1e8 100644 --- a/include/qpdf/QPDFJob.hh +++ b/include/qpdf/QPDFJob.hh @@ -514,14 +514,16 @@ class QPDFJob void handlePageSpecs(QPDF& pdf, std::vector<std::unique_ptr<QPDF>>& page_heap); bool shouldRemoveUnreferencedResources(QPDF& pdf); void handleRotations(QPDF& pdf); - void getUOPagenos(UnderOverlay& uo, std::map<int, std::vector<int>>& pagenos); + void getUOPagenos( + std::vector<UnderOverlay>& uo, std::map<int, std::map<size_t, std::vector<int>>>& pagenos); void handleUnderOverlay(QPDF& pdf); std::string doUnderOverlayForPage( QPDF& pdf, UnderOverlay& uo, - std::map<int, std::vector<int>>& pagenos, + std::map<int, std::map<size_t, std::vector<int>>>& pagenos, size_t page_idx, - std::map<int, QPDFObjectHandle>& fo, + size_t uo_idx, + std::map<int, std::map<size_t, QPDFObjectHandle>>& fo, std::vector<QPDFPageObjectHelper>& pages, QPDFPageObjectHelper& dest_page); void validateUnderOverlay(QPDF& pdf, UnderOverlay* uo); @@ -696,8 +698,8 @@ class QPDFJob size_t oi_min_height{DEFAULT_OI_MIN_HEIGHT}; size_t oi_min_area{DEFAULT_OI_MIN_AREA}; size_t ii_min_bytes{DEFAULT_II_MIN_BYTES}; - UnderOverlay underlay{"underlay"}; - UnderOverlay overlay{"overlay"}; + std::vector<UnderOverlay> underlay; + std::vector<UnderOverlay> overlay; UnderOverlay* under_overlay{nullptr}; std::vector<PageSpec> page_specs; std::map<std::string, RotationSpec> rotations; |