2017-01-17 15 views
0


Ich erstelle eine Game Engine zu ändern, die mit LWJGL arbeitet 3.
Ich erstelle eine Klasse mit dem Namen ‚FrameManager‘ Wunsch Griff Fenstereingänge (Wie Größe, Position, etc.) aber ich habe in vielen Websites gesucht, Dokumentation usw., und ich habe nicht gefunden, wie man eine einfache Methode erstellen möchte, die das Fenstersymbol setzt. Zuerst fand ich eine GLFW 3 Methode:
Aber es scheint nicht auf macOS Sierra 1.12 zu funktionieren (Ich kann nicht auf Windows für den Moment testen). Hier ist, wie ich diese Methode verwenden:Verschiedene Möglichkeiten, für verschiedene Plattformen, GLFW 3 Fenstersymbol in LWJGL 3.1

   log.debug(" -> Setting Icon..."); 
       final PNGDecoder decoder = new PNGDecoder(new FileInputStream(iconPath)); 
       final int iconWidth = decoder.getWidth(); 
       final int iconHeight = decoder.getHeight(); 
       final ByteBuffer buffer = createByteBuffer(iconWidth * iconHeight * 4); 
       decoder.decode(buffer, iconWidth * 4, PNGDecoder.Format.RGBA); 
       buffer.flip(); 
       final GLFWImage image = malloc(); 
       image.set(iconWidth, iconHeight, buffer); 
       final GLFWImage.Buffer images = malloc(1); 
       images.put(0, image); 

       glfwSetWindowIcon(frameId, images); 

       images.free(); 
       image.free(); 

versuchte ich es vorher/nachher Fenster Creation/Show, aber nichts passiert in macOS Sierra 10.12 (kein Fehler, aber kein Symbol).

Also dachte ich, dass es auf Windows funktioniert, aber nicht auf Mac.


Ich suchte nach einer Apple-Lösung, als ich 2 Möglichkeiten gefunden, aber es funktioniert nicht :(
Zuerst das Hinzufügen dieser in den VM Start argumente: -Xdock:icon=/path/myIcon.png
Aber nichts passiert :( Und ich auch . versucht, dass: ich schafft

bekannt, dass Application Bundle existiert, ist aber-es wirklich keine andere solutio

Application.getApplication().setDockIconImage(Image img); 

Es ist nicht ein Symbol und unterbrechen den Faden (Thread in diesem Moment gesperrt ist) n?

Danke für Ihre Hilfe! Einen schönen Tag noch!

Antwort

0

Gemäß the GLFW documentation funktioniert die GLFW-Symbol-API nicht, siehe "Bemerkungen" in der API-Dokumentation.

Es erwähnt, dass Sie das Bundles-Symbol verwenden sollten, um das Dockbarsymbol festzulegen.

Verwandte Themen