aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2024-01-10 22:07:47 +0100
committerJay Berkenbilt <ejb@ql.org>2024-01-11 12:13:57 +0100
commit5b2e543089e24aae0557835234ef7f733446dc5b (patch)
treea5aa31da7dabf813069d8e78a9ed8dbab497a913 /include
parent6cf04b0a8863512765864287271248a61eac6214 (diff)
downloadqpdf-5b2e543089e24aae0557835234ef7f733446dc5b.tar.zst
Honor repeated overlay/underlay
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDFJob.hh12
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;