Skip to content

Commit 213830f

Browse files
committed
Use, and re-name, the addLocallyCachedImageOps helper for global images too
This avoids having to "manually" set the image operators for globally cached images.
1 parent e0e59ea commit 213830f

1 file changed

Lines changed: 16 additions & 29 deletions

File tree

src/core/evaluator.js

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -180,14 +180,17 @@ function normalizeBlendMode(value, parsingArray = false) {
180180
return "source-over";
181181
}
182182

183-
function addLocallyCachedImageOps(opList, data) {
184-
if (data.objId) {
185-
opList.addDependency(data.objId);
183+
function addCachedImageOps(
184+
opList,
185+
{ objId, fn, args, optionalContent, hasMask }
186+
) {
187+
if (objId) {
188+
opList.addDependency(objId);
186189
}
187-
opList.addImageOps(data.fn, data.args, data.optionalContent, data.hasMask);
190+
opList.addImageOps(fn, args, optionalContent, hasMask);
188191

189-
if (data.fn === OPS.paintImageMaskXObject && data.args[0]?.count > 0) {
190-
data.args[0].count++;
192+
if (fn === OPS.paintImageMaskXObject && args[0]?.count > 0) {
193+
args[0].count++;
191194
}
192195
}
193196

@@ -1769,7 +1772,7 @@ class PartialEvaluator {
17691772
if (isValidName) {
17701773
const localImage = localImageCache.getByName(name);
17711774
if (localImage) {
1772-
addLocallyCachedImageOps(operatorList, localImage);
1775+
addCachedImageOps(operatorList, localImage);
17731776
args = null;
17741777
continue;
17751778
}
@@ -1783,28 +1786,12 @@ class PartialEvaluator {
17831786

17841787
let xobj = xobjs.getRaw(name);
17851788
if (xobj instanceof Ref) {
1786-
const localImage =
1789+
const cachedImage =
17871790
localImageCache.getByRef(xobj) ||
1788-
self._regionalImageCache.getByRef(xobj);
1789-
if (localImage) {
1790-
addLocallyCachedImageOps(operatorList, localImage);
1791-
resolveXObject();
1792-
return;
1793-
}
1794-
1795-
const globalImage = self.globalImageCache.getData(
1796-
xobj,
1797-
self.pageIndex
1798-
);
1799-
if (globalImage) {
1800-
operatorList.addDependency(globalImage.objId);
1801-
operatorList.addImageOps(
1802-
globalImage.fn,
1803-
globalImage.args,
1804-
globalImage.optionalContent,
1805-
globalImage.hasMask
1806-
);
1807-
1791+
self._regionalImageCache.getByRef(xobj) ||
1792+
self.globalImageCache.getData(xobj, self.pageIndex);
1793+
if (cachedImage) {
1794+
addCachedImageOps(operatorList, cachedImage);
18081795
resolveXObject();
18091796
return;
18101797
}
@@ -1897,7 +1884,7 @@ class PartialEvaluator {
18971884
if (cacheKey) {
18981885
const localImage = localImageCache.getByName(cacheKey);
18991886
if (localImage) {
1900-
addLocallyCachedImageOps(operatorList, localImage);
1887+
addCachedImageOps(operatorList, localImage);
19011888
args = null;
19021889
continue;
19031890
}

0 commit comments

Comments
 (0)