WarpPI/core/src/main/java/it/cavallium/warppi/gui/graphicengine/impl/common/PngSkin.java

61 lines
1.4 KiB
Java
Raw Normal View History

2018-09-22 10:29:40 +02:00
package it.cavallium.warppi.gui.graphicengine.impl.common;
2018-09-04 12:12:41 +02:00
import java.io.File;
import java.io.IOException;
2019-02-27 23:29:03 +01:00
import it.cavallium.warppi.WarpPI;
2018-10-15 23:10:44 +02:00
import it.cavallium.warppi.Platform.ImageUtils.ImageReader;
2019-02-27 23:29:03 +01:00
import it.cavallium.warppi.device.display.DisplayOutputDevice;
2018-09-04 12:12:41 +02:00
import it.cavallium.warppi.gui.graphicengine.Skin;
public abstract class PngSkin implements Skin {
public int[] skinData;
public int[] skinSize;
@SuppressWarnings("unused")
private final boolean isResource;
2018-09-22 11:17:30 +02:00
public PngSkin(final String file) throws IOException {
2018-09-04 12:12:41 +02:00
isResource = !new File(file).exists();
load(file);
}
@Override
public void load(String file) throws IOException {
2018-09-28 11:39:28 +02:00
if (!file.startsWith("/")) {
2018-09-04 12:12:41 +02:00
file = "/" + file;
2018-09-28 11:39:28 +02:00
}
2019-02-27 23:29:03 +01:00
final ImageReader r = WarpPI.getPlatform().getImageUtils().load(WarpPI.getPlatform().getStorageUtils().getResourceStream(file));
2018-09-28 21:59:12 +02:00
if (r == null) {
skinData = new int[0];
skinSize = new int[] { 0, 0 };
System.err.println("ERROR WHILE LOADING SKIN " + file);
} else {
skinData = r.getImageMatrix();
skinSize = r.getSize();
2018-09-04 12:12:41 +02:00
}
}
@Override
2019-02-27 23:29:03 +01:00
public void initialize(final DisplayOutputDevice d) {
2018-09-04 12:12:41 +02:00
// TODO Auto-generated method stub
}
@Override
public boolean isInitialized() {
return true;
}
@Override
public int getSkinWidth() {
return skinSize[0];
}
@Override
public int getSkinHeight() {
return skinSize[1];
}
}