package io.gitlab.jfronny.inceptum.windows; import imgui.flag.ImGuiWindowFlags; import imgui.type.ImBoolean; import io.gitlab.jfronny.inceptum.InceptumGui; import java.io.Closeable; public abstract class Window implements Closeable { private final String name; private final ImBoolean openState = new ImBoolean(true); private boolean isNew = true; public Window(String name) { this.name = name; } public void preFirstDraw() { } public abstract void draw(); public String getName() { return name; } @Override public void close() { openState.set(false); InceptumGui.WINDOWS.remove(this); } public boolean isNew() { if (isNew) { isNew = false; return true; } return false; } public int getFlags() { return ImGuiWindowFlags.AlwaysAutoResize; } public ImBoolean getOpenState() { return openState; } }