Files
bworld/client/text_rendering.ts
T
2026-02-24 15:36:10 -03:00

24 lines
584 B
TypeScript

const TEXT_SCALE = 8;
export function measure_text(ctx: CanvasRenderingContext2D, text: string, scale = 1): number {
ctx.font = `${scale * TEXT_SCALE}px m6x11`;
return ctx.measureText(text).width;
}
export function draw_text(
ctx: CanvasRenderingContext2D,
text: string,
x: number,
y: number,
scale = 1,
color = "white",
baseline: CanvasTextBaseline = "top",
align: CanvasTextAlign = "left",
) {
ctx.textBaseline = baseline;
ctx.textAlign = align;
ctx.font = `${scale * TEXT_SCALE}px m6x11`;
ctx.fillStyle = color;
ctx.fillText(text, Math.floor(x), Math.floor(y));
}