Skip to content

Commit 68b41fb

Browse files
authored
add SetMiterLimit functionality to pdf and context2d (#2162)
* Update jspdf.js * Update context2d.js * Update jspdf.unit.spec.js * Add files via upload * Add files via upload
1 parent 7e03e14 commit 68b41fb

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed

src/jspdf.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3155,6 +3155,28 @@ var jsPDF = (function (global) {
31553155
return this;
31563156
};
31573157

3158+
var miterLimit;
3159+
/**
3160+
* Sets the miterLimit property, which effects the maximum miter length.
3161+
*
3162+
* @param {number} length The length of the miter
3163+
* @function
3164+
* @instance
3165+
* @returns {jsPDF}
3166+
* @memberOf jsPDF
3167+
* @name setMiterLimit
3168+
*/
3169+
var setMiterLimit = API.__private__.setMiterLimit = API.setMiterLimit = function (length) {
3170+
length = length || 0;
3171+
if (isNaN(length)) {
3172+
throw new Error('Invalid argument passed to jsPDF.setMiterLimit');
3173+
}
3174+
miterLimit = parseFloat(f2(length * k));
3175+
out(miterLimit + ' M');
3176+
3177+
return this;
3178+
};
3179+
31583180
/**
31593181
* Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').
31603182
* Uses FileSaver.js-method saveAs.

src/modules/context2d.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@
352352
set: function (value) {
353353
if (!isNaN(value)) {
354354
this.ctx.miterLimit = value;
355+
this.pdf.setMiterLimit(value);
355356
}
356357
}
357358
});
8 Bytes
Binary file not shown.

tests/init/jspdf.unit.spec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,19 @@ break`, 10, 10, {scope: doc});
11711171

11721172
})
11731173

1174+
it('jsPDF private function setMiterLimit', () => {
1175+
var doc = jsPDF();
1176+
1177+
var writeArray;
1178+
1179+
//miter/butt
1180+
doc = jsPDF();
1181+
writeArray = [];
1182+
doc.__private__.setCustomOutputDestination(writeArray);
1183+
doc.__private__.setMiterLimit(1);
1184+
expect(writeArray).toEqual(['2.83 M']);
1185+
expect(function() {doc.__private__.setMiterLimit('invalid');}).toThrow(new Error('Invalid argument passed to jsPDF.setMiterLimit'));
1186+
})
11741187
it('jsPDF private function putHeader', () => {
11751188
var doc = jsPDF();
11761189

0 commit comments

Comments
 (0)