import Terrain from './Terrain.js'; import Canvas from './Canvas.js'; import Brush from './Brush.js'; import BrushSelector from './BrushSelector.js'; const $ = id => document.getElementById(id) window.onload = () => { const canvas = new Canvas('root'); const terrain = new Terrain(); const selector = new BrushSelector('root', canvas, terrain); let brushing = false; canvas.onMouseDown = e => { if (e.button == 0) brushing = true; }; canvas.onMouseUp = e => { if (e.button == 0) brushing = false; }; const pos = canvas.mouse.drawingPos; canvas.onMouseMove = () => { if (brushing) selector.apply(); canvas.draw(); }; canvas.onDraw = ct => { terrain.render(ct); ct.strokeStyle = '#fff'; ct.lineWidth = canvas.pixelsToUnits(1); ct.beginPath(); ct.arc(pos.x, pos.y, canvas.pixelsToUnits(selector.radiusSlider.value), 0, 2*Math.PI); ct.closePath(); ct.stroke(); }; canvas.draw(); }