new PixelBuffer API (mainly tons of renames)
[org.ibex.core.git] / src / org / ibex / plat / OpenGL.java
index 3d0e7cd..5b9590a 100644 (file)
@@ -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) {