);
if ('Form' == type.name) {
- args[0].code = this.evaluate(xobj, xref,
- xobj.dict.get('Resources'), fonts,
- images);
- }
- if (isStream(xobj) && xobj.getImage) {
- images.bind(xobj); // monitoring image load
+ var matrix = xobj.dict.get('Matrix');
+ var bbox = xobj.dict.get('BBox');
- var smask = xref.fetchIfRef(xobj.dict.get('SMask'));
- if (isStream(smask) && smask.getImage)
- images.bind(smask); // monitoring image load
+ fnArray.push('paintFormXObjectBegin');
+ argsArray.push([matrix, bbox]);
+
+ // This adds the IRQueue of the xObj to the current queue.
+ var depIdx = dependency.length;
+
- this.getIRQueue(xobj, xobj.dict.get('Resources'), queue, dependency);
++ this.getIRQueue(xobj, xobj.dict.get('Resources'), queue,
++ dependency);
+
+ // Add the dependencies that are required to execute the
+ // codeIR.
+ insertDependency(dependency.slice(depIdx));
+
+ fn = 'paintFormXObjectEnd';
+ args = [];
+ } else if ('Image' == type.name) {
+ buildPaintImageXObject(xobj, false);
+ } else {
+ error('Unhandled XObject subtype ' + type.name);
}
}
} else if (cmd == 'Tf') { // eagerly collect all fonts
for (var i = 0; i < length; ++i)
diff.push(c1[i] - c0[i]);
- return [CONSTRUCT_INTERPOLATED, c0, diff, n, i];
- this.func = function pdfFunctionConstructInterpolatedFunc(args) {
++ return [CONSTRUCT_INTERPOLATED, c0, diff, n];
+ },
+
+ constructInterpolatedFromIR:
+ function pdfFunctionconstructInterpolatedFromIR(IR) {
+ var c0 = IR[1];
+ var diff = IR[2];
+ var n = IR[3];
- var i = IR[4];
+
+ var length = diff.length;
+
+ return function(args) {
- var x = args[0];
+ var x = n == 1 ? args[0] : Math.pow(args[0], n);
var out = [];
for (var j = 0; j < length; ++j)
- out.push(c0[j] + (x^n * diff[i]));
+ out.push(c0[j] + (x * diff[j]));
return out;
- };
+
+ }
},
+
constructStiched: function pdfFunctionConstructStiched(fn, dict, xref) {
var domain = dict.get('Domain');
var range = dict.get('Range');