X-Git-Url: http://git.megacz.com/?p=org.ibex.core.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fplat%2FPlatform.java;h=321a80d319144cd472378e7e2d5ec75707c42fb5;hp=4b110a651c57f1dc663fec73829089af0e5836f6;hb=297fdbde87e6db4732448a0950d1141c7265c169;hpb=4daeeb4119b901d53b44913c86f8af3ce67db925 diff --git a/src/org/ibex/plat/Platform.java b/src/org/ibex/plat/Platform.java index 4b110a6..321a80d 100644 --- a/src/org/ibex/plat/Platform.java +++ b/src/org/ibex/plat/Platform.java @@ -1,11 +1,19 @@ -// Copyright 2004 Adam Megacz, see the COPYING file for licensing [GPL] -package org.ibex; +// 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. + +package org.ibex.plat; import java.lang.reflect.*; import java.net.*; import java.io.*; import org.ibex.js.*; import org.ibex.util.*; +import org.ibex.graphics.*; +import org.ibex.core.*; +import org.ibex.graphics.*; +import org.ibex.core.*; +import org.ibex.net.*; /** * Abstracts away the small irregularities in JVM implementations. @@ -23,10 +31,10 @@ public abstract class Platform { // Static Data ///////////////////////////////////////////////////////////////////////////////////// - static boolean clipboardReadEnabled = false; ///< true iff inside a C-v/A-v/Press3 trap handler - static Platform platform = null; ///< The appropriate Platform object for this JVM - static boolean alreadyDetectedProxy = false; ///< true if proxy autodetection has already been run - static org.ibex.HTTP.Proxy cachedProxyInfo = null; ///< the result of proxy autodetection + public static boolean clipboardReadEnabled = false; ///< true iff inside a C-v/A-v/Press3 trap handler + public static Platform platform = null; ///< The appropriate Platform object for this JVM + public static boolean alreadyDetectedProxy = false; ///< true if proxy autodetection has already been run + public static org.ibex.net.HTTP.Proxy cachedProxyInfo = null; ///< the result of proxy autodetection public static String build = "unknown"; ///< the current build // VM Detection Logic ///////////////////////////////////////////////////////////////////// @@ -43,7 +51,7 @@ public abstract class Platform { String os_name = System.getProperty("os.name", ""); String os_version = System.getProperty("os.version", ""); String platform_class = null; - + if (vendor.startsWith("Free Software Foundation")) { if (os_name.startsWith("Window")) platform_class = "Win32"; else if (os_name.startsWith("Linux")) platform_class = "Linux"; @@ -52,8 +60,8 @@ public abstract class Platform { else if (os_name.startsWith("Darwin")) platform_class = "Darwin"; else platform_class = "X11"; } + else if (version.startsWith("1.4")) platform_class = "Java4"; else if (!version.startsWith("1.0") && !version.startsWith("1.1")) platform_class = "Java2"; - if (platform_class == null) { Log.error(Platform.class, "Unable to detect JVM"); criticalAbort("Unable to detect JVM"); @@ -100,21 +108,21 @@ public abstract class Platform { protected Surface _createSurface(Box b, boolean framed) { 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.ibex.Font f, char c) { return new DefaultGlyph(f, c); } + protected Font.Glyph _createGlyph(org.ibex.graphics.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(JS r) { return platform._createPicture(r); } - public static Font.Glyph createGlyph(org.ibex.Font f, char c) { return platform._createGlyph(f, c); } + public static Font.Glyph createGlyph(org.ibex.graphics.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); if (refreshable) { Surface.allSurfaces.addElement(ret); - ret.dirty(0, 0, b.width, b.height); + b.dirty(); ret.Refresh(); } try { - if (b.get("titlebar") != null) ret.setTitleBarText((String)b.get("titlebar")); + if (b.get(JSU.S("titlebar")) != null) ret.setTitleBarText(JSU.toString(b.get(JSU.S("titlebar")))); } catch (JSExn e) { Log.warn(Platform.class, e); } @@ -245,15 +253,15 @@ public abstract class Platform { } /** detects proxy settings */ - protected synchronized org.ibex.HTTP.Proxy _detectProxy() { return null; } - public static synchronized org.ibex.HTTP.Proxy detectProxy() { + protected synchronized org.ibex.net.HTTP.Proxy _detectProxy() { return null; } + public static synchronized org.ibex.net.HTTP.Proxy detectProxy() { if (cachedProxyInfo != null) return cachedProxyInfo; if (alreadyDetectedProxy) return null; alreadyDetectedProxy = true; Log.info(Platform.class, "attempting environment-variable DNS proxy detection"); - cachedProxyInfo = org.ibex.HTTP.Proxy.detectProxyViaManual(); + cachedProxyInfo = org.ibex.net.HTTP.Proxy.detectProxyViaManual(); if (cachedProxyInfo != null) return cachedProxyInfo; Log.info(Platform.class, "attempting " + platform.getClass().getName() + " proxy detection"); @@ -270,7 +278,7 @@ public abstract class Platform { // FEATURE: be more efficient for many of the subclasses public static class DefaultGlyph extends Font.Glyph { private Picture p = null; - public DefaultGlyph(org.ibex.Font f, char c) { super(f, c); } + public DefaultGlyph(org.ibex.graphics.Font f, char c) { super(f, c); } public Picture getPicture() { if (p == null && isLoaded) { Picture p = createPicture(null);