|
From: <ma...@us...> - 2004-03-07 15:44:08
|
Update of /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31933 Modified Files: Sys.java Added Files: SwingAdapter.java PlatformAdapter.java Removed Files: AWTAdapter.java Adapter.java Log Message: PLATFORM now specifiable from properties AWTAdapter renamed to SwingAdapter Adapter renamed to PlatformAdapter --- NEW FILE: SwingAdapter.java --- /* * Copyright (c) 2002-2004 Lightweight Java Game Library Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of 'Light Weight Java Game Library' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.lwjgl; import javax.swing.JOptionPane; import javax.swing.UIManager; /** * $Id: SwingAdapter.java,v 1.1 2004/03/07 15:20:28 matzon Exp $ * <p> * A Swing adapter for using Swing to take care of things on platforms where we * know Swing is present. * <p><em>Note</em> To compile LWJGL applications with Excelsior JET that use JetPerfect * and that have no dependencies on Swing, do not include this class in your * JET project. * * @author cix_foo <ci...@us...> * @version $Revision: 1.1 $ */ final class SwingAdapter implements PlatformAdapter { /** * Constructs a new SwingAdapter */ SwingAdapter() { } /** * Spawn a "modal" dialog in the centre of the screen with a message in it * and an OK button. This method blocks until the dialog is dismissed. * @param title Title of alert * @param message Message to show in alert */ public void alert(String title, String message) { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) { } JOptionPane.showMessageDialog(null, message, title, JOptionPane.WARNING_MESSAGE); } } --- NEW FILE: PlatformAdapter.java --- /* * Copyright (c) 2002 Lightweight Java Game Library Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are * met: * * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * * Neither the name of 'Light Weight Java Game Library' nor the names of * its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ package org.lwjgl; /** * $Id: PlatformAdapter.java,v 1.1 2004/03/07 15:20:28 matzon Exp $ * * Interface for adapting to window environments. * * @author cix_foo <ci...@us...> * @version $Revision: 1.1 $ */ public interface PlatformAdapter { /** * Spawn a "modal" dialog in the centre of the screen with a message in it * and an OK button. This method blocks until the dialog is dismissed. * @param title * @param message */ public void alert(String title, String message); } Index: Sys.java =================================================================== RCS file: /cvsroot/java-game-lib/LWJGL/src/java/org/lwjgl/Sys.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- Sys.java 24 Feb 2004 14:31:39 -0000 1.41 +++ Sys.java 7 Mar 2004 15:20:28 -0000 1.42 @@ -78,6 +78,9 @@ /** The native library name */ private static String LIBRARY_NAME = "lwjgl"; + + /** The platform being executed on */ + private static String PLATFORM; /** * Debug flag. @@ -86,6 +89,12 @@ static { initialize(); + + // check platform name, and default to awt + PLATFORM = System.getProperty("org.lwjgl.Sys.platform"); + if(PLATFORM == null) { + PLATFORM = "org.lwjgl.SwingAdapter"; + } } /** @@ -208,10 +217,10 @@ nAlert(title, message); } else { try { - Adapter adapter = (Adapter) Class.forName("org.lwjgl.AWTAdapter").newInstance(); // This avoids a Jet error message + PlatformAdapter adapter = (PlatformAdapter) Class.forName(PLATFORM).newInstance(); // This avoids a Jet error message adapter.alert(title, message); } catch (Exception e) { - e.printStackTrace(System.err); + Sys.log("Unable to display alert using: " + PLATFORM); } } } --- AWTAdapter.java DELETED --- --- Adapter.java DELETED --- |