mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-05-03 15:39:03 +00:00
64 lines
1.8 KiB
JavaScript
64 lines
1.8 KiB
JavaScript
var img_confirm = new Image();
|
|
img_confirm.src = "screen-confirm.png";
|
|
|
|
var img_yesno = new Image();
|
|
img_yesno.src = "screen-yes-no.png";
|
|
|
|
function setFont(ctx, bold, mono) {
|
|
ctx.fillStyle = 'white';
|
|
var font = bold ? 'bold ' : '';
|
|
font += '20px "Roboto';
|
|
font += mono ? ' Mono"' : '"';
|
|
ctx.font = font;
|
|
}
|
|
|
|
function text(ctx, x, y, text, bold, mono) {
|
|
setFont(ctx, bold, mono);
|
|
ctx.fillText(text, x, y);
|
|
}
|
|
|
|
function textCenter(ctx, x, y, text, bold, mono) {
|
|
setFont(ctx, bold, mono);
|
|
var w = ctx.measureText(text).width;
|
|
ctx.fillText(text, x - w / 2, y);
|
|
}
|
|
|
|
function render() {
|
|
var title_str = document.getElementById("title").value;
|
|
var line_str = [];
|
|
var bold = [];
|
|
var mono = [];
|
|
for (var i = 1; i <= 5; i++) {
|
|
line_str[i] = document.getElementById("line" + i).value;
|
|
bold[i] = document.getElementById("bold_line" + i).checked;
|
|
mono[i] = document.getElementById("mono_line" + i).checked;
|
|
}
|
|
var confirm_str = document.getElementById("confirm").value;
|
|
|
|
var canvas = document.getElementById('canvas');
|
|
var ctx = canvas.getContext('2d');
|
|
|
|
if (confirm_str) {
|
|
ctx.drawImage(img_confirm, 0, 0);
|
|
} else {
|
|
ctx.drawImage(img_yesno, 0, 0);
|
|
}
|
|
|
|
text(ctx, 44, 35, title_str, true);
|
|
for (var i = 1; i <= 5; i++) {
|
|
text(ctx, 14, 48 + 26 * i, line_str[i], bold[i], mono[i]);
|
|
}
|
|
textCenter(ctx, 120, 215, confirm_str, true);
|
|
}
|
|
|
|
window.onload = function() {
|
|
document.getElementById("title").onkeyup = render;
|
|
for (var i = 1; i <= 5; i++) {
|
|
document.getElementById("line" + i).onkeyup = render;
|
|
document.getElementById("bold_line" + i).onclick = render;
|
|
document.getElementById("mono_line" + i).onclick = render;
|
|
}
|
|
document.getElementById("confirm").onkeyup = render;
|
|
render();
|
|
}
|