setFillColorN: function(/*...*/) {
var cs = this.getFillColorSpace();
- if (cs.name == "Pattern") {
+ if (cs.name == 'Pattern') {
var patternName = arguments[0];
this.setFillPattern(patternName);
} else {
matrix[3] = tmpCanvas.height / ystep;
topLeft = applyMatrix([x0, y0], matrix);
}
+
// move the top left corner of bounding box to [0,0]
matrix = multiply(matrix, [1, 0, 0, 1, -topLeft[0], -topLeft[1]]);
+
this.transform.apply(this, matrix);
if (bbox && IsArray(bbox) && 4 == bbox.length) {
var xref = this.xref;
var res = this.res;
- var shadingRes = xref.fetchIfRef(res.get("Shading"));
+ var shadingRes = xref.fetchIfRef(res.get('Shading'));
if (!shadingRes)
- error("No shading resource found");
+ error('No shading resource found');
var shading = xref.fetchIfRef(shadingRes.get(shadingName.name));
if (!shading)
- error("No shading object found");
+ error('No shading object found');
var shadingFill = this.getShading(shading);
getShading: function(shading) {
shading = this.xref.fetchIfRef(shading);
- var bbox = shading.get("BBox");
+ var bbox = shading.get('BBox');
if (bbox && IsArray(bbox) && 4 == bbox.length) {
this.rectangle.apply(this, bbox);
this.clip();
this.endPath();
}
- var background = shading.get("Background");
+ var background = shading.get('Background');
if (background)
- TODO("handle background colors");
+ TODO('handle background colors');
- var cs = shading.get2("ColorSpace", "CS");
+ var cs = shading.get2('ColorSpace', 'CS');
cs = ColorSpace.parse(cs, this.xref, this.res);
var types = [null,
this.getAxialShading,
this.getRadialShading];
- var typeNum = shading.get("ShadingType");
+ var typeNum = shading.get('ShadingType');
var shadingFn = types[typeNum];
if (!shadingFn)
error("Unknown or NYI type of shading '"+ typeNum +"'");
return shadingFn.call(this, shading, cs);
},
getAxialShading: function(sh, cs) {
- var coordsArr = sh.get("Coords");
+ var coordsArr = sh.get('Coords');
var x0 = coordsArr[0], y0 = coordsArr[1],
x1 = coordsArr[2], y1 = coordsArr[3];
}
var extendStart = false, extendEnd = false;
- if (sh.has("Extend")) {
- var extendArr = sh.get("Extend");
+ if (sh.has('Extend')) {
+ var extendArr = sh.get('Extend');
extendStart = extendArr[0], extendEnd = extendArr[1];
- TODO("Support extend");
+ TODO('Support extend');
}
- var fnObj = sh.get("Function");
+ var fnObj = sh.get('Function');
fnObj = this.xref.fetchIfRef(fnObj);
if (IsArray(fnObj))
- error("No support for array of functions");
+ error('No support for array of functions');
else if (!IsPDFFunction(fnObj))
- error("Invalid function");
+ error('Invalid function');
var fn = new PDFFunction(this.xref, fnObj);
var gradient = this.ctx.createLinearGradient(x0, y0, x1, y1);
return gradient;
},
getRadialShading: function(sh, cs) {
- var coordsArr = sh.get("Coords");
+ var coordsArr = sh.get('Coords');
var x0 = coordsArr[0], y0 = coordsArr[1], r0 = coordsArr[2];
var x1 = coordsArr[3], y1 = coordsArr[4], r1 = coordsArr[5];
var t0 = 0.0, t1 = 1.0;
- if (sh.has("Domain")) {
- var domainArr = sh.get("Domain");
+ if (sh.has('Domain')) {
+ var domainArr = sh.get('Domain');
t0 = domainArr[0], t1 = domainArr[1];
}
var extendStart = false, extendEnd = false;
- if (sh.has("Extend")) {
- var extendArr = sh.get("Extend");
+ if (sh.has('Extend')) {
+ var extendArr = sh.get('Extend');
extendStart = extendArr[0], extendEnd = extendArr[1];
- TODO("Support extend");
+ TODO('Support extend');
}
- var fnObj = sh.get("Function");
+ var fnObj = sh.get('Function');
fnObj = this.xref.fetchIfRef(fnObj);
if (IsArray(fnObj))
- error("No support for array of functions");
+ error('No support for array of functions');
else if (!IsPDFFunction(fnObj))
- error("Invalid function");
+ error('Invalid function');
var fn = new PDFFunction(this.xref, fnObj);
var gradient =