blob: 2b6407bd5bacb953cd04da76e3f5184a7556e339 [file] [log] [blame]
<title>Canvas Hit Regions: path2d test</title>
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<body>
<canvas id='canvas' width='400' height='400'>
<button id='face'></button>
<button id='eyes'></button>
</canvas>
<script src='./resources/canvas-hit-region-event.js'></script>
<script>
test(function(t) {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var face = new Path2D();
context.fillStyle = 'pink';
face.arc(200, 175, 150, 0, Math.PI * 2, true);
context.fill(face);
context.addHitRegion({ id : 'face', control : document.getElementById('face'), path : face });
var nose = new Path2D();
context.fillStyle = 'black';
context.globalAlpha = .5;
nose.moveTo(200, 165);
nose.lineTo(240, 205);
nose.lineTo(160, 205);
nose.closePath();
context.fill(nose);
context.addHitRegion({ id : 'nose', path : nose });
var mouth = new Path2D();
context.fillStyle = 'red';
mouth.rect(125, 240, 150, 20);
context.fill(mouth);
context.addHitRegion({ id : 'mouth', path : mouth });
var eyes = new Path2D();
context.globalAlpha = 1;
context.fillStyle = 'blue';
eyes.arc(150, 125, 25, 0, Math.PI * 2, true);
eyes.arc(250, 125, 25, 0, Math.PI * 2, true);
context.fill(eyes);
context.addHitRegion({ id: 'eye', control : document.getElementById('eyes'), path : eyes });
// Hit detection and mouse event tests');
assert_equals(clickCanvas(100, 100), 'face');
assert_equals(clickCanvas(200, 200), 'nose');
assert_equals(clickCanvas(127, 242), 'mouth');
assert_equals(clickCanvas(150, 125), 'eye');
assert_equals(clickCanvas(250, 125), 'eye');
assert_equals(clickCanvas(200, 125), 'face');
assert_equals(clickCanvas(20, 10), null);
}, 'Test that createImageBitmap from a bitmaprenderer canvas produces correct result');
</script>
</body>