<!doctype html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <!--Set visual viewport size for mobile devices to the device size,
        witch results in a scale of 1 and a 1:1 mapping between CSS pixels
        and Qt device independent pixels. -->
    <meta name="viewport" content="width=device-width, height=device-height, user-scalable=0"/>

    <title>PythonicWeb</title>
    <style>
      /* Make the html body cover the entire (visual) viewport with no scroll bars. */
      html, body { padding: 0; margin: 0; overflow:hidden; height: 100vh }
      /* the canvas *must not* have any border or padding, or mouse coords will be wrong */
      canvas { border: 0px none; background-color: white; height:100%; width:100%;  }
      /* The contenteditable property is set to true for the canvas in order to support
         clipboard events. Hide the resulting focus frame and set the cursor back to
         the default cursor. */
      canvas { outline: 0px solid transparent; caret-color: transparent; cursor:default }
    </style>
  </head>
  <body onload="init()">
    <figure style="overflow:visible;" id="qtspinner">
      <center style="margin-top:1.5em; line-height:150%">
        <img src="qtlogo.svg" width="320" height="200" style="display:block"></img>
        <strong>Qt for WebAssembly: PythonicWeb</strong>
        <div id="qtstatus"></div>
        <noscript>JavaScript is disabled. Please enable JavaScript to use this application.</noscript>
      </center>
    </figure>
    <canvas id="qtcanvas" oncontextmenu="event.preventDefault()" contenteditable="true"></canvas>

    <script type='text/javascript'>
        function init() {
          var spinner = document.querySelector('#qtspinner');
          var canvas = document.querySelector('#qtcanvas');
          var status = document.querySelector('#qtstatus')

          var qtLoader = QtLoader({
              canvasElements : [canvas],
              showLoader: function(loaderStatus) {
                  spinner.style.display = 'block';
                  canvas.style.display = 'none';
                  status.innerHTML = loaderStatus + "...";
              },
              showError: function(errorText) {
                  status.innerHTML = errorText;
                  spinner.style.display = 'block';
                  canvas.style.display = 'none';
              },
              showExit: function() {
                  status.innerHTML = "Application exit";
                  if (qtLoader.exitCode !== undefined)
                      status.innerHTML += " with code " + qtLoader.exitCode;
                  if (qtLoader.exitText !== undefined)
                      status.innerHTML += " (" + qtLoader.exitText + ")";
                  spinner.style.display = 'block';
                  canvas.style.display = 'none';
              },
              showCanvas: function() {
                  spinner.style.display = 'none';
                  canvas.style.display = 'block';
              },
          });
          qtLoader.loadEmscriptenModule("PythonicWeb");
      }
    </script>
    <script type="text/javascript" src="qtloader.js"></script>
  </body>
</html>
