zikadonf

by Simon Hi

JavaScript

(function() {
  var s = "",
    zkfg, js, cb, xpos = 0,
    btn, svg, iwin;
  var a = [];

  function addCss() {
    var e, s;
    if (e = document.getElementById("zkfgCss")) return;
    s = "";
    s += ".zkfgGlobal{font-size:1em;width:23em;background:#f7f7f7;overflow:hidden;user-select:none;}";
    s += ".zkfgGlobal svg{cursor:pointer;position:relative;display:block;width:228%;height:auto;outline:0;}";
    s += ".zkfgGlobal .zkfgPanel{display:grid;grid-template-columns:53% 42%;grid-template-rows:auto auto auto;gap:1em;background:#ffd9d8;border-radius:0.25em;margin:0.125em;}";
    s += ".zkfgGlobal .zkfgPanel>*{margin:0.125em;}";
    s += ".zkfgGlobal label{display:flex;justify-content:space-between;}";
    s += ".zkfgFrettes{grid-column:1;grid-row:1;}";
    s += ".zkfgReperes{grid-column:1;grid-row:2;}";
    s += ".zkfgNavigation{grid-column:2;grid-row:1 / 3;text-align:center;}";
    s += ".zkfgNavigation span{display:block;margin-bottom:1em;}";
    s += ".zkfgNavigation button{margin:0.25em;}";
    s += ".zkfgMakeImage{grid-column:1 / 3;grid-row:3;display:block;background:#ffc9c8;border-radius:0.25em;width:max-content;justify-self:center;}";
    s += ".zkfgMakeImage>*{display:inline-block;margin:0.5em;}";
    s += ".zkfgGlobal:focus-within{outline:1px dashed #000;}";
    s += "[data-not-done=\"0\"]{opacity:0.5;}";
    e = document.createElement("style");
    e.id = "zkfgCss";
    e.innerHTML = s;
    document.getElementsByTagName("head")[0].appendChild(e);
  }

  function initA() {
    var i, j;
    for (i = 0; i < 25; i++) {
      a[i] = [];
      for (j = 0; j < 7; j++) a[i][j] = false;
    }
  }

  function b64EncodeUnicode(str) {
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
      function toSolidBytes(match, p1) {
        return String.fromCharCode('0x' + p1);
      }));
  };

  function svgToDataURL(b) {
    var e1, e2, a, z;
    e1 = svg;
    e2 = e1.cloneNode(true);
    // ignore all styles
    e2.setAttribute("style", "");
    if...