From: Julian Viereck Date: Tue, 11 Oct 2011 20:21:34 +0000 (+0200) Subject: Merge master -> worker_pull + fix too long line X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=3142c2a7dae2d4b95f6980a6d9612ff34c8f234b;p=pdf.js.git Merge master -> worker_pull + fix too long line --- 3142c2a7dae2d4b95f6980a6d9612ff34c8f234b diff --cc pdf.js index b46fe3c,79310b1..8556008 --- a/pdf.js +++ b/pdf.js @@@ -4775,27 -4428,16 +4775,28 @@@ var PartialEvaluator = (function partia ); 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 @@@ -7308,30 -6796,16 +7309,29 @@@ var PDFFunction = (function() 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');