import org.xwt.*;
import org.xwt.util.*;
-import org.mozilla.javascript.*;
import java.net.*;
import java.io.*;
import java.util.*;
protected boolean _supressDirtyOnResize() { return true; }
protected void postInit() {
- if (Log.on) Log.log(Platform.class, " color depth = " +
- Toolkit.getDefaultToolkit().getColorModel().getPixelSize() + "bpp");
+ if (Log.on) Log.log(Platform.class, " color depth = " + Toolkit.getDefaultToolkit().getColorModel().getPixelSize() + "bpp");
}
protected void _criticalAbort(String message) {
int[] data = null;
public Image i = null;
- private static MediaTracker mediatracker = new MediaTracker(new Canvas());
private static ColorModel cmodel = new DirectColorModel(32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000);
public AWTPicture(int[] b, int w, int h) {
data = b;
Image img = Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(w, h, cmodel, b, 0, w));
+ MediaTracker mediatracker = new MediaTracker(new Canvas());
mediatracker.addImage(img, 1);
try { mediatracker.waitForAll(); } catch (InterruptedException e) { }
mediatracker.removeImage(img);
}
}
+ protected ImageDecoder _decodeJPEG(InputStream is, String name) {
+ try {
+ Image i = Toolkit.getDefaultToolkit().createImage(org.xwt.Resources.isToByteArray(is));
+ MediaTracker mediatracker = new MediaTracker(new Canvas());
+ mediatracker.addImage(i, 1);
+ try { mediatracker.waitForAll(); } catch (InterruptedException e) { }
+ mediatracker.removeImage(i);
+ final int width = i.getWidth(null);
+ final int height = i.getHeight(null);
+ final int[] data = new int[width * height];
+ PixelGrabber pg = new PixelGrabber(i, 0, 0, width, height, data, 0, width);
+ pg.grabPixels();
+ if ((pg.getStatus() & ImageObserver.ABORT) != 0) {
+ Log.log(this, "PixelGrabber reported an error while decoding JPEG image " + name);
+ return null;
+ }
+ return new ImageDecoder() {
+ public int getWidth() { return width; }
+ public int getHeight() { return height; }
+ public int[] getData() { return data; }
+ };
+ } catch (Exception e) {
+ Log.log(this, "Exception caught while decoding JPEG image " + name);
+ Log.log(this, e);
+ return null;
+ }
+ }
+
// Font Handling Stuff //////////////////////////////////////////////////////////
protected String[] _listFonts() { return fontList; }