Newer
Older
7gui / src / main.ts
import * as ImGui_Impl from "../imgui-js/example/imgui_impl";
import * as ImGui from "imgui-js";
import { ImGuiIO } from "imgui-js";

async function main(): Promise<void>
{
    await ImGui.default();
    window.requestAnimationFrame(init);
}

function init(): void
{
    console.log("Total allocated space (uordblks) @ _init:", ImGui.bind.mallinfo().uordblks);

    // Setup Dear ImGui binding
    ImGui.IMGUI_CHECKVERSION();
    ImGui.CreateContext();

    const io: ImGuiIO = ImGui.GetIO();
    // io.ConfigFlags |= ImGui.ConfigFlags.NavEnableKeyboard;  // Enable Keyboard Controls

    // Setup style
    ImGui.StyleColorsDark();

    const output: HTMLElement = document.getElementById("output") || document.body;
    const canvas: HTMLCanvasElement = document.createElement("canvas");
    output.appendChild(canvas);
    canvas.tabIndex = 1;
    canvas.style.position = "absolute";
    canvas.style.left = "0px";
    canvas.style.right = "0px";
    canvas.style.top = "0px";
    canvas.style.bottom = "0px";
    canvas.style.width = "100%";
    canvas.style.height = "100%";
    ImGui_Impl.Init(canvas);
}