// Author: Brian Alliet
package org.ibex.plat;
-import org.ibex.*;
import org.ibex.js.*;
import org.ibex.util.*;
+import org.ibex.graphics.*;
+import org.ibex.core.*;
+import org.ibex.net.*;
abstract class OpenGL {
static final boolean pretendToBeACrappyVideoCard = false;
public NotSupportedException(String s) { super(s); }
}
- public static abstract class GLPixelBuffer extends PixelBuffer {
+ public static abstract class GLPixelBuffer implements PixelBuffer {
protected int width;
protected int height;
public int getWidth() { return width; }
private boolean glScissorEnabled = false;
+ // FIXME: HUGE HACK!
+ public GLPixelBuffer() { width = 500; height = 500; }
+
public GLPixelBuffer(int width, int height) {
this.width = width;
this.height = height;
public native void setClip(int x, int y, int x2, int y2);
public native void resetClip();
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 void drawLine(int x1, int y1, int x2, int y2, int color) {
+ // FIXME
+ fillTrapezoid(x1, x1, y1, x2, x2, y2, color);
}
- public void drawGlyph(org.ibex.Font.Glyph source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int rgb) {
- drawPicture_(((org.ibex.Platform.DefaultGlyph)source).getPicture(), dx, dy, cx1, cy1, cx2, cy2, rgb);
+ public void stroke(Polygon p, int color) { p.stroke(this, color); }
+ public native void natFill(Polygon p, int color);
+ public void fill(Polygon p, Paint paint) { natFill(p, ((Paint.SingleColorPaint)paint).color); }
+
+ public void drawGlyph(org.ibex.graphics.Font.Glyph source, int dx, int dy,
+ int cx1, int cy1, int cx2, int cy2, int rgb, int pc) {
+ drawPicture_(((org.ibex.plat.Platform.DefaultGlyph)source).getPicture(), dx, dy, cx1, cy1, cx2, cy2, rgb);
}
public void drawPicture(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2) {
drawPicture_(source, dx, dy, cx1, cy1, cx2, cy2, 0xffffffff);
GLPicture realPicture = null;
}
- public Font.Glyph _createGlyph(org.ibex.Font f, char c) { return new org.ibex.Platform.DefaultGlyph(f, c); }
+ public Font.Glyph _createGlyph(org.ibex.graphics.Font f, char c) { return new org.ibex.plat.Platform.DefaultGlyph(f, c); }
private native void natDeleteTexture(int tex);
public void deleteTexture(final int tex) {
// CHECKME: Is this safe to do from finalize()?
// natDeleteTexture MUST be run from the message queue thread
- Scheduler.add(new Scheduler.Task() { public void perform() { natDeleteTexture(tex); }});
+ Platform.Scheduler.add(new Callable() { public Object run(Object o) { natDeleteTexture(tex); return null; }});
}
private static abstract class GLPicture {
}
private static class MosaicGLPicture extends GLPicture {
- private static final int overlap = 8;
-
int psize;
GLPicture[][] pics;