OSDN Git Service

[added] setEforcePotImages to LwjglGraphics so it can be turned of when using the...
authornathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 25 Nov 2010 01:09:44 +0000 (01:09 +0000)
committernathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 25 Nov 2010 01:09:44 +0000 (01:09 +0000)
backends/gdx-backend-lwjgl/src/com/badlogic/gdx/backends/lwjgl/LwjglGraphics.java
extensions/particle-editor/src/com/badlogic/gdx/graphics/particles/ParticleEditor.java

index 124ae11..b533f7e 100644 (file)
@@ -46,7 +46,7 @@ import com.badlogic.gdx.utils.MathUtils;
  * An implementation of the {@link Graphics} interface based on Lwjgl.\r
  * @author mzechner\r
  */\r
-final class LwjglGraphics implements Graphics {\r
+public final class LwjglGraphics implements Graphics {\r
        GLCommon gl;\r
        GL10 gl10;\r
        GL11 gl11;\r
@@ -61,6 +61,7 @@ final class LwjglGraphics implements Graphics {
        int height;\r
        String title;\r
        Canvas canvas;\r
+       boolean enforcePotImages = true;\r
 \r
        LwjglGraphics (String title, int width, int height, boolean useGL2IfAvailable) {\r
                useGL2 = useGL2IfAvailable;\r
@@ -153,10 +154,12 @@ final class LwjglGraphics implements Graphics {
 \r
        public Texture newTexture (FileHandle file, TextureFilter minFilter, TextureFilter magFilter, TextureWrap uWrap,\r
                TextureWrap vWrap) {\r
-               Pixmap pixmap = newPixmap(file);\r
-               if (!MathUtils.isPowerOfTwo(pixmap.getHeight()) || !MathUtils.isPowerOfTwo(pixmap.getWidth()))\r
-                       throw new GdxRuntimeException("Texture dimensions must be a power of two: " + file + " (" + pixmap.getWidth() + "x"\r
-                               + pixmap.getHeight() + ")");\r
+               if (enforcePotImages) {\r
+                       Pixmap pixmap = newPixmap(file);\r
+                       if (!MathUtils.isPowerOfTwo(pixmap.getHeight()) || !MathUtils.isPowerOfTwo(pixmap.getWidth()))\r
+                               throw new GdxRuntimeException("Texture dimensions must be a power of two: " + file + " (" + pixmap.getWidth() + "x"\r
+                                       + pixmap.getHeight() + ")");\r
+               }\r
 \r
                return new LwjglTexture(file, minFilter, magFilter, uWrap, vWrap, false);\r
        }\r
@@ -263,4 +266,8 @@ final class LwjglGraphics implements Graphics {
        public float getPpcY() {\r
                return (Toolkit.getDefaultToolkit().getScreenResolution() / 2.54f);\r
        }\r
+\r
+       public void setEnforcePotImages (boolean enforcePotImages) {\r
+               this.enforcePotImages = enforcePotImages;\r
+       }\r
 }\r
index 16c1339..5b80624 100644 (file)
@@ -33,6 +33,7 @@ import com.badlogic.gdx.Files.FileType;
 import com.badlogic.gdx.Gdx;\r
 import com.badlogic.gdx.InputProcessor;\r
 import com.badlogic.gdx.backends.lwjgl.LwjglCanvas;\r
+import com.badlogic.gdx.backends.lwjgl.LwjglGraphics;\r
 import com.badlogic.gdx.files.FileHandle;\r
 import com.badlogic.gdx.graphics.BitmapFont;\r
 import com.badlogic.gdx.graphics.Color;\r
@@ -233,6 +234,9 @@ public class ParticleEditor extends JFrame {
 \r
                public void create () {\r
                        if (spriteBatch != null) return;\r
+\r
+                       ((LwjglGraphics)Gdx.graphics).setEnforcePotImages(false);\r
+\r
                        spriteBatch = new SpriteBatch();\r
 \r
                        font = new BitmapFont(Gdx.files.getFileHandle("data/default.fnt", FileType.Internal), Gdx.files.getFileHandle(\r