Enable the no-var
linting rule for src/core/operator_list.js
This is mostly done using `gulp lint --fix` with a few manual changes in the following diff: ```diff diff --git a/src/core/operator_list.js b/src/core/operator_list.js index 66c26fe05..cbcd12d97 100644 --- a/src/core/operator_list.js +++ b/src/core/operator_list.js @@ -40,7 +40,8 @@ const QueueOptimizer = (function QueueOptimizerClosure() { // 'count' groups of (save, transform, paintImageMaskXObject, restore)+ // have been found at iFirstSave. const iFirstPIMXO = iFirstSave + 2; - for (var i = 0; i < count; i++) { + let i; + for (i = 0; i < count; i++) { const arg = argsArray[iFirstPIMXO + 4 * i]; const imageMask = arg.length === 1 && arg[0]; if ( @@ -106,8 +107,8 @@ const QueueOptimizer = (function QueueOptimizerClosure() { // assuming that heights of those image is too small (~1 pixel) // packing as much as possible by lines let maxX = 0; - let map = [], - maxLineHeight = 0; + const map = []; + let maxLineHeight = 0; let currentX = IMAGE_PADDING, currentY = IMAGE_PADDING; let q; @@ -326,9 +327,9 @@ const QueueOptimizer = (function QueueOptimizerClosure() { if (fnArray[i] !== OPS.transform) { return false; } - var iFirstTransform = context.iCurr - 2; - var firstTransformArg0 = argsArray[iFirstTransform][0]; - var firstTransformArg3 = argsArray[iFirstTransform][3]; + const iFirstTransform = context.iCurr - 2; + const firstTransformArg0 = argsArray[iFirstTransform][0]; + const firstTransformArg3 = argsArray[iFirstTransform][3]; if ( argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || @@ -342,8 +343,8 @@ const QueueOptimizer = (function QueueOptimizerClosure() { if (fnArray[i] !== OPS.paintImageXObject) { return false; } - var iFirstPIXO = context.iCurr - 1; - var firstPIXOArg0 = argsArray[iFirstPIXO][0]; + const iFirstPIXO = context.iCurr - 1; + const firstPIXOArg0 = argsArray[iFirstPIXO][0]; if (argsArray[i][0] !== firstPIXOArg0) { return false; // images don't match } @@ -423,9 +424,9 @@ const QueueOptimizer = (function QueueOptimizerClosure() { if (fnArray[i] !== OPS.showText) { return false; } - var iFirstSetFont = context.iCurr - 3; - var firstSetFontArg0 = argsArray[iFirstSetFont][0]; - var firstSetFontArg1 = argsArray[iFirstSetFont][1]; + const iFirstSetFont = context.iCurr - 3; + const firstSetFontArg0 = argsArray[iFirstSetFont][0]; + const firstSetFontArg1 = argsArray[iFirstSetFont][1]; if ( argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1 ```
This commit is contained in:
parent
24ff738e7b
commit
a2f0573a64
@ -12,15 +12,14 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
/* eslint-disable no-var */
|
|
||||||
|
|
||||||
import { assert, ImageKind, OPS, warn } from "../shared/util.js";
|
import { assert, ImageKind, OPS, warn } from "../shared/util.js";
|
||||||
|
|
||||||
var QueueOptimizer = (function QueueOptimizerClosure() {
|
const QueueOptimizer = (function QueueOptimizerClosure() {
|
||||||
function addState(parentState, pattern, checkFn, iterateFn, processFn) {
|
function addState(parentState, pattern, checkFn, iterateFn, processFn) {
|
||||||
var state = parentState;
|
let state = parentState;
|
||||||
for (var i = 0, ii = pattern.length - 1; i < ii; i++) {
|
for (let i = 0, ii = pattern.length - 1; i < ii; i++) {
|
||||||
var item = pattern[i];
|
const item = pattern[i];
|
||||||
state = state[item] || (state[item] = []);
|
state = state[item] || (state[item] = []);
|
||||||
}
|
}
|
||||||
state[pattern[pattern.length - 1]] = {
|
state[pattern[pattern.length - 1]] = {
|
||||||
@ -40,10 +39,11 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
// draw lines with the current fill style.
|
// draw lines with the current fill style.
|
||||||
// 'count' groups of (save, transform, paintImageMaskXObject, restore)+
|
// 'count' groups of (save, transform, paintImageMaskXObject, restore)+
|
||||||
// have been found at iFirstSave.
|
// have been found at iFirstSave.
|
||||||
var iFirstPIMXO = iFirstSave + 2;
|
const iFirstPIMXO = iFirstSave + 2;
|
||||||
for (var i = 0; i < count; i++) {
|
let i;
|
||||||
var arg = argsArray[iFirstPIMXO + 4 * i];
|
for (i = 0; i < count; i++) {
|
||||||
var imageMask = arg.length === 1 && arg[0];
|
const arg = argsArray[iFirstPIMXO + 4 * i];
|
||||||
|
const imageMask = arg.length === 1 && arg[0];
|
||||||
if (
|
if (
|
||||||
imageMask &&
|
imageMask &&
|
||||||
imageMask.width === 1 &&
|
imageMask.width === 1 &&
|
||||||
@ -59,7 +59,7 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
return count - i;
|
return count - i;
|
||||||
}
|
}
|
||||||
|
|
||||||
var InitialState = [];
|
const InitialState = [];
|
||||||
|
|
||||||
// This replaces (save, transform, paintInlineImageXObject, restore)+
|
// This replaces (save, transform, paintInlineImageXObject, restore)+
|
||||||
// sequences with one |paintInlineImageXObjectGroup| operation.
|
// sequences with one |paintInlineImageXObjectGroup| operation.
|
||||||
@ -68,9 +68,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
[OPS.save, OPS.transform, OPS.paintInlineImageXObject, OPS.restore],
|
[OPS.save, OPS.transform, OPS.paintInlineImageXObject, OPS.restore],
|
||||||
null,
|
null,
|
||||||
function iterateInlineImageGroup(context, i) {
|
function iterateInlineImageGroup(context, i) {
|
||||||
var fnArray = context.fnArray;
|
const fnArray = context.fnArray;
|
||||||
var iFirstSave = context.iCurr - 3;
|
const iFirstSave = context.iCurr - 3;
|
||||||
var pos = (i - iFirstSave) % 4;
|
const pos = (i - iFirstSave) % 4;
|
||||||
switch (pos) {
|
switch (pos) {
|
||||||
case 0:
|
case 0:
|
||||||
return fnArray[i] === OPS.save;
|
return fnArray[i] === OPS.save;
|
||||||
@ -84,19 +84,19 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);
|
throw new Error(`iterateInlineImageGroup - invalid pos: ${pos}`);
|
||||||
},
|
},
|
||||||
function foundInlineImageGroup(context, i) {
|
function foundInlineImageGroup(context, i) {
|
||||||
var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;
|
const MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;
|
||||||
var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;
|
const MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;
|
||||||
var MAX_WIDTH = 1000;
|
const MAX_WIDTH = 1000;
|
||||||
var IMAGE_PADDING = 1;
|
const IMAGE_PADDING = 1;
|
||||||
|
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var curr = context.iCurr;
|
const curr = context.iCurr;
|
||||||
var iFirstSave = curr - 3;
|
const iFirstSave = curr - 3;
|
||||||
var iFirstTransform = curr - 2;
|
const iFirstTransform = curr - 2;
|
||||||
var iFirstPIIXO = curr - 1;
|
const iFirstPIIXO = curr - 1;
|
||||||
|
|
||||||
var count = Math.min(
|
const count = Math.min(
|
||||||
Math.floor((i - iFirstSave) / 4),
|
Math.floor((i - iFirstSave) / 4),
|
||||||
MAX_IMAGES_IN_INLINE_IMAGES_BLOCK
|
MAX_IMAGES_IN_INLINE_IMAGES_BLOCK
|
||||||
);
|
);
|
||||||
@ -106,15 +106,14 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
|
|
||||||
// assuming that heights of those image is too small (~1 pixel)
|
// assuming that heights of those image is too small (~1 pixel)
|
||||||
// packing as much as possible by lines
|
// packing as much as possible by lines
|
||||||
var maxX = 0;
|
let maxX = 0;
|
||||||
var map = [],
|
const map = [];
|
||||||
maxLineHeight = 0;
|
let maxLineHeight = 0;
|
||||||
var currentX = IMAGE_PADDING,
|
let currentX = IMAGE_PADDING,
|
||||||
currentY = IMAGE_PADDING;
|
currentY = IMAGE_PADDING;
|
||||||
var q;
|
for (let q = 0; q < count; q++) {
|
||||||
for (q = 0; q < count; q++) {
|
const transform = argsArray[iFirstTransform + (q << 2)];
|
||||||
var transform = argsArray[iFirstTransform + (q << 2)];
|
const img = argsArray[iFirstPIIXO + (q << 2)][0];
|
||||||
var img = argsArray[iFirstPIIXO + (q << 2)][0];
|
|
||||||
if (currentX + img.width > MAX_WIDTH) {
|
if (currentX + img.width > MAX_WIDTH) {
|
||||||
// starting new line
|
// starting new line
|
||||||
maxX = Math.max(maxX, currentX);
|
maxX = Math.max(maxX, currentX);
|
||||||
@ -132,18 +131,18 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
currentX += img.width + 2 * IMAGE_PADDING;
|
currentX += img.width + 2 * IMAGE_PADDING;
|
||||||
maxLineHeight = Math.max(maxLineHeight, img.height);
|
maxLineHeight = Math.max(maxLineHeight, img.height);
|
||||||
}
|
}
|
||||||
var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;
|
const imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;
|
||||||
var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;
|
const imgHeight = currentY + maxLineHeight + IMAGE_PADDING;
|
||||||
var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);
|
const imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);
|
||||||
var imgRowSize = imgWidth << 2;
|
const imgRowSize = imgWidth << 2;
|
||||||
for (q = 0; q < count; q++) {
|
for (let q = 0; q < count; q++) {
|
||||||
var data = argsArray[iFirstPIIXO + (q << 2)][0].data;
|
const data = argsArray[iFirstPIIXO + (q << 2)][0].data;
|
||||||
// Copy image by lines and extends pixels into padding.
|
// Copy image by lines and extends pixels into padding.
|
||||||
var rowSize = map[q].w << 2;
|
const rowSize = map[q].w << 2;
|
||||||
var dataOffset = 0;
|
let dataOffset = 0;
|
||||||
var offset = (map[q].x + map[q].y * imgWidth) << 2;
|
let offset = (map[q].x + map[q].y * imgWidth) << 2;
|
||||||
imgData.set(data.subarray(0, rowSize), offset - imgRowSize);
|
imgData.set(data.subarray(0, rowSize), offset - imgRowSize);
|
||||||
for (var k = 0, kk = map[q].h; k < kk; k++) {
|
for (let k = 0, kk = map[q].h; k < kk; k++) {
|
||||||
imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);
|
imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);
|
||||||
dataOffset += rowSize;
|
dataOffset += rowSize;
|
||||||
offset += imgRowSize;
|
offset += imgRowSize;
|
||||||
@ -186,9 +185,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
[OPS.save, OPS.transform, OPS.paintImageMaskXObject, OPS.restore],
|
[OPS.save, OPS.transform, OPS.paintImageMaskXObject, OPS.restore],
|
||||||
null,
|
null,
|
||||||
function iterateImageMaskGroup(context, i) {
|
function iterateImageMaskGroup(context, i) {
|
||||||
var fnArray = context.fnArray;
|
const fnArray = context.fnArray;
|
||||||
var iFirstSave = context.iCurr - 3;
|
const iFirstSave = context.iCurr - 3;
|
||||||
var pos = (i - iFirstSave) % 4;
|
const pos = (i - iFirstSave) % 4;
|
||||||
switch (pos) {
|
switch (pos) {
|
||||||
case 0:
|
case 0:
|
||||||
return fnArray[i] === OPS.save;
|
return fnArray[i] === OPS.save;
|
||||||
@ -202,20 +201,20 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);
|
throw new Error(`iterateImageMaskGroup - invalid pos: ${pos}`);
|
||||||
},
|
},
|
||||||
function foundImageMaskGroup(context, i) {
|
function foundImageMaskGroup(context, i) {
|
||||||
var MIN_IMAGES_IN_MASKS_BLOCK = 10;
|
const MIN_IMAGES_IN_MASKS_BLOCK = 10;
|
||||||
var MAX_IMAGES_IN_MASKS_BLOCK = 100;
|
const MAX_IMAGES_IN_MASKS_BLOCK = 100;
|
||||||
var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;
|
const MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;
|
||||||
|
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var curr = context.iCurr;
|
const curr = context.iCurr;
|
||||||
var iFirstSave = curr - 3;
|
const iFirstSave = curr - 3;
|
||||||
var iFirstTransform = curr - 2;
|
const iFirstTransform = curr - 2;
|
||||||
var iFirstPIMXO = curr - 1;
|
const iFirstPIMXO = curr - 1;
|
||||||
|
|
||||||
// At this point, i is the index of the first op past the last valid
|
// At this point, i is the index of the first op past the last valid
|
||||||
// quartet.
|
// quartet.
|
||||||
var count = Math.floor((i - iFirstSave) / 4);
|
let count = Math.floor((i - iFirstSave) / 4);
|
||||||
count = handlePaintSolidColorImageMask(
|
count = handlePaintSolidColorImageMask(
|
||||||
iFirstSave,
|
iFirstSave,
|
||||||
count,
|
count,
|
||||||
@ -226,10 +225,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
return i - ((i - iFirstSave) % 4);
|
return i - ((i - iFirstSave) % 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
var q;
|
let isSameImage = false;
|
||||||
var isSameImage = false;
|
let iTransform, transformArgs;
|
||||||
var iTransform, transformArgs;
|
const firstPIMXOArg0 = argsArray[iFirstPIMXO][0];
|
||||||
var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];
|
|
||||||
const firstTransformArg0 = argsArray[iFirstTransform][0],
|
const firstTransformArg0 = argsArray[iFirstTransform][0],
|
||||||
firstTransformArg1 = argsArray[iFirstTransform][1],
|
firstTransformArg1 = argsArray[iFirstTransform][1],
|
||||||
firstTransformArg2 = argsArray[iFirstTransform][2],
|
firstTransformArg2 = argsArray[iFirstTransform][2],
|
||||||
@ -238,8 +236,8 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
if (firstTransformArg1 === firstTransformArg2) {
|
if (firstTransformArg1 === firstTransformArg2) {
|
||||||
isSameImage = true;
|
isSameImage = true;
|
||||||
iTransform = iFirstTransform + 4;
|
iTransform = iFirstTransform + 4;
|
||||||
var iPIMXO = iFirstPIMXO + 4;
|
let iPIMXO = iFirstPIMXO + 4;
|
||||||
for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {
|
for (let q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {
|
||||||
transformArgs = argsArray[iTransform];
|
transformArgs = argsArray[iTransform];
|
||||||
if (
|
if (
|
||||||
argsArray[iPIMXO][0] !== firstPIMXOArg0 ||
|
argsArray[iPIMXO][0] !== firstPIMXOArg0 ||
|
||||||
@ -260,9 +258,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
|
|
||||||
if (isSameImage) {
|
if (isSameImage) {
|
||||||
count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);
|
count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);
|
||||||
var positions = new Float32Array(count * 2);
|
const positions = new Float32Array(count * 2);
|
||||||
iTransform = iFirstTransform;
|
iTransform = iFirstTransform;
|
||||||
for (q = 0; q < count; q++, iTransform += 4) {
|
for (let q = 0; q < count; q++, iTransform += 4) {
|
||||||
transformArgs = argsArray[iTransform];
|
transformArgs = argsArray[iTransform];
|
||||||
positions[q << 1] = transformArgs[4];
|
positions[q << 1] = transformArgs[4];
|
||||||
positions[(q << 1) + 1] = transformArgs[5];
|
positions[(q << 1) + 1] = transformArgs[5];
|
||||||
@ -280,10 +278,10 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);
|
count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);
|
||||||
var images = [];
|
const images = [];
|
||||||
for (q = 0; q < count; q++) {
|
for (let q = 0; q < count; q++) {
|
||||||
transformArgs = argsArray[iFirstTransform + (q << 2)];
|
transformArgs = argsArray[iFirstTransform + (q << 2)];
|
||||||
var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];
|
const maskParams = argsArray[iFirstPIMXO + (q << 2)][0];
|
||||||
images.push({
|
images.push({
|
||||||
data: maskParams.data,
|
data: maskParams.data,
|
||||||
width: maskParams.width,
|
width: maskParams.width,
|
||||||
@ -308,18 +306,18 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
InitialState,
|
InitialState,
|
||||||
[OPS.save, OPS.transform, OPS.paintImageXObject, OPS.restore],
|
[OPS.save, OPS.transform, OPS.paintImageXObject, OPS.restore],
|
||||||
function (context) {
|
function (context) {
|
||||||
var argsArray = context.argsArray;
|
const argsArray = context.argsArray;
|
||||||
var iFirstTransform = context.iCurr - 2;
|
const iFirstTransform = context.iCurr - 2;
|
||||||
return (
|
return (
|
||||||
argsArray[iFirstTransform][1] === 0 &&
|
argsArray[iFirstTransform][1] === 0 &&
|
||||||
argsArray[iFirstTransform][2] === 0
|
argsArray[iFirstTransform][2] === 0
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
function iterateImageGroup(context, i) {
|
function iterateImageGroup(context, i) {
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var iFirstSave = context.iCurr - 3;
|
const iFirstSave = context.iCurr - 3;
|
||||||
var pos = (i - iFirstSave) % 4;
|
const pos = (i - iFirstSave) % 4;
|
||||||
switch (pos) {
|
switch (pos) {
|
||||||
case 0:
|
case 0:
|
||||||
return fnArray[i] === OPS.save;
|
return fnArray[i] === OPS.save;
|
||||||
@ -327,9 +325,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
if (fnArray[i] !== OPS.transform) {
|
if (fnArray[i] !== OPS.transform) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var iFirstTransform = context.iCurr - 2;
|
const iFirstTransform = context.iCurr - 2;
|
||||||
var firstTransformArg0 = argsArray[iFirstTransform][0];
|
const firstTransformArg0 = argsArray[iFirstTransform][0];
|
||||||
var firstTransformArg3 = argsArray[iFirstTransform][3];
|
const firstTransformArg3 = argsArray[iFirstTransform][3];
|
||||||
if (
|
if (
|
||||||
argsArray[i][0] !== firstTransformArg0 ||
|
argsArray[i][0] !== firstTransformArg0 ||
|
||||||
argsArray[i][1] !== 0 ||
|
argsArray[i][1] !== 0 ||
|
||||||
@ -343,8 +341,8 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
if (fnArray[i] !== OPS.paintImageXObject) {
|
if (fnArray[i] !== OPS.paintImageXObject) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var iFirstPIXO = context.iCurr - 1;
|
const iFirstPIXO = context.iCurr - 1;
|
||||||
var firstPIXOArg0 = argsArray[iFirstPIXO][0];
|
const firstPIXOArg0 = argsArray[iFirstPIXO][0];
|
||||||
if (argsArray[i][0] !== firstPIXOArg0) {
|
if (argsArray[i][0] !== firstPIXOArg0) {
|
||||||
return false; // images don't match
|
return false; // images don't match
|
||||||
}
|
}
|
||||||
@ -355,22 +353,22 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
throw new Error(`iterateImageGroup - invalid pos: ${pos}`);
|
throw new Error(`iterateImageGroup - invalid pos: ${pos}`);
|
||||||
},
|
},
|
||||||
function (context, i) {
|
function (context, i) {
|
||||||
var MIN_IMAGES_IN_BLOCK = 3;
|
const MIN_IMAGES_IN_BLOCK = 3;
|
||||||
var MAX_IMAGES_IN_BLOCK = 1000;
|
const MAX_IMAGES_IN_BLOCK = 1000;
|
||||||
|
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var curr = context.iCurr;
|
const curr = context.iCurr;
|
||||||
var iFirstSave = curr - 3;
|
const iFirstSave = curr - 3;
|
||||||
var iFirstTransform = curr - 2;
|
const iFirstTransform = curr - 2;
|
||||||
var iFirstPIXO = curr - 1;
|
const iFirstPIXO = curr - 1;
|
||||||
var firstPIXOArg0 = argsArray[iFirstPIXO][0];
|
const firstPIXOArg0 = argsArray[iFirstPIXO][0];
|
||||||
var firstTransformArg0 = argsArray[iFirstTransform][0];
|
const firstTransformArg0 = argsArray[iFirstTransform][0];
|
||||||
var firstTransformArg3 = argsArray[iFirstTransform][3];
|
const firstTransformArg3 = argsArray[iFirstTransform][3];
|
||||||
|
|
||||||
// At this point, i is the index of the first op past the last valid
|
// At this point, i is the index of the first op past the last valid
|
||||||
// quartet.
|
// quartet.
|
||||||
var count = Math.min(
|
const count = Math.min(
|
||||||
Math.floor((i - iFirstSave) / 4),
|
Math.floor((i - iFirstSave) / 4),
|
||||||
MAX_IMAGES_IN_BLOCK
|
MAX_IMAGES_IN_BLOCK
|
||||||
);
|
);
|
||||||
@ -379,16 +377,16 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Extract the (x,y) positions from all of the matching transforms.
|
// Extract the (x,y) positions from all of the matching transforms.
|
||||||
var positions = new Float32Array(count * 2);
|
const positions = new Float32Array(count * 2);
|
||||||
var iTransform = iFirstTransform;
|
let iTransform = iFirstTransform;
|
||||||
for (var q = 0; q < count; q++, iTransform += 4) {
|
for (let q = 0; q < count; q++, iTransform += 4) {
|
||||||
var transformArgs = argsArray[iTransform];
|
const transformArgs = argsArray[iTransform];
|
||||||
positions[q << 1] = transformArgs[4];
|
positions[q << 1] = transformArgs[4];
|
||||||
positions[(q << 1) + 1] = transformArgs[5];
|
positions[(q << 1) + 1] = transformArgs[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Replace queue items.
|
// Replace queue items.
|
||||||
var args = [
|
const args = [
|
||||||
firstPIXOArg0,
|
firstPIXOArg0,
|
||||||
firstTransformArg0,
|
firstTransformArg0,
|
||||||
firstTransformArg3,
|
firstTransformArg3,
|
||||||
@ -409,10 +407,10 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
[OPS.beginText, OPS.setFont, OPS.setTextMatrix, OPS.showText, OPS.endText],
|
[OPS.beginText, OPS.setFont, OPS.setTextMatrix, OPS.showText, OPS.endText],
|
||||||
null,
|
null,
|
||||||
function iterateShowTextGroup(context, i) {
|
function iterateShowTextGroup(context, i) {
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var iFirstSave = context.iCurr - 4;
|
const iFirstSave = context.iCurr - 4;
|
||||||
var pos = (i - iFirstSave) % 5;
|
const pos = (i - iFirstSave) % 5;
|
||||||
switch (pos) {
|
switch (pos) {
|
||||||
case 0:
|
case 0:
|
||||||
return fnArray[i] === OPS.beginText;
|
return fnArray[i] === OPS.beginText;
|
||||||
@ -424,9 +422,9 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
if (fnArray[i] !== OPS.showText) {
|
if (fnArray[i] !== OPS.showText) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var iFirstSetFont = context.iCurr - 3;
|
const iFirstSetFont = context.iCurr - 3;
|
||||||
var firstSetFontArg0 = argsArray[iFirstSetFont][0];
|
const firstSetFontArg0 = argsArray[iFirstSetFont][0];
|
||||||
var firstSetFontArg1 = argsArray[iFirstSetFont][1];
|
const firstSetFontArg1 = argsArray[iFirstSetFont][1];
|
||||||
if (
|
if (
|
||||||
argsArray[i][0] !== firstSetFontArg0 ||
|
argsArray[i][0] !== firstSetFontArg0 ||
|
||||||
argsArray[i][1] !== firstSetFontArg1
|
argsArray[i][1] !== firstSetFontArg1
|
||||||
@ -440,23 +438,23 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);
|
throw new Error(`iterateShowTextGroup - invalid pos: ${pos}`);
|
||||||
},
|
},
|
||||||
function (context, i) {
|
function (context, i) {
|
||||||
var MIN_CHARS_IN_BLOCK = 3;
|
const MIN_CHARS_IN_BLOCK = 3;
|
||||||
var MAX_CHARS_IN_BLOCK = 1000;
|
const MAX_CHARS_IN_BLOCK = 1000;
|
||||||
|
|
||||||
var fnArray = context.fnArray,
|
const fnArray = context.fnArray,
|
||||||
argsArray = context.argsArray;
|
argsArray = context.argsArray;
|
||||||
var curr = context.iCurr;
|
const curr = context.iCurr;
|
||||||
var iFirstBeginText = curr - 4;
|
const iFirstBeginText = curr - 4;
|
||||||
var iFirstSetFont = curr - 3;
|
const iFirstSetFont = curr - 3;
|
||||||
var iFirstSetTextMatrix = curr - 2;
|
const iFirstSetTextMatrix = curr - 2;
|
||||||
var iFirstShowText = curr - 1;
|
const iFirstShowText = curr - 1;
|
||||||
var iFirstEndText = curr;
|
const iFirstEndText = curr;
|
||||||
var firstSetFontArg0 = argsArray[iFirstSetFont][0];
|
const firstSetFontArg0 = argsArray[iFirstSetFont][0];
|
||||||
var firstSetFontArg1 = argsArray[iFirstSetFont][1];
|
const firstSetFontArg1 = argsArray[iFirstSetFont][1];
|
||||||
|
|
||||||
// At this point, i is the index of the first op past the last valid
|
// At this point, i is the index of the first op past the last valid
|
||||||
// quintet.
|
// quintet.
|
||||||
var count = Math.min(
|
let count = Math.min(
|
||||||
Math.floor((i - iFirstBeginText) / 5),
|
Math.floor((i - iFirstBeginText) / 5),
|
||||||
MAX_CHARS_IN_BLOCK
|
MAX_CHARS_IN_BLOCK
|
||||||
);
|
);
|
||||||
@ -467,7 +465,7 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
// If the preceding quintet is (<something>, setFont, setTextMatrix,
|
// If the preceding quintet is (<something>, setFont, setTextMatrix,
|
||||||
// showText, endText), include that as well. (E.g. <something> might be
|
// showText, endText), include that as well. (E.g. <something> might be
|
||||||
// |dependency|.)
|
// |dependency|.)
|
||||||
var iFirst = iFirstBeginText;
|
let iFirst = iFirstBeginText;
|
||||||
if (
|
if (
|
||||||
iFirstBeginText >= 4 &&
|
iFirstBeginText >= 4 &&
|
||||||
fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] &&
|
fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] &&
|
||||||
@ -482,8 +480,8 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove (endText, beginText, setFont) trios.
|
// Remove (endText, beginText, setFont) trios.
|
||||||
var iEndText = iFirst + 4;
|
let iEndText = iFirst + 4;
|
||||||
for (var q = 1; q < count; q++) {
|
for (let q = 1; q < count; q++) {
|
||||||
fnArray.splice(iEndText, 3);
|
fnArray.splice(iEndText, 3);
|
||||||
argsArray.splice(iEndText, 3);
|
argsArray.splice(iEndText, 3);
|
||||||
iEndText += 2;
|
iEndText += 2;
|
||||||
@ -587,7 +585,7 @@ var QueueOptimizer = (function QueueOptimizerClosure() {
|
|||||||
return QueueOptimizer;
|
return QueueOptimizer;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
var NullOptimizer = (function NullOptimizerClosure() {
|
const NullOptimizer = (function NullOptimizerClosure() {
|
||||||
// eslint-disable-next-line no-shadow
|
// eslint-disable-next-line no-shadow
|
||||||
function NullOptimizer(queue) {
|
function NullOptimizer(queue) {
|
||||||
this.queue = queue;
|
this.queue = queue;
|
||||||
@ -607,9 +605,9 @@ var NullOptimizer = (function NullOptimizerClosure() {
|
|||||||
return NullOptimizer;
|
return NullOptimizer;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
var OperatorList = (function OperatorListClosure() {
|
const OperatorList = (function OperatorListClosure() {
|
||||||
var CHUNK_SIZE = 1000;
|
const CHUNK_SIZE = 1000;
|
||||||
var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; // close to chunk size
|
const CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; // close to chunk size
|
||||||
|
|
||||||
// eslint-disable-next-line no-shadow
|
// eslint-disable-next-line no-shadow
|
||||||
function OperatorList(intent, streamSink) {
|
function OperatorList(intent, streamSink) {
|
||||||
@ -682,7 +680,7 @@ var OperatorList = (function OperatorListClosure() {
|
|||||||
for (const dependency of opList.dependencies) {
|
for (const dependency of opList.dependencies) {
|
||||||
this.dependencies.add(dependency);
|
this.dependencies.add(dependency);
|
||||||
}
|
}
|
||||||
for (var i = 0, ii = opList.length; i < ii; i++) {
|
for (let i = 0, ii = opList.length; i < ii; i++) {
|
||||||
this.addOp(opList.fnArray[i], opList.argsArray[i]);
|
this.addOp(opList.fnArray[i], opList.argsArray[i]);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user