// FIXME; we can't assume that just because we were performed the image is loaded.
// as external events have occured, check the state of box
if (texture != null) {
- if (texture.isLoaded) { minwidth = texture.width; minheight = texture.height; }
- else { Res res = texture.res; texture = null; throw new JSExn("image not found: "+res); }
+ if (texture.isLoaded) { minwidth = min(texture.width, maxwidth); minheight = min(texture.height, maxheight); }
+ else { Res res = texture.res; texture = null; throw new JSExn("image not found: "+res); }
}
MARK_REPACK;
int globaly = parenty + (parent == null ? 0 : y);
// intersect the x,y,w,h rendering window with ourselves; quit if it's empty
+
if (!test(NOCLIP)) {
cx1 = max(cx1, parent == null ? 0 : globalx);
cy1 = max(cy1, parent == null ? 0 : globaly);
if (g == null) g = new PNG();
try {
g._load(is, p);
+ p.data = g.data;
} catch (Exception e) {
if (Log.on) Log.log(PNG.class, e);
return;
if ((inputStream.read() != 137) || (inputStream.read() != 80) || (inputStream.read() != 78) || (inputStream.read() != 71) ||
(inputStream.read() != 13) || (inputStream.read() != 10) || (inputStream.read() != 26) || (inputStream.read() != 10)) {
Log.log(this, "PNG: error: input file is not a PNG file");
- data = new int[] { };
+ data = p.data = new int[] { };
p.width = p.height = 0;
return;
}
private boolean complete = false;
private boolean error = false;
- private int[] data = null;
+ int[] data = null;
private InputStream underlyingStream = null;
private DataInputStream inputStream = null;