canvas hittest
Gonna see if I can get free hittesting from canvas...
HTML
<div id="canvasHolder">
<canvas id="myCanvas"></canvas>
</div>
<div id="tester"></div>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle mousemove="console.log('red');" cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"
/>
<circle cx="150" cy="50" r="40" stroke="black" stroke-width="2" fill="blue"
/>
</svg>
JavaScript
var c = document.getElementById("myCanvas");
var ctx = document.getElementById('myCanvas').getContext('2d');
function draw() {
// Bezier curves example
ctx.beginPath();
ctx.moveTo(75, 40);
ctx.bezierCurveTo(75, 37, 70, 25, 50, 25);
ctx.bezierCurveTo(20, 25, 20, 62.5, 20, 62.5);
ctx.bezierCurveTo(20, 80, 40, 102, 75, 120);
ctx.bezierCurveTo(110, 102, 130, 80, 130, 62.5);
ctx.bezierCurveTo(130, 62.5, 130, 25, 100, 25);
ctx.bezierCurveTo(85, 25, 75, 37, 75, 40);
ctx.fill();
}
draw();
$('#canvasHolder').mousemove(function (evt) {
if (ctx.isPointInPath(evt.offsetX, evt.offsetY)) {
$('#tester').text('hitting');
} else {
$('#tester').text('missing');
}
//$('#tester').text('moving: '+evt.offsetX +','+evt.offsetY);
});