WarpPI/core/src/main/java/it/cavallium/warppi/gui/graphicengine/GraphicEngine.java

59 lines
1.0 KiB
Java
Raw Normal View History

package it.cavallium.warppi.gui.graphicengine;
2019-11-01 15:23:34 +01:00
import it.cavallium.warppi.util.EventSubscriber;
import java.io.IOException;
import java.util.List;
2019-11-01 15:23:34 +01:00
import java.util.function.Consumer;
2018-08-29 00:07:45 +02:00
public interface GraphicEngine {
2018-09-22 11:17:30 +02:00
int[] getSize();
2019-02-27 23:29:03 +01:00
boolean isSupported();
2018-09-22 11:17:30 +02:00
boolean isInitialized();
2018-09-22 11:17:30 +02:00
void setTitle(String title);
2018-09-22 11:17:30 +02:00
void setResizable(boolean r);
2019-02-27 23:29:03 +01:00
void setDisplayMode(int ww, int wh);
2019-02-27 23:29:03 +01:00
void create(Runnable object);
2018-09-22 11:17:30 +02:00
default void create() {
create(null);
};
2019-11-01 15:23:34 +01:00
EventSubscriber<Integer[]> onResize();
2018-09-22 11:17:30 +02:00
int getWidth();
2018-09-22 11:17:30 +02:00
int getHeight();
2018-09-22 11:17:30 +02:00
void destroy();
2018-09-22 11:17:30 +02:00
void start(RenderingLoop d);
2018-09-22 11:17:30 +02:00
void repaint();
2018-09-22 11:17:30 +02:00
Renderer getRenderer();
2018-09-22 11:17:30 +02:00
BinaryFont loadFont(String fontName) throws IOException;
2018-05-12 21:18:29 +02:00
2018-09-22 11:17:30 +02:00
BinaryFont loadFont(String path, String fontName) throws IOException;
2018-09-22 11:17:30 +02:00
Skin loadSkin(String file) throws IOException;
2018-09-22 11:17:30 +02:00
boolean doesRefreshPauses();
2017-09-15 23:24:12 +02:00
2018-09-22 11:17:30 +02:00
default boolean supportsFontRegistering() {
return false;
}
2018-09-22 11:17:30 +02:00
default List<BinaryFont> getRegisteredFonts() {
return null;
}
}