Skip to content

Instantly share code, notes, and snippets.

@ajaychandran
Created February 1, 2016 04:55
Show Gist options
  • Save ajaychandran/a0c0a2ac4f95b1fbee10 to your computer and use it in GitHub Desktop.
Save ajaychandran/a0c0a2ac4f95b1fbee10 to your computer and use it in GitHub Desktop.

Revisions

  1. ajaychandran created this gist Feb 1, 2016.
    73 changes: 73 additions & 0 deletions WindowTest.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,73 @@
    package gdx;

    import com.badlogic.gdx.ApplicationAdapter;
    import com.badlogic.gdx.Gdx;
    import com.badlogic.gdx.backends.lwjgl3.*;

    import java.util.concurrent.Executors;
    import java.util.concurrent.ScheduledExecutorService;
    import java.util.concurrent.TimeUnit;

    public class WindowTest {
    public static void main(String[] args) {
    System.out.println("starting window test...");
    ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
    new Lwjgl3Application(new ApplicationAdapter() {
    public Lwjgl3WindowConfiguration config() {
    Lwjgl3WindowConfiguration configuration = new Lwjgl3WindowConfiguration();
    configuration.setWindowPosition(100, 100);
    configuration.setWindowedMode(100, 100);
    configuration.setWindowListener(new Lwjgl3WindowListener() {
    Boolean created = false;

    public void iconified() {
    System.out.println("window iconified");
    }

    public void deiconified() {
    if (created) System.out.println("window de-iconified");
    else {
    created = true;
    System.out.println("window de-iconified (on create)");
    }
    }

    public void focusLost() {
    System.out.println("window lost focus");
    }

    public void focusGained() {
    System.out.println("window gained focus");
    }

    public boolean windowIsClosing() {
    System.out.println("window is closing");
    return true;
    }
    });
    return configuration;
    }

    public void minimize(Lwjgl3Window window) {
    System.out.println("trying to minimize window");
    window.iconifyWindow();
    }

    public void restore(Lwjgl3Window window) {
    System.out.println("trying to restore window");
    window.deiconifyWindow();
    }

    public void create() {
    Lwjgl3Application app = (Lwjgl3Application) Gdx.app;
    Lwjgl3Window window = app.newWindow(new ApplicationAdapter() {
    }, config());
    service.schedule(() -> window.postRunnable(() -> minimize(window)), 2, TimeUnit.SECONDS);
    service.schedule(() -> window.postRunnable(() -> restore(window)), 4, TimeUnit.SECONDS);
    service.schedule(app::exit, 6, TimeUnit.SECONDS);
    }
    }, new Lwjgl3ApplicationConfiguration());
    System.out.println("window test completed");
    service.shutdown();
    }
    }