| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Test that the clip state persists across frame boundaries.</title> |
| </head> |
| <body> |
| <canvas id='canvas1' width='100' height='100'></canvas> |
| <canvas id='canvas2' width='100' height='100'></canvas> |
| <canvas id='canvas3' width='100' height='100'></canvas> |
| <canvas id='canvas4' width='100' height='100'></canvas> |
| <script> |
| var canvas1 = document.getElementById('canvas1'); |
| var canvas2 = document.getElementById('canvas2'); |
| var canvas3 = document.getElementById('canvas3'); |
| var canvas4 = document.getElementById('canvas4'); |
| var ctx1 = canvas1.getContext('2d'); |
| var ctx2 = canvas2.getContext('2d'); |
| var ctx3 = canvas3.getContext('2d'); |
| var ctx4 = canvas4.getContext('2d'); |
| |
| ctx1.fillStyle = 'green'; |
| ctx1.fillRect(0, 0, 100, 100); |
| ctx1.beginPath(); |
| ctx1.moveTo(10, 10); |
| ctx1.lineTo(90, 50); |
| ctx1.lineTo(10, 90); |
| ctx1.clip(); |
| ctx1.fillStyle = 'yellow'; |
| ctx1.fillRect(0, 0, 100, 100); |
| |
| ctx2.drawImage(canvas1, 0, 0); |
| ctx2.fillStyle = 'green'; |
| ctx2.fillRect(0, 0, 50, 100); |
| |
| ctx3.drawImage(canvas1, 0, 0); |
| |
| // ctx4 transformed clip |
| ctx4.fillStyle = 'green'; |
| ctx4.fillRect(0, 0, 10, 100); |
| ctx4.drawImage(canvas1, 10, 0); |
| |
| </script> |
| </body> |
| </html> |