<!DOCTYPE html>
<title>Canvas test: 2d.transformation.setTransform.skewed</title>
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<body>
<p id="passtext">Pass</p>
<p id="failtext">Fail</p>
<p class="output">These images should be identical:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<p class="output expectedtext">Expected output:<p><img src="green-100x50.png" class="output expected" id="expected" alt="">
<ul id="d"></ul>
<script>
_addTest(function(canvas, ctx) {

// Create green with a red square ring inside it
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);
ctx.fillStyle = '#f00';
ctx.fillRect(20, 10, 60, 30);
ctx.fillStyle = '#0f0';
ctx.fillRect(40, 20, 20, 10);

// Draw a skewed shape to fill that gap, to make sure it is aligned correctly
ctx.setTransform(1,4, 2,3, 5,6);
// Post-transform coordinates:
//   [[20,10],[80,10],[80,40],[20,40],[20,10],[40,20],[40,30],[60,30],[60,20],[40,20],[20,10]];
// Hence pre-transform coordinates:
var pts=[[-7.4,11.2],[-43.4,59.2],[-31.4,53.2],[4.6,5.2],[-7.4,11.2],
         [-15.4,25.2],[-11.4,23.2],[-23.4,39.2],[-27.4,41.2],[-15.4,25.2],
         [-7.4,11.2]];
ctx.beginPath();
ctx.moveTo(pts[0][0], pts[0][1]);
for (var i = 0; i < pts.length; ++i)
    ctx.lineTo(pts[i][0], pts[i][1]);
ctx.fill();
_assertPixel(canvas, 21,11, 0,255,0,255, "21,11", "0,255,0,255");
_assertPixel(canvas, 79,11, 0,255,0,255, "79,11", "0,255,0,255");
_assertPixel(canvas, 21,39, 0,255,0,255, "21,39", "0,255,0,255");
_assertPixel(canvas, 79,39, 0,255,0,255, "79,39", "0,255,0,255");
_assertPixel(canvas, 39,19, 0,255,0,255, "39,19", "0,255,0,255");
_assertPixel(canvas, 61,19, 0,255,0,255, "61,19", "0,255,0,255");
_assertPixel(canvas, 39,31, 0,255,0,255, "39,31", "0,255,0,255");
_assertPixel(canvas, 61,31, 0,255,0,255, "61,31", "0,255,0,255");


});
</script>

