Files
kemkas-gh-mirror/frontend/src/first-edition/pdf/masodlagos_ertekek.pdf.ts
T

89 lines
2.3 KiB
TypeScript

import {PDFFont, PDFPage} from "pdf-lib";
import {KarakterPdfView} from "./karakter_pdf_view";
import {SignedNumberToText} from "../components/Helpers";
export function DrawMasodlagosErtekek(
page: PDFPage,
karakter: KarakterPdfView,
fontSizeBase: number,
pdfFont: PDFFont)
{
page.drawText(karakter.Mozgas.toString(), {
x: 162,
y: 416,
size: fontSizeBase * 2,
font: pdfFont,
})
page.drawText(SignedNumberToText(karakter.Kezdemenyezes), {
x: 505,
y: 416,
size: fontSizeBase * 2,
font: pdfFont,
})
page.drawText(karakter.HP.toString(), {
x: 318,
y: 517,
size: fontSizeBase * 1.5,
font: pdfFont,
})
page.drawText(karakter.VO.toString(), {
x: 368,
y: 495,
size: fontSizeBase * 3,
font: pdfFont,
})
page.drawText(karakter.PancelVO.toString(), {
x: 512,
y: 515,
size: fontSizeBase * 2,
font: pdfFont,
})
page.drawText(karakter.PajzsVO.toString(), {
x: 512,
y: 482,
size: fontSizeBase * 2,
font: pdfFont,
})
const kozelharciTB = karakter.KozelharciTB.map(SignedNumberToText).join("/")
function getFontSize(length: number): number {
switch (length) {
case 1:
case 2:
return 24;
case 3:
return 18;
case 4:
return 14;
case 5:
return 11;
case 6:
return 9;
case 7:
return 8;
default:
return 6;
}
}
function getYOffset(length: number): number {
return Math.min(length - 2, 6);
}
const kozelHarciFontSize = getFontSize(kozelharciTB.length)
page.drawText(kozelharciTB, {
x: kozelharciTB.length > 4 ? 256 : 258,
y: 383 + getYOffset(kozelharciTB.length),
size: kozelHarciFontSize,
font: pdfFont,
})
const celzoTB = karakter.CelzoTB.map(SignedNumberToText).join("/")
const celzoFontSize = getFontSize(celzoTB.length)
page.drawText(celzoTB, {
x: celzoTB.length > 4 ? 343 : 346,
y: 383 + getYOffset(celzoTB.length),
size: celzoFontSize,
font: pdfFont,
})
}