|
|
|
@ -115,11 +115,29 @@ Shadings.RadialAxial = (function RadialAxialClosure() {
@@ -115,11 +115,29 @@ Shadings.RadialAxial = (function RadialAxialClosure() {
|
|
|
|
|
this.extendEnd = extendEnd; |
|
|
|
|
|
|
|
|
|
var fnObj = dict.get('Function'); |
|
|
|
|
if (isArray(fnObj)) |
|
|
|
|
error('No support for array of functions'); |
|
|
|
|
if (!isPDFFunction(fnObj)) |
|
|
|
|
var fn; |
|
|
|
|
if (isArray(fnObj)) { |
|
|
|
|
var fnArray = []; |
|
|
|
|
for (var j = 0, jj = fnObj.length; j < jj; j++) { |
|
|
|
|
var obj = xref.fetchIfRef(fnObj[j]); |
|
|
|
|
if (!isPDFFunction(obj)) { |
|
|
|
|
error('Invalid function'); |
|
|
|
|
var fn = PDFFunction.parse(xref, fnObj); |
|
|
|
|
} |
|
|
|
|
fnArray.push(PDFFunction.parse(xref, obj)); |
|
|
|
|
} |
|
|
|
|
fn = function radialAxialColorFunction(arg) { |
|
|
|
|
var out = []; |
|
|
|
|
for (var i = 0, ii = fnArray.length; i < ii; i++) { |
|
|
|
|
out.push(fnArray[i](arg)[0]); |
|
|
|
|
} |
|
|
|
|
return out; |
|
|
|
|
}; |
|
|
|
|
} else { |
|
|
|
|
if (!isPDFFunction(fnObj)) { |
|
|
|
|
error('Invalid function'); |
|
|
|
|
} |
|
|
|
|
fn = PDFFunction.parse(xref, fnObj); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 10 samples seems good enough for now, but probably won't work
|
|
|
|
|
// if there are sharp color changes. Ideally, we would implement
|
|
|
|
|