buildcraft/api/buildcraft/api/tablet/TabletBitmap.java
2015-04-18 10:23:41 +02:00

56 lines
1.1 KiB
Java

package buildcraft.api.tablet;
public class TabletBitmap {
public final int width, height;
protected int[] data;
public TabletBitmap(int width, int height) {
this.width = width;
this.height = height;
this.data = new int[width * height];
}
public TabletBitmap(ITablet tablet) {
this(tablet.getScreenWidth(), tablet.getScreenHeight());
}
public int[] getData() {
return data;
}
public int get(int x, int y) {
if (x < 0 || y < 0 || x >= width || y >= height) {
return 0;
}
return data[y * width + x];
}
public void set(int x, int y, int shade) {
if (x < 0 || y < 0 || x >= width || y >= height) {
return;
}
data[y * width + x] = shade;
}
public void set(int x, int y, TabletBitmap bitmap) {
for (int i = 0; i < bitmap.height; i++) {
if (i >= height) {
break;
}
for (int h = 0; h < bitmap.width; h++) {
if (h >= width) {
break;
}
set(x + h, y + i, bitmap.get(h, i));
}
}
}
public TabletBitmap duplicate() {
TabletBitmap cloned = new TabletBitmap(this.width, this.height);
cloned.data = this.data.clone();
return cloned;
}
}