Skip to content

Commit

Permalink
Merge pull request #1918 from vpo-dev/vpo-dev_fix-opacity-zero
Browse files Browse the repository at this point in the history
Colors with opacity at zero to be fully transparent
  • Loading branch information
liborm85 authored Feb 6, 2020
2 parents 9b7e5e8 + e288541 commit 83ef423
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
3 changes: 2 additions & 1 deletion src/layoutBuilder.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ var getNodeId = require('./helpers').getNodeId;
var isFunction = require('./helpers').isFunction;
var TextTools = require('./textTools');
var StyleContextStack = require('./styleContextStack');
var isNumber = require('./helpers').isNumber;

function addAll(target, otherArray) {
otherArray.forEach(function (item) {
Expand Down Expand Up @@ -258,7 +259,7 @@ LayoutBuilder.prototype.addWatermark = function (watermark, fontProvider, defaul
watermark.font = watermark.font || defaultStyle.font || 'Roboto';
watermark.fontSize = watermark.fontSize || 'auto';
watermark.color = watermark.color || 'black';
watermark.opacity = watermark.opacity || 0.6;
watermark.opacity = isNumber(watermark.opacity) ? watermark.opacity : 0.6;
watermark.bold = watermark.bold || false;
watermark.italics = watermark.italics || false;
watermark.angle = !isUndefined(watermark.angle) && !isNull(watermark.angle) ? watermark.angle : null;
Expand Down
17 changes: 11 additions & 6 deletions src/printer.js
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,8 @@ function renderLine(line, x, y, pdfKitDoc) {
options.features = inline.fontFeatures;
}

pdfKitDoc.opacity(inline.opacity || 1);
var opacity = isNumber(inline.opacity) ? inline.opacity : 1;
pdfKitDoc.opacity(opacity);
pdfKitDoc.fill(inline.color || 'black');

pdfKitDoc._font = inline.font;
Expand Down Expand Up @@ -586,22 +587,26 @@ function renderVector(vector, pdfKitDoc) {

vector.color = gradient;
}

var fillOpacity = isNumber(vector.fillOpacity) ? vector.fillOpacity : 1;
var strokeOpacity = isNumber(vector.strokeOpacity) ? vector.strokeOpacity : 1;

if (vector.color && vector.lineColor) {
pdfKitDoc.fillColor(vector.color, vector.fillOpacity || 1);
pdfKitDoc.strokeColor(vector.lineColor, vector.strokeOpacity || 1);
pdfKitDoc.fillColor(vector.color, fillOpacity);
pdfKitDoc.strokeColor(vector.lineColor, strokeOpacity);
pdfKitDoc.fillAndStroke();
} else if (vector.color) {
pdfKitDoc.fillColor(vector.color, vector.fillOpacity || 1);
pdfKitDoc.fillColor(vector.color, fillOpacity);
pdfKitDoc.fill();
} else {
pdfKitDoc.strokeColor(vector.lineColor || 'black', vector.strokeOpacity || 1);
pdfKitDoc.strokeColor(vector.lineColor || 'black', strokeOpacity);
pdfKitDoc.stroke();
}
}

function renderImage(image, x, y, pdfKitDoc) {
pdfKitDoc.opacity(image.opacity || 1);
var opacity = isNumber(image.opacity) ? image.opacity : 1;
pdfKitDoc.opacity(opacity);
pdfKitDoc.image(image.image, image.x, image.y, { width: image._width, height: image._height });
if (image.link) {
pdfKitDoc.link(image.x, image.y, image._width, image._height, image.link);
Expand Down

0 comments on commit 83ef423

Please sign in to comment.