X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fxwt%2Fplat%2FWin32.java;h=a17323b05edbb6a90eb68c85b175efe02b23a005;hb=e2bc1a03c3de8c79aeb597f918123085d59d2896;hp=b56a3ef6c585ff8c8f11210d324bcda77bd578f2;hpb=163ff4c57ec557bb8615f80e875f045cdfbad696;p=org.ibex.core.git diff --git a/src/org/xwt/plat/Win32.java b/src/org/xwt/plat/Win32.java index b56a3ef..a17323b 100644 --- a/src/org/xwt/plat/Win32.java +++ b/src/org/xwt/plat/Win32.java @@ -4,11 +4,11 @@ package org.xwt.plat; import org.xwt.*; import org.xwt.util.*; import java.util.*; +import org.xwt.js.*; import java.io.*; /** Platform specific code for GCJ-compiled Win32 binaries */ public class Win32 extends GCJ { - // Initialization //////////////////////////////////////////////////////////////////////////// // Win32 often asks for a DC/Handle when it doesn't really need one @@ -38,21 +38,13 @@ public class Win32 extends GCJ { public static native String getTempPath(); public static native void natInit(); + public static native void natPreInit(); protected native String _fileDialog(String suggestedFileName, boolean write); - public Win32() { } - - public void init() { - String logfile = getTempPath() + "xwt-log.txt"; - try { - PrintStream ps = new PrintStream(new FileOutputStream(logfile)); - System.setOut(ps); - System.setErr(ps); - } catch (Throwable e) { - criticalAbort("Exception while attempting to redirect logging to " + logfile + " -- " + e); - } + public Win32() { natPreInit(); } + public void postInit() { new Thread() { public void run() { natInit(); } }.start(); messagePumpStarted.block(); } @@ -65,7 +57,7 @@ public class Win32 extends GCJ { protected String getDescriptiveName() { return "GCJ Win32 Binary"; } protected Surface _createSurface(Box b, boolean framed) { return new Win32Surface(b, framed); } protected PixelBuffer _createPixelBuffer(int w, int h, Surface owner) { return new Win32PixelBuffer(w, h, (Win32Surface)owner); } - protected Picture _createPicture() { return new Win32Picture(); } + protected Picture _createPicture(JS r) { return new Win32Picture(r); } protected native int _getScreenWidth(); protected native int _getScreenHeight(); protected boolean _supressDirtyOnResize() { return false; } @@ -205,8 +197,6 @@ public class Win32 extends GCJ { // Win32Picture //////////////////////////////////////////////////////////////////////////// public static class Win32Picture extends Picture { - int w = 0, h = 0; - int[] data = null; /** the Win32 bitmap version of this Picture */ int hbitmap = -1; @@ -226,8 +216,9 @@ public class Win32 extends GCJ { /** dc of the mask */ int maskdc = -1; - public int getWidth() { return w; }; - public int getHeight() { return h; }; + public Win32Picture(JS r) { super(r); } + public int getWidth() { return width; }; + public int getHeight() { return height; }; public int[] getData() { return data; } boolean initialized = false; public void init() { if (!initialized && isLoaded) natInit(); initialized = true; }