git @ Cat's Eye Technologies Hypongtrochoid / master demo / hypongtrochoid-launcher.js
master

Tree @master (Download .tar.gz)

hypongtrochoid-launcher.js @masterraw · history · blame

// SPDX-FileCopyrightText: Chris Pressey, the original author of this work, has dedicated it to the public domain.
// For more information, please refer to <https://unlicense.org/>
// SPDX-License-Identifier: Unlicense

// dam-plus-widgets-0.2.js and hypongtrochoid.js should be loaded before this.
// After this is loaded, call launch() to start the gewgaw.

function launch(config) {
    var div=DAM.maker('div'), button=DAM.maker('button'), canvas=DAM.maker('canvas');

    var gewgaw = new Hypongtrochoid();

    var overlayCanvas = canvas({ width: 600, height: 400 });
    overlayCanvas.style.position = 'absolute';
    overlayCanvas.style.zIndex = "100";
    overlayCanvas.style.background = 'transparent';
    config.container.appendChild(overlayCanvas);

    var mainCanvas = canvas({ width: 600, height: 400 });
    mainCanvas.style.zIndex = "0";
    config.container.appendChild(mainCanvas);

    var controlPanel = div(
        DAM.makeCheckbox(
            {
                onchange: function(b) { gewgaw.setShowBlue(b); },
                checkboxAttrs: { "checked": true }
            },
            "blue"
        ),
        DAM.makeCheckbox(
            {
                onchange: function(b) { gewgaw.setShowRed(b); },
                checkboxAttrs: { "checked": true }
            },
            "red"
        ),
        DAM.makeCheckbox(
            {
                onchange: function(b) { gewgaw.setShowYellow(b); },
                checkboxAttrs: { "checked": true }
            },
            "yellow"
        ),
        DAM.makeCheckbox(
            {
                onchange: function(b) {
                    overlayCanvas.style.visibility = b ? "visible" : "hidden";
                },
                checkboxAttrs: { "checked": true }
            },
            "path"
        ),
        DAM.makeCheckbox({ onchange: function(b) { gewgaw.setTurbo(b); } }, "turbo")
    );
    config.container.appendChild(controlPanel);

    gewgaw.init({
        'mainCanvas': mainCanvas,
        'overlayCanvas': overlayCanvas
    });
}