var ggl = {
init:function(){
this.drawRect();
},
fBindGGLCanvas:function(){
var self = this;
self.drawRect();
var startFunc = function(e){
var loc = self.windowToCanvas(e);
dragging = true;
self.drawEraser(loc);
}
var moveFunc = function(e){
e.preventDefault();
var loc;
if (dragging) {
loc = self.windowToCanvas(e);
self.drawEraser(loc);
}
}
var endFunc = function(e){
dragging = false;
var data = context.getImageData(0, 0, w, h).data,
scrapeNum = 0;
for(var i = 3, len = data.length; i < len; i += 4){
if(data[i] === 0){
scrapeNum++;
}
}
if(scrapeNum > area * 0.1){
canvas.style.display = 'none';
}
}
canvas.addEventListener('touchstart', startFunc);
canvas.addEventListener('touchmove', moveFunc);
canvas.addEventListener('touchend', endFunc);
canvas.addEventListener('mousedown', startFunc);
canvas.addEventListener('mousemove', moveFunc);
canvas.addEventListener('mouseup', endFunc);
},
drawRect:function(){
context.save();
var image = new Image();
image.src = document.getElementById("qb").src;
image.onload = function () {
context.drawImage(image, 0, 0, w, h);
}
context.restore();
},
windowToCanvas: function(e) {
if(!e.targetTouches || !e.targetTouches.length){
return {x:0,y:0}
}
var x = e.targetTouches[0].clientX,
y = e.targetTouches[0].clientY,
bbox = canvas.getBoundingClientRect();
return {
x: x - bbox.left,
y: y - bbox.top
}
},
drawEraser: function(loc) {
context.save();
context.beginPath();
context.arc(loc.x, loc.y, ERASER_SIZE, 0, Math.PI * 2, false);
context.clip();
context.clearRect(0, 0, w, h);
context.restore();
}
}