X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fplat%2FOpenGL.java;h=5b9590afd69fda6408c10307f6c893b74a1eebff;hp=eee8c21ffe1f37f226ce18b03eae598da1d3f480;hb=297fdbde87e6db4732448a0950d1141c7265c169;hpb=76b21655a0710caf4f972c107a3ab991032d7e10 diff --git a/src/org/ibex/plat/OpenGL.java b/src/org/ibex/plat/OpenGL.java index eee8c21..5b9590a 100644 --- a/src/org/ibex/plat/OpenGL.java +++ b/src/org/ibex/plat/OpenGL.java @@ -1,7 +1,4 @@ -// Copyright 2000-2005 the Contributors, as shown in the revision logs. -// Licensed under the GNU General Public License version 2 ("the License"). -// You may not use this file except in compliance with the License. - +// Copyright 2004 Adam Megacz, see the COPYING file for licensing [LGPL] // Author: Brian Alliet package org.ibex.plat; @@ -58,7 +55,7 @@ abstract class OpenGL { 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; } @@ -66,6 +63,9 @@ abstract class OpenGL { 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; @@ -81,12 +81,17 @@ abstract class OpenGL { 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.graphics.Font.Glyph source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int 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) { @@ -138,7 +143,7 @@ abstract class OpenGL { 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 Task() { public void perform() { natDeleteTexture(tex); }}); + Scheduler.add(new Callable() { public Object run(Object o) { natDeleteTexture(tex); return null; }}); } private static abstract class GLPicture {