25 lines
740 B
JavaScript
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);
|
|
}
|
|
}
|
|
}
|
|
}
|