'use strict' var mouseChange = require('mouse-change') var alphaShape = require('./alpha') var fit = require('canvas-fit') var alphaContainer = document.createElement('div') alphaContainer.style.top = '0' alphaContainer.style.left = '0' alphaContainer.style.position = 'absolute' alphaContainer.style['z-index'] = 10 alphaContainer.style.color = '#fff' var alphaLabel = document.createElement('p') alphaContainer.appendChild(alphaLabel) var alphaSlider = document.createElement('input') alphaSlider.type = 'range' alphaSlider.minValue = 0 alphaSlider.maxValue = 100 alphaSlider.value = 1.0 alphaContainer.appendChild(alphaSlider) document.body.appendChild(alphaContainer) var canvas = document.body.appendChild(document.createElement('canvas')) window.addEventListener('resize', fit(canvas)) var context = canvas.getContext('2d') var points = [] var pbuttons = 0 mouseChange(function(buttons, x, y) { if(buttons&1 && (~pbuttons)&1) { points.push([x/canvas.width, y/canvas.height]) } pbuttons = buttons }) function render() { requestAnimationFrame(render) alphaLabel.innerHTML = 'alpha = ' + alphaSlider.value var alphaHull = alphaShape(+alphaSlider.value, points) var w = canvas.width var h = canvas.height context.fillStyle = '#000' context.fillRect(0, 0, canvas.width, canvas.height) context.strokeStyle = '#f00' for(var i=0; i