Search in sources :

Example 6 with DisplayMode

use of com.badlogic.gdx.Graphics.DisplayMode in project libgdx by libgdx.

the class Lwjgl3DebugStarter method main.

public static void main(String[] argv) throws NoSuchFieldException, SecurityException, ClassNotFoundException {
    GdxTest test = new GdxTest() {

        float r = 0;

        SpriteBatch batch;

        BitmapFont font;

        FPSLogger fps = new FPSLogger();

        Texture texture;

        @Override
        public void create() {
            BufferedImage image = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR);
            texture = new Texture("data/badlogic.jpg");
            batch = new SpriteBatch();
            font = new BitmapFont();
            Gdx.input.setInputProcessor(new InputAdapter() {

                @Override
                public boolean keyDown(int keycode) {
                    System.out.println("Key down: " + Keys.toString(keycode));
                    return false;
                }

                @Override
                public boolean keyUp(int keycode) {
                    System.out.println("Key up: " + Keys.toString(keycode));
                    return false;
                }

                @Override
                public boolean keyTyped(char character) {
                    System.out.println("Key typed: '" + character + "', " + (int) character);
                    if (character == 'f') {
                        Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
                    //							DisplayMode[] modes = Gdx.graphics.getDisplayModes();
                    //							for(DisplayMode mode: modes) {
                    //								if(mode.width == 1920 && mode.height == 1080) {
                    //									Gdx.graphics.setFullscreenMode(mode);
                    //									break;
                    //								}
                    //							}
                    }
                    if (character == 'w') {
                        Gdx.graphics.setWindowedMode(MathUtils.random(400, 800), MathUtils.random(400, 800));
                    }
                    if (character == 'e') {
                        throw new GdxRuntimeException("derp");
                    }
                    if (character == 'c') {
                        Gdx.input.setCursorCatched(!Gdx.input.isCursorCatched());
                    }
                    Lwjgl3Window window = ((Lwjgl3Graphics) Gdx.graphics).getWindow();
                    if (character == 'v') {
                        window.setVisible(false);
                    }
                    if (character == 's') {
                        window.setVisible(true);
                    }
                    if (character == 'q') {
                        window.closeWindow();
                    }
                    if (character == 'i') {
                        window.iconifyWindow();
                    }
                    if (character == 'm') {
                        window.maximizeWindow();
                    }
                    if (character == 'r') {
                        window.restoreWindow();
                    }
                    if (character == 'u') {
                        Gdx.net.openURI("https://google.com");
                    }
                    return false;
                }
            });
        }

        long start = System.nanoTime();

        @Override
        public void render() {
            Gdx.gl.glClearColor(1, 0, 0, 1);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
            HdpiUtils.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
            batch.getProjectionMatrix().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
            batch.begin();
            font.draw(batch, Gdx.graphics.getWidth() + "x" + Gdx.graphics.getHeight() + ", " + Gdx.graphics.getBackBufferWidth() + "x" + Gdx.graphics.getBackBufferHeight() + ", " + Gdx.input.getX() + ", " + Gdx.input.getY() + ", " + Gdx.input.getDeltaX() + ", " + Gdx.input.getDeltaY(), 0, 20);
            batch.draw(texture, Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY());
            batch.end();
            fps.log();
        }

        @Override
        public void resize(int width, int height) {
            Gdx.app.log("Test", "Resized " + width + "x" + height);
        }

        @Override
        public void resume() {
            Gdx.app.log("Test", "resuming");
        }

        @Override
        public void pause() {
            Gdx.app.log("Test", "pausing");
        }

        @Override
        public void dispose() {
            Gdx.app.log("Test", "disposing");
        }
    };
    Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
    config.setWindowedMode(640, 480);
    config.setWindowListener(new Lwjgl3WindowListener() {

        @Override
        public void iconified(boolean isIconified) {
            Gdx.app.log("Window", "iconified: " + (isIconified ? "true" : "false"));
        }

        @Override
        public void maximized(boolean isMaximized) {
            Gdx.app.log("Window", "maximized: " + (isMaximized ? "true" : "false"));
        }

        @Override
        public void focusLost() {
            Gdx.app.log("Window", "focus lost");
        }

        @Override
        public void focusGained() {
            Gdx.app.log("Window", "focus gained");
        }

        @Override
        public boolean closeRequested() {
            Gdx.app.log("Window", "closing");
            return false;
        }

        @Override
        public void filesDropped(String[] files) {
            for (String file : files) {
                Gdx.app.log("Window", "File dropped: " + file);
            }
        }

        @Override
        public void refreshRequested() {
            Gdx.app.log("Window", "refreshRequested");
        }
    });
    for (DisplayMode mode : Lwjgl3ApplicationConfiguration.getDisplayModes()) {
        System.out.println(mode.width + "x" + mode.height);
    }
    System.setProperty("java.awt.headless", "true");
    new Lwjgl3Application(test, config);
}
Also used : InputAdapter(com.badlogic.gdx.InputAdapter) Lwjgl3Application(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application) GdxTest(com.badlogic.gdx.tests.utils.GdxTest) SpriteBatch(com.badlogic.gdx.graphics.g2d.SpriteBatch) Texture(com.badlogic.gdx.graphics.Texture) BufferedImage(java.awt.image.BufferedImage) Lwjgl3ApplicationConfiguration(com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration) FPSLogger(com.badlogic.gdx.graphics.FPSLogger) GdxRuntimeException(com.badlogic.gdx.utils.GdxRuntimeException) DisplayMode(com.badlogic.gdx.Graphics.DisplayMode) Lwjgl3Window(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window) Lwjgl3WindowListener(com.badlogic.gdx.backends.lwjgl3.Lwjgl3WindowListener) BitmapFont(com.badlogic.gdx.graphics.g2d.BitmapFont)

Example 7 with DisplayMode

use of com.badlogic.gdx.Graphics.DisplayMode in project libgdx by libgdx.

the class FullscreenTest method create.

@Override
public void create() {
    batch = new SpriteBatch();
    font = new BitmapFont();
    tex = new Texture(Gdx.files.internal("data/badlogic.jpg"));
    DisplayMode[] modes = Gdx.graphics.getDisplayModes();
    for (DisplayMode mode : modes) {
        System.out.println(mode);
    }
    Gdx.app.log("FullscreenTest", Gdx.graphics.getBufferFormat().toString());
}
Also used : DisplayMode(com.badlogic.gdx.Graphics.DisplayMode) BitmapFont(com.badlogic.gdx.graphics.g2d.BitmapFont) SpriteBatch(com.badlogic.gdx.graphics.g2d.SpriteBatch) Texture(com.badlogic.gdx.graphics.Texture)

Example 8 with DisplayMode

use of com.badlogic.gdx.Graphics.DisplayMode in project libgdx by libgdx.

the class FullscreenTest method render.

@Override
public void render() {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(tex, Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY());
    font.draw(batch, "" + Gdx.graphics.getWidth() + ", " + Gdx.graphics.getHeight(), 0, 20);
    batch.end();
    if (Gdx.input.justTouched()) {
        if (fullscreen) {
            Gdx.graphics.setWindowedMode(480, 320);
            batch.getProjectionMatrix().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
            Gdx.gl.glViewport(0, 0, Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight());
            fullscreen = false;
        } else {
            DisplayMode m = null;
            for (DisplayMode mode : Gdx.graphics.getDisplayModes()) {
                if (m == null) {
                    m = mode;
                } else {
                    if (m.width < mode.width) {
                        m = mode;
                    }
                }
            }
            Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
            batch.getProjectionMatrix().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
            Gdx.gl.glViewport(0, 0, Gdx.graphics.getBackBufferWidth(), Gdx.graphics.getBackBufferHeight());
            fullscreen = true;
        }
    }
}
Also used : DisplayMode(com.badlogic.gdx.Graphics.DisplayMode)

Example 9 with DisplayMode

use of com.badlogic.gdx.Graphics.DisplayMode in project libgdx by libgdx.

the class Lwjgl3ApplicationConfiguration method getDisplayModes.

/**
	 * @return the available {@link DisplayMode}s of the given {@link Monitor}
	 */
public static DisplayMode[] getDisplayModes(Monitor monitor) {
    Lwjgl3Application.initializeGlfw();
    Buffer videoModes = GLFW.glfwGetVideoModes(((Lwjgl3Monitor) monitor).monitorHandle);
    DisplayMode[] result = new DisplayMode[videoModes.limit()];
    for (int i = 0; i < result.length; i++) {
        GLFWVidMode videoMode = videoModes.get(i);
        result[i] = new Lwjgl3Graphics.Lwjgl3DisplayMode(((Lwjgl3Monitor) monitor).monitorHandle, videoMode.width(), videoMode.height(), videoMode.refreshRate(), videoMode.redBits() + videoMode.greenBits() + videoMode.blueBits());
    }
    return result;
}
Also used : Buffer(org.lwjgl.glfw.GLFWVidMode.Buffer) PointerBuffer(org.lwjgl.PointerBuffer) IntBuffer(java.nio.IntBuffer) DisplayMode(com.badlogic.gdx.Graphics.DisplayMode) Lwjgl3Monitor(com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics.Lwjgl3Monitor) GLFWVidMode(org.lwjgl.glfw.GLFWVidMode)

Aggregations

DisplayMode (com.badlogic.gdx.Graphics.DisplayMode)9 Texture (com.badlogic.gdx.graphics.Texture)2 BitmapFont (com.badlogic.gdx.graphics.g2d.BitmapFont)2 SpriteBatch (com.badlogic.gdx.graphics.g2d.SpriteBatch)2 GraphicsDevice (java.awt.GraphicsDevice)2 IntBuffer (java.nio.IntBuffer)2 PointerBuffer (org.lwjgl.PointerBuffer)2 GLFWVidMode (org.lwjgl.glfw.GLFWVidMode)2 Buffer (org.lwjgl.glfw.GLFWVidMode.Buffer)2 AmazingMazeGame (ca.hiphiparray.amazingmaze.AmazingMazeGame)1 InputAdapter (com.badlogic.gdx.InputAdapter)1 JglfwDisplayMode (com.badlogic.gdx.backends.jglfw.JglfwGraphics.JglfwDisplayMode)1 LwjglApplication (com.badlogic.gdx.backends.lwjgl.LwjglApplication)1 LwjglApplicationConfiguration (com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration)1 Lwjgl3Application (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application)1 Lwjgl3ApplicationConfiguration (com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration)1 Lwjgl3Monitor (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Graphics.Lwjgl3Monitor)1 Lwjgl3Window (com.badlogic.gdx.backends.lwjgl3.Lwjgl3Window)1 Lwjgl3WindowListener (com.badlogic.gdx.backends.lwjgl3.Lwjgl3WindowListener)1 FPSLogger (com.badlogic.gdx.graphics.FPSLogger)1