<!DOCTYPE html>
<title>Canvas test: 2d.composite.clip.source-in</title>
<script src="../tests.js"></script>
<link rel="stylesheet" href="../tests.css">
<link rel="prev" href="2d.composite.clip.destination-over.html" title="2d.composite.clip.destination-over">
<link rel="next" href="2d.composite.clip.destination-in.html" title="2d.composite.clip.destination-in">
<body class="show_output">
<p>
 <a href="2d.composite.clip.destination-over.html" accesskey="p" title="[p] 2d.composite.clip.destination-over">&lt;</a>
 <a href="index.html">[index]</a>
 <a href="2d.composite.clip.destination-in.html" accesskey="n" title="[n] 2d.composite.clip.destination-in">&gt;</a>
<h1><a href="index.2d.html">2d</a>.<a href="index.2d.composite.html">composite</a>.<a href="index.2d.composite.clip.html">clip</a>.source-in</h1>
<p class="desc">fill() does not affect pixels outside the clip region.</p>
<div class="refs">References:
<ul>
<li><a href="spec.html#testrefs.2d.composite.source-in">2d.composite.source-in</a>

</ul>
</div>

<p class="output">Actual output:</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) {


ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);
ctx.globalCompositeOperation = 'source-in';
ctx.rect(-20, -20, 10, 10);
ctx.clip();
ctx.fillStyle = '#f00';
ctx.fillRect(0, 0, 50, 50);
_assertPixel(canvas, 25,25, 0,255,0,255, "25,25", "0,255,0,255");
_assertPixel(canvas, 75,25, 0,255,0,255, "75,25", "0,255,0,255");


});
</script>

