Inceptum/src/main/java/io/gitlab/jfronny/inceptum/windows/Window.java
2021-10-30 22:05:24 +02:00

48 lines
978 B
Java

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;
}
}