2d.layer.ctm.shadow-in-transformed-layer.w.html (1649B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <html class="reftest-wait"> 5 <link rel="match" href="2d.layer.ctm.shadow-in-transformed-layer-expected.html"> 6 <title>Canvas test: 2d.layer.ctm.shadow-in-transformed-layer</title> 7 <h1>2d.layer.ctm.shadow-in-transformed-layer</h1> 8 <p class="desc">Check shadows inside of a transformed layer.</p> 9 <canvas id="canvas" width="200" height="200"> 10 <p class="fallback">FAIL (fallback content)</p> 11 </canvas> 12 <script id='myWorker' type='text/worker'> 13 self.onmessage = function(e) { 14 const canvas = new OffscreenCanvas(200, 200); 15 const ctx = canvas.getContext('2d'); 16 17 ctx.translate(80, 90); 18 ctx.scale(2, 2); 19 ctx.rotate(Math.PI / 2); 20 21 ctx.beginLayer(); 22 ctx.shadowOffsetX = 10; 23 ctx.shadowOffsetY = 10; 24 ctx.shadowColor = 'grey'; 25 ctx.fillRect(-30, -5, 60, 10); 26 27 const canvas2 = new OffscreenCanvas(100, 100); 28 const ctx2 = canvas2.getContext('2d'); 29 ctx2.fillStyle = 'blue'; 30 ctx2.fillRect(0, 0, 40, 10); 31 ctx.drawImage(canvas2, -30, -30); 32 33 ctx.endLayer(); 34 35 const bitmap = canvas.transferToImageBitmap(); 36 self.postMessage(bitmap, bitmap); 37 }; 38 </script> 39 <script> 40 const blob = new Blob([document.getElementById('myWorker').textContent]); 41 const worker = new Worker(URL.createObjectURL(blob)); 42 worker.addEventListener('message', msg => { 43 const outputCtx = document.getElementById("canvas").getContext('2d'); 44 outputCtx.drawImage(msg.data, 0, 0); 45 document.documentElement.classList.remove("reftest-wait"); 46 }); 47 worker.postMessage(null); 48 </script> 49 </html>