public void init() throws NotSupportedException {
natInit();
float v = parseVersion(version);
- // FIXME: enable linear filtering for OpenGL >= 1.2
+ // FEATURE: enable linear filtering for OpenGL >= 1.2
// If we disable linear filtering (and therefor GL_CLAMP_TO_EDGE) we could probably get by with less
if(v < 1.1) throw new NotSupportedException("OpenGL 1.1 or greater is required. (you have: " + version +" - " + v + ")");
if(pretendToBeACrappyVideoCard) {
public NotSupportedException(String s) { super(s); }
}
- public static abstract class GLPixelBuffer extends DoubleBuffer {
+ public static abstract class GLPixelBuffer extends PixelBuffer {
protected int width;
protected int height;
public int getWidth() { return width; }
public native void setClip(int x, int y, int x2, int y2);
public native void resetClip();
- public native void fillRect(int x, int y, int x2, int y2, int color);
public native void fillTrapezoid(int x1, int x2, int y1, int x3, int x4, int y2, int color);
public void drawString(String font, String text, int x, int y, int color) {
//System.out.println("drawString(): " + text);
}
+ public native void drawPictureAlphaOnly(Picture source, int dx1, int dy1, int dx2, int dy2,
+ int sx1, int sy1, int sx2, int sy2, int rgb);
+
public void drawPicture(org.xwt.Picture source, int x, int y) {
activateContext();
GLPicture p = (GLPicture) source;
}
public Picture createPicture(int[] data, int w, int h) {
- if(w*h != data.length) throw new Error("w*h != data.length");
if(rectangularTextures && w <= maxRectTexSize && h <= maxRectTexSize) new RectGLPicture(data,w,h,this);
if(w <= maxTexSize && h <= maxTexSize) return new SquareGLPicture(data,w,h,this);
return new MosaicGLPicture(data,w,h,this);
public void deleteTexture(final int tex) {
// CHECKME: Is this safe to do from finalize()?
// natDeleteTexture MUST be run from the message queue thread
- MessageQueue.add(new Message() { public void perform() {
+ Message.Q.add(new Message() { public void perform() {
natDeleteTexture(tex);
}});
}