Files
odysseus/static/js/editor/checkerboard.js
pewdiepie-archdaemon e5c99a5eee Odysseus v1.0
2026-05-31 23:58:26 +09:00

25 lines
740 B
JavaScript

/**
* Paint a transparency-checkerboard pattern across the given canvas
* context. The editor uses this beneath every layer pass so empty
* (transparent) areas of the document are visible.
*
* Pure function — depends only on its arguments.
*
* @param {CanvasRenderingContext2D} ctx
* @param {number} w Width in canvas pixels.
* @param {number} h Height in canvas pixels.
*/
export function drawCheckerboard(ctx, w, h) {
const size = 10;
ctx.fillStyle = '#ccc';
ctx.fillRect(0, 0, w, h);
ctx.fillStyle = '#fff';
for (let y = 0; y < h; y += size) {
for (let x = 0; x < w; x += size) {
if ((Math.floor(x / size) + Math.floor(y / size)) % 2 === 0) {
ctx.fillRect(x, y, size, size);
}
}
}
}