fix #76 add default passphrase canvas width (#77)

* fix #76 add default passphrase canvas width

* add padLeft constant
This commit is contained in:
Pavel Rybalko 2021-11-17 21:47:32 +07:00 committed by GitHub
parent cbdfc7e08b
commit 3a549409cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,8 +9,8 @@ export default Vue.extend({
name: "CanvasText",
directives: {
canvasMessage: function(el: HTMLElement, binding: VNodeDirective): void {
const canvasElement = el as HTMLCanvasElement,
context = canvasElement.getContext("2d");
const canvasElement = el as HTMLCanvasElement;
const context = canvasElement.getContext("2d");
if (!context) {
// eslint-disable-next-line no-console
console.warn("Failed to find canvasElement context");
@ -19,10 +19,11 @@ export default Vue.extend({
context.clearRect(0, 0, canvasElement.width, canvasElement.height);
context.fillStyle = "black";
context.font = "20px Arial";
const textSize = context.measureText(binding.value);
canvasElement.setAttribute("width", textSize.width + 20 + "px");
const textWidth = context.measureText(binding.value).width || 450;
const padLeftPx = 15;
canvasElement.setAttribute("width", textWidth + padLeftPx + "px");
context.font = "20px Arial";
context.fillText(binding.value, 15, 20);
context.fillText(binding.value, padLeftPx, 20);
}
},
props: {