mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-19 22:58:07 +02:00
Use, and re-name, the addLocallyCachedImageOps
helper for global images too
This avoids having to "manually" set the image operators for globally cached images.
This commit is contained in:
parent
e0e59eaf01
commit
213830f44f
1 changed files with 16 additions and 29 deletions
|
@ -180,14 +180,17 @@ function normalizeBlendMode(value, parsingArray = false) {
|
|||
return "source-over";
|
||||
}
|
||||
|
||||
function addLocallyCachedImageOps(opList, data) {
|
||||
if (data.objId) {
|
||||
opList.addDependency(data.objId);
|
||||
function addCachedImageOps(
|
||||
opList,
|
||||
{ objId, fn, args, optionalContent, hasMask }
|
||||
) {
|
||||
if (objId) {
|
||||
opList.addDependency(objId);
|
||||
}
|
||||
opList.addImageOps(data.fn, data.args, data.optionalContent, data.hasMask);
|
||||
opList.addImageOps(fn, args, optionalContent, hasMask);
|
||||
|
||||
if (data.fn === OPS.paintImageMaskXObject && data.args[0]?.count > 0) {
|
||||
data.args[0].count++;
|
||||
if (fn === OPS.paintImageMaskXObject && args[0]?.count > 0) {
|
||||
args[0].count++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1769,7 +1772,7 @@ class PartialEvaluator {
|
|||
if (isValidName) {
|
||||
const localImage = localImageCache.getByName(name);
|
||||
if (localImage) {
|
||||
addLocallyCachedImageOps(operatorList, localImage);
|
||||
addCachedImageOps(operatorList, localImage);
|
||||
args = null;
|
||||
continue;
|
||||
}
|
||||
|
@ -1783,28 +1786,12 @@ class PartialEvaluator {
|
|||
|
||||
let xobj = xobjs.getRaw(name);
|
||||
if (xobj instanceof Ref) {
|
||||
const localImage =
|
||||
const cachedImage =
|
||||
localImageCache.getByRef(xobj) ||
|
||||
self._regionalImageCache.getByRef(xobj);
|
||||
if (localImage) {
|
||||
addLocallyCachedImageOps(operatorList, localImage);
|
||||
resolveXObject();
|
||||
return;
|
||||
}
|
||||
|
||||
const globalImage = self.globalImageCache.getData(
|
||||
xobj,
|
||||
self.pageIndex
|
||||
);
|
||||
if (globalImage) {
|
||||
operatorList.addDependency(globalImage.objId);
|
||||
operatorList.addImageOps(
|
||||
globalImage.fn,
|
||||
globalImage.args,
|
||||
globalImage.optionalContent,
|
||||
globalImage.hasMask
|
||||
);
|
||||
|
||||
self._regionalImageCache.getByRef(xobj) ||
|
||||
self.globalImageCache.getData(xobj, self.pageIndex);
|
||||
if (cachedImage) {
|
||||
addCachedImageOps(operatorList, cachedImage);
|
||||
resolveXObject();
|
||||
return;
|
||||
}
|
||||
|
@ -1897,7 +1884,7 @@ class PartialEvaluator {
|
|||
if (cacheKey) {
|
||||
const localImage = localImageCache.getByName(cacheKey);
|
||||
if (localImage) {
|
||||
addLocallyCachedImageOps(operatorList, localImage);
|
||||
addCachedImageOps(operatorList, localImage);
|
||||
args = null;
|
||||
continue;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue