<html>
<head>
  <title>canvas-layers-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="/res/common/js/common.js"></script>
  <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <link rel=import href="canvas-layers.html">
  <style type="text/css" media="screen">
    canvas-layers-sk {
      border: solid black 1px;
    }

    img {
      border: solid red 1px;
    }

    canvas {
      border: solid blue 1px;
    }
  </style>
</head>
<body>
  <h1>Canvas Layers</h1>

  <button id=switch>Switch Image</button>
  <p>
    <b>Event:</b> <code id=info></code>
  </p>
  <canvas-layers-sk layers='["clips", "crosshair"]' id=x>
    <img id=img src="https://fiddle.skia.org/i/95552fd2a4b8acacc05a63825cca854e_raster.png"/>
  </canvas-layers-sk>

  <canvas-layers-sk layers='["clips", "crosshair"]' id=x2>
    <img id=img2 width=100 height=100 src="https://fiddle.skia.org/i/95552fd2a4b8acacc05a63825cca854e_raster.png"/>
  </canvas-layers-sk>

  <script type="text/javascript" charset="utf-8">
    var index = 0;
    var images = [
      "https://fiddle.skia.org/i/95552fd2a4b8acacc05a63825cca854e_raster.png",
      "https://fiddle.skia.org/i/5e3a921f4c7ddca081f922cbcc26dd67_raster.png",
    ];

    $$$('#switch').addEventListener('click', function () {
      index = (index+1) % 2;
      $$$('#img').src = images[index];
      $$$('#img2').src = images[index];
    });

    $$$('#x').addEventListener('canvas-update', function(e) {
      $$$('#info').textContent = JSON.stringify(e.detail);
    });

    $$$('#x').canvas('crosshair').addEventListener('click', function(e) {
      $$$('#info').textContent = 'x-crosshair click';
    });
  </script>
</body>
</html>
