| <!doctype HTML> |
| <html> |
| <head> |
| <title>HTML5 Canvas Test: restore() pops top entry in drawing state stack</title> |
| <link rel="match" href="canvas_state_restore_001-ref.htm"> |
| <link rel="author" title="Microsoft" href="http://www.microsoft.com" /> |
| <link rel="help" href="http://www.w3.org/TR/2dcontext/#the-canvas-state" /> |
| <meta name="assert" content="restore() pops the top entry in the drawing state stack." /> |
| <script type="text/javascript"> |
| function runTest() |
| { |
| var canvas = document.getElementById("canvas1"); |
| var ctx = canvas.getContext("2d"); |
| ctx.fillStyle = "rgba(255, 0, 0, 1.0)"; |
| ctx.fillRect(0, 0, 99, 50); |
| |
| // Save colors to the stack as separate drawing states. |
| ctx.fillStyle = "rgba(255, 255, 0, 1.0)"; |
| ctx.save(); |
| ctx.fillStyle = "rgba(0, 0, 255, 1.0)"; |
| ctx.save(); |
| ctx.fillStyle = "rgba(0, 255, 0, 1.0)"; |
| ctx.save(); |
| |
| // Modify the current fillStyle. |
| ctx.fillStyle = "rgba(255, 0, 0, 1.0)"; |
| |
| // Restore the drawing states previously saved and draw with them. |
| ctx.restore(); |
| ctx.fillRect(66, 0, 33, 50); |
| ctx.restore(); |
| ctx.fillRect(33, 0, 33, 50); |
| ctx.restore(); |
| ctx.fillRect(0, 0, 33, 50); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Description: restore() pops the top entry in the drawing state stack.</p> |
| <canvas id="canvas1" width="300" height="150">Browser does not support HTML5 Canvas.</canvas> |
| </body> |
| </html> |