OSDN Git Service

[fixed] gdx-twl.
authornathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 2 Nov 2010 05:32:31 +0000 (05:32 +0000)
committernathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Tue, 2 Nov 2010 05:32:31 +0000 (05:32 +0000)
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/desktop/LwjglInput.java
extensions/twl/gdx-twl-tests/.classpath
extensions/twl/gdx-twl-tests/src/com/badlogic/gdx/twl/tests/ButtonTest.java
extensions/twl/gdx-twl-tests/src/com/badlogic/gdx/twl/tests/ButtonTestDesktop.java
extensions/twl/gdx-twl-tests/src/com/badlogic/gdx/twl/tests/TextAreaTest.java
extensions/twl/gdx-twl-tests/src/com/badlogic/gdx/twl/tests/TextAreaTestDesktop.java
extensions/twl/gdx-twl/.classpath
extensions/twl/gdx-twl/src/com/badlogic/gdx/twl/renderer/TwlInputProcessor.java [moved from extensions/twl/gdx-twl/src/com/badlogic/gdx/twl/renderer/TwlInputListener.java with 74% similarity]
extensions/twl/gdx-twl/src/com/badlogic/gdx/twl/renderer/TwlRenderer.java

index ed89999..d877a53 100644 (file)
@@ -36,7 +36,7 @@ import com.badlogic.gdx.utils.Pool.PoolObjectFactory;
  * @author mzechner\r
  * \r
  */\r
-final class LwjglInput implements Input {\r
+public final class LwjglInput implements Input {\r
        class KeyEvent {\r
                static final int KEY_DOWN = 0;\r
                static final int KEY_UP = 1;\r
index 54a8fdf..80b4dcf 100644 (file)
@@ -3,6 +3,6 @@
        <classpathentry excluding="**/.svn/*" kind="src" path="src"/>\r
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
        <classpathentry combineaccessrules="false" kind="src" path="/gdx-twl"/>\r
-       <classpathentry combineaccessrules="false" kind="src" path="/gdx-backend-jogl"/>\r
+       <classpathentry combineaccessrules="false" kind="src" path="/gdx-backend-lwjgl"/>\r
        <classpathentry kind="output" path="bin"/>\r
 </classpath>\r
index 113213e..7a103f9 100644 (file)
@@ -5,7 +5,7 @@ import com.badlogic.gdx.ApplicationListener;
 import com.badlogic.gdx.Gdx;\r
 import com.badlogic.gdx.Files.FileType;\r
 import com.badlogic.gdx.graphics.GL10;\r
-import com.badlogic.gdx.twl.renderer.TwlInputListener;\r
+import com.badlogic.gdx.twl.renderer.TwlInputProcessor;\r
 import com.badlogic.gdx.twl.renderer.TwlRenderer;\r
 \r
 import de.matthiasmann.twl.Button;\r
@@ -14,11 +14,11 @@ import de.matthiasmann.twl.FPSCounter;
 import de.matthiasmann.twl.GUI;\r
 \r
 public class ButtonTest implements ApplicationListener {\r
-       GUI gui;        \r
-       TwlInputListener guiInputListener;\r
+       GUI gui;\r
+       TwlInputProcessor guiInputListener;\r
+       private TwlRenderer twl;\r
 \r
-       @Override\r
-       public void create () {\r
+       @Override public void create () {\r
                if (gui != null) return;\r
 \r
                Button button = new Button("Click Me");\r
@@ -29,33 +29,32 @@ public class ButtonTest implements ApplicationListener {
                layout.setHorizontalGroup(layout.createParallelGroup().addWidgets(button, fpsCounter));\r
                layout.setVerticalGroup(layout.createSequentialGroup().addWidget(button).addGap(5).addWidget(fpsCounter).addGap(5));\r
 \r
-               gui = TwlRenderer.createGUI(layout, "data/widgets.xml", FileType.Internal);             \r
-               guiInputListener = new TwlInputListener(gui);\r
+               twl = new TwlRenderer();\r
+               gui = new GUI(layout, twl, null);\r
+               twl.applyTheme(gui, "data/widgets.xml", FileType.Internal);\r
+\r
+               guiInputListener = new TwlInputProcessor(gui);\r
        }\r
-       \r
-       @Override\r
-       public void resize(int width, int height) {\r
-               gui.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());         \r
+\r
+       @Override public void resize (int width, int height) {\r
+               gui.setSize();\r
+               twl.setSize();\r
        }\r
 \r
-       @Override\r
-       public void render () {\r
-               Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);       \r
-               \r
+       @Override public void render () {\r
+               Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);\r
+\r
                Gdx.input.processEvents(guiInputListener);\r
-               gui.update();           \r
+               gui.update();\r
        }\r
 \r
-       @Override\r
-       public void dispose() {\r
+       @Override public void dispose () {\r
                gui.destroy();\r
        }\r
 \r
-       @Override\r
-       public void pause() {\r
+       @Override public void pause () {\r
        }\r
 \r
-       @Override\r
-       public void resume() {\r
+       @Override public void resume () {\r
        }\r
 }\r
index 9db26c6..adc7c41 100644 (file)
@@ -1,10 +1,10 @@
 \r
 package com.badlogic.gdx.twl.tests;\r
 \r
-import com.badlogic.gdx.backends.jogl.JoglApplication;\r
+import com.badlogic.gdx.backends.desktop.LwjglApplication;\r
 \r
 public class ButtonTestDesktop {\r
        public static void main (String[] argv) {\r
-               new JoglApplication(new ButtonTest(), "Button Test", 480, 320, false);\r
+               new LwjglApplication(new ButtonTest(), "Button Test", 480, 320, false);\r
        }\r
 }\r
index 0967d94..4012329 100644 (file)
@@ -5,7 +5,7 @@ import com.badlogic.gdx.ApplicationListener;
 import com.badlogic.gdx.Gdx;\r
 import com.badlogic.gdx.Files.FileType;\r
 import com.badlogic.gdx.graphics.GL10;\r
-import com.badlogic.gdx.twl.renderer.TwlInputListener;\r
+import com.badlogic.gdx.twl.renderer.TwlInputProcessor;\r
 import com.badlogic.gdx.twl.renderer.TwlRenderer;\r
 \r
 import de.matthiasmann.twl.DialogLayout;\r
@@ -22,10 +22,10 @@ import de.matthiasmann.twl.textarea.TextAreaModel.Element;
 \r
 public class TextAreaTest implements ApplicationListener {\r
        GUI gui;\r
-       TwlInputListener guiInputListener;\r
+       TwlRenderer twl;\r
+       TwlInputProcessor guiInputListener;\r
 \r
-       @Override\r
-       public void create () {\r
+       @Override public void create () {\r
                if (gui != null) return;\r
 \r
                final HTMLTextAreaModel htmlText = new HTMLTextAreaModel();\r
@@ -41,7 +41,9 @@ public class TextAreaTest implements ApplicationListener {
                layout.setHorizontalGroup(layout.createParallelGroup().addWidgets(scrollPane, fpsCounter));\r
                layout.setVerticalGroup(layout.createSequentialGroup().addWidget(scrollPane).addGap(5).addWidget(fpsCounter).addGap(5));\r
 \r
-               gui = TwlRenderer.createGUI(layout, "data/widgets.xml", FileType.Internal);\r
+               twl = new TwlRenderer();\r
+               gui = new GUI(layout, twl, null);\r
+               twl.applyTheme(gui, "data/widgets.xml", FileType.Internal);\r
 \r
                textArea.addCallback(new TextArea.Callback() {\r
                        Timer timer;\r
@@ -71,32 +73,28 @@ public class TextAreaTest implements ApplicationListener {
                                speed = -speed;\r
                        }\r
                });\r
-               \r
-               guiInputListener = new TwlInputListener(gui);\r
+\r
+               guiInputListener = new TwlInputProcessor(gui);\r
        }\r
-       \r
-       @Override\r
-       public void resize(int width, int height) {     \r
-               TwlRenderer.updateSize(gui);\r
+\r
+       @Override public void resize (int width, int height) {\r
+               gui.setSize();\r
+               twl.setSize();\r
        }\r
 \r
-       @Override\r
-       public void render () {\r
+       @Override public void render () {\r
                Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);\r
                Gdx.input.processEvents(guiInputListener);\r
                gui.update();\r
        }\r
 \r
-       @Override\r
-       public void dispose () {\r
+       @Override public void dispose () {\r
                gui.destroy();\r
        }\r
 \r
-       @Override\r
-       public void pause() {\r
+       @Override public void pause () {\r
        }\r
 \r
-       @Override\r
-       public void resume() {\r
+       @Override public void resume () {\r
        }\r
 }\r
index cd6ed68..e132a4a 100644 (file)
@@ -1,10 +1,10 @@
 \r
 package com.badlogic.gdx.twl.tests;\r
 \r
-import com.badlogic.gdx.backends.jogl.JoglApplication;\r
+import com.badlogic.gdx.backends.desktop.LwjglApplication;\r
 \r
 public class TextAreaTestDesktop {\r
        public static void main (String[] argv) {\r
-               new JoglApplication(new TextAreaTest(), "Twl Test", 480, 320, false);           \r
+               new LwjglApplication(new TextAreaTest(), "Twl Test", 480, 320, false);          \r
        }\r
 }\r
index 79d0eb2..3678e92 100644 (file)
@@ -5,5 +5,6 @@
        <classpathentry combineaccessrules="false" exported="true" kind="src" path="/gdx"/>\r
        <classpathentry kind="lib" path="libs/xpp3-1.1.4c.jar"/>\r
        <classpathentry exported="true" kind="lib" path="libs/twl.jar"/>\r
+       <classpathentry combineaccessrules="false" kind="src" path="/gdx-backend-lwjgl"/>\r
        <classpathentry kind="output" path="bin"/>\r
 </classpath>\r
@@ -2,24 +2,27 @@
 package com.badlogic.gdx.twl.renderer;\r
 \r
 import com.badlogic.gdx.InputProcessor;\r
+import com.badlogic.gdx.backends.desktop.LwjglInput;\r
 \r
 import de.matthiasmann.twl.GUI;\r
 \r
 /**\r
  * @author Nathan Sweet <misc@n4te.com>\r
  */\r
-public class TwlInputListener implements InputProcessor {\r
+public class TwlInputProcessor implements InputProcessor {\r
        private final GUI gui;\r
 \r
-       public TwlInputListener (GUI gui) {\r
+       public TwlInputProcessor (GUI gui) {\r
                this.gui = gui;\r
        }\r
 \r
        public boolean keyDown (int keycode) {\r
+               keycode = LwjglInput.getKeyCodeReverse(keycode);\r
                return gui.handleKey(keycode, (char)0, true);\r
        }\r
 \r
        public boolean keyUp (int keycode) {\r
+               keycode = LwjglInput.getKeyCodeReverse(keycode);\r
                return gui.handleKey(keycode, (char)0, false);\r
        }\r
 \r
index 2b9b7be..9f41cc0 100644 (file)
@@ -204,17 +204,11 @@ public class TwlRenderer implements Renderer {
                }\r
        }\r
 \r
-       static public void updateSize (GUI gui) {\r
-               Renderer renderer = gui.getRenderer();\r
-               if (!(renderer instanceof TwlRenderer)) throw new IllegalArgumentException("gui's renderer must be a TwlRenderer.");\r
-               ((TwlRenderer)renderer).spriteBatch.getProjectionMatrix().setToOrtho(0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(),\r
-                       0, 0, 1);\r
-               gui.setSize();\r
+       public void setSize () {\r
+               spriteBatch.getProjectionMatrix().setToOrtho(0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), 0, 0, 1);\r
        }\r
 \r
-       static public GUI createGUI (Widget root, String themeFile, final FileType fileType) {\r
-               TwlRenderer renderer = new TwlRenderer();\r
-               GUI gui = new GUI(root, renderer, null);\r
+       public void applyTheme (GUI gui, String themeFile, final FileType fileType) {\r
                File file = new File(themeFile);\r
                final File themeRoot = file.getParentFile();\r
                final String themeFileName = file.getName();\r
@@ -233,15 +227,14 @@ public class TwlRenderer implements Renderer {
 \r
                                                public InputStream getInputStream () {\r
                                                        if (!path.endsWith(".xml")) return null; // Only theme files are loaded through the URL.\r
-                                                       return fileHandle.getInputStream();\r
+                                                       return fileHandle.readFile();\r
                                                }\r
                                        };\r
                                }\r
                        });\r
-                       gui.applyTheme(ThemeManager.createThemeManager(themeURL, renderer));\r
+                       gui.applyTheme(ThemeManager.createThemeManager(themeURL, this));\r
                } catch (IOException ex) {\r
                        throw new GdxRuntimeException("Error loading theme: " + themeFile, ex);\r
-               }               \r
-               return gui;\r
+               }\r
        }\r
 }\r