Files
500-Lines-or-Less/1 - Blockcode/resources/js/script-runner.js
T

50 lines
1.2 KiB
JavaScript
Raw Normal View History

2026-10-31 23:35:38 -05:00
const setupScriptRunner = () => {
canvasContext = canvas.getContext("2d");
2026-10-31 23:35:38 -05:00
Painter.canvas = canvas;
Painter.canvasContext = canvasContext;
}
const runScript = () => {
resetCanvasState();
2026-10-31 23:35:38 -05:00
for (const elm of script.children) {
elm.action(Painter);
}
}
const resetCanvasState = () => {
resetRotation();
resetCanvasBrush();
clearCanvas();
}
const resetCanvasBrush = () => {
setDefaultBrushSize();
setDefaultBrushColor();
setBrushToCenter();
}
const setDefaultBrushSize = () => {
Painter.brushSize = BRUSH_SIZE;
Painter.canvasContext.lineWidth = BRUSH_SIZE;
}
const setDefaultBrushColor = () => {
Painter.brushColor = BRUSH_COLOR;
Painter.canvasContext.fillStyle = BRUSH_COLOR;
Painter.canvasContext.strokeStyle = BRUSH_COLOR;
}
const setBrushToCenter = () => {
2026-10-31 23:35:38 -05:00
Painter.x1 = Painter.canvas.width / 2
Painter.y1 = Painter.canvas.height / 2
Painter.canvasContext.moveTo( Painter.x1, Painter.y1 );
}
const clearCanvas = () => {
Painter.canvasContext.clearRect(0, 0, canvas.width, canvas.height);
}
const resetRotation = () => {
Painter.rotation = 0;
}