questionable patch: merge of a lot of stuff from the svg branch
[org.ibex.core.git] / src / org / ibex / plat / X11.java
index 14c4ca0..72120f7 100644 (file)
@@ -5,7 +5,9 @@ import gnu.gcj.RawData;
 import java.util.*;
 import org.ibex.js.*;
 import org.ibex.util.*;
-import org.ibex.*;
+import org.ibex.graphics.*;
+import org.ibex.core.*;
+import org.ibex.net.*;
 
 /** Platform implementation for POSIX compliant operating systems with an X11 Server */
 public class X11 extends POSIX {
@@ -40,6 +42,7 @@ public class X11 extends POSIX {
     protected native String _getClipBoard();
     protected native void _setClipBoard(String s);
     protected boolean _needsAutoDoubleClick() { return true; }
+    protected native String _fileDialog(String suggestedFileName, boolean write);
     protected native void eventThread();
     private native void natInit();
 
@@ -50,9 +53,12 @@ public class X11 extends POSIX {
 
     // X11Surface /////////////////////////////////////////////////////
 
+
     /** Implements a Surface as an X11 Window */
-    public static class X11Surface extends Surface.DoubleBufferedSurface {
+    public static class X11Surface extends Surface {
         
+        public PixelBuffer getPixelBuffer() { return null; }  // FIXME
+
         gnu.gcj.RawData window;
         gnu.gcj.RawData gc;
         boolean framed = false;
@@ -135,7 +141,16 @@ public class X11 extends POSIX {
      *  with all-or-nothing alpha will not use shared pixmaps, however
      *  (since they are only written to once.
      */
-    public static class X11PixelBuffer extends PixelBuffer {
+    public static class X11PixelBuffer implements PixelBuffer {
+        public void fillTriangle(int x1, int y1, int x2, int y2, int x3, int y3, int argb) { throw new Error("not implemented"); }
+
+        public void drawPicture(Picture p, Affine a, Mesh h) { throw new Error("drawPicture() not implemented"); }
+        public void drawGlyph(Font.Glyph source,Affine a,Mesh h,int rgb,int bg) { throw new Error("drawGlyph() not implemented"); }
+
+    public void drawLine(int x1, int y1, int x2, int y2, int color) { }
+    public void drawGlyph(Font.Glyph source, int dx1, int dy1, int cx1, int cy1, int cx2, int cy2, int rgb, int pc){}
+    public void stroke(Mesh p, int color){}
+    public void fill(Mesh p, Paint paint){}
 
         int clipx, clipy, clipw, cliph;
         int width;