2004/01/14 01:44:21
[org.ibex.core.git] / src / org / xwt / Platform.java
index e400c5e..0d02cd0 100644 (file)
@@ -1,10 +1,11 @@
-// Copyright 2003 Adam Megacz, see the COPYING file for licensing [GPL]
+// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL]
 package org.xwt;
 
 import java.lang.reflect.*;
 import java.net.*;
 import java.io.*;
 import java.util.*;
+import org.xwt.js.*;
 import org.xwt.util.*;
 
 /** 
@@ -104,17 +105,16 @@ public abstract class Platform {
     protected void postInit() { }
 
     protected Surface _createSurface(Box b, boolean framed) { return null; }
-    protected Picture _createPicture(Stream r) { return null; }
+    protected Picture _createPicture(JS r) { return null; }
     protected PixelBuffer _createPixelBuffer(int w, int h, Surface owner) { return null; }
     protected Font.Glyph _createGlyph(org.xwt.Font f, char c) { return new DefaultGlyph(f, c); }
 
     public static PixelBuffer createPixelBuffer(int w, int h, Surface s) { return platform._createPixelBuffer(w, h, s); }
-    public static Picture createPicture(Stream r) { return platform._createPicture(r); }
+    public static Picture createPicture(JS r) { return platform._createPicture(r); }
     public static Font.Glyph createGlyph(org.xwt.Font f, char c) { return platform._createGlyph(f, c); }
     public static Surface createSurface(Box b, boolean framed, boolean refreshable) {
         Surface ret = platform._createSurface(b, framed);
         ret.setInvisible(false);
-        ret.setLimits(b.minwidth, b.minheight, b.maxwidth, b.maxheight);
         if (refreshable) {
             Surface.allSurfaces.addElement(ret);
             ret.dirty(0, 0, b.width, b.height);
@@ -271,12 +271,14 @@ public abstract class Platform {
         public DefaultGlyph(org.xwt.Font f, char c) { super(f, c); }
         public Picture getPicture() {
             if (p == null && isLoaded) {
-                p = createPicture(null);
+                Picture p = createPicture(null);
                 p.data = new int[data.length];
                 for(int i=0; i<data.length; i++) p.data[i] = (data[i] & 0xff) << 24;
-                data = null;
+                this.data = null;
                 p.width = this.width;
                 p.height = this.height;
+                p.isLoaded = true;
+                this.p = p;
             }
             return p;
         }