<!DOCTYPE HTML>
<html>
<head>
<title>Canvas 2D Blit Test: Draw text then blit for hundreds of frames.</title>
<style type="text/css">
.nomargin {
margin: 0px auto;
}
</style>
<script>
var g_swapsBeforeAck = 300;
var canvas;
var c2d;
function main()
{
draw();
waitForFinish();
}
function draw()
{
canvas = document.getElementById("c");
c2d = canvas.getContext("2d");
c2d.fillStyle = 'white';
c2d.rect(0, 0, canvas.width, canvas.height);
c2d.fill();
c2d.fillStyle = 'red';
c2d.strokeStyle = 'slateblue';
c2d.lineWidth = 5;
c2d.font = '30px Arial';
c2d.fillText('The text should not be blurry!', 10, 100); // also: strokeText
c2d.fillStyle = 'green';
c2d.fillText('The text should also not be blurry!', 300, 150); // also: strokeText
}
function blit()
{
// Blit canvas to itself.
c2d.drawImage(canvas,0,0, canvas.width,canvas.height);
}
function waitForFinish()
{
if (g_swapsBeforeAck == 0) {
domAutomationController.send("SUCCESS");
} else {
blit();
g_swapsBeforeAck--;
document.getElementById('container').style.zIndex = g_swapsBeforeAck + 1;
window.requestAnimationFrame(waitForFinish);
}
}
</script>
</head>
<body onload="main()">
<div style="position:relative; width:800px; height:200px; background-color:black">
</div>
<div id="container" style="position:absolute; top:0px; left:0px">
<canvas id="c" width="800" height="200" class="nomargin"></canvas>
</div>
</body>
</html>