Ich mache ein C ++ - Spiel, und ich möchte, dass es automatisch die Desktopauflösung des Benutzers erhält.
Ich habe bisher nur Windows-basierte Lösungen gefunden - Gibt es einen Weg / eine Bibliothek, um die Auflösung unter Windows / Mac / Linux zu finden?
Es gibt mehrere Bibliotheken, die dir dabei helfen, das Low-Level-Zeug zum Laufen zu bringen. Sie werden wahrscheinlich mehr Sachen auf diesen Plattformen brauchen, also werde ich einige aufzählen:
GLFW bietet eine Kreuzplattform (für Windows, Mac und Linux), um den Desktop-Videomodus zu erhalten. Es ist ein C api , aber es funktioniert in C ++. Die relevante Funktion (und Dokumentation) ist hier:
void glfwGetDesktopMode( GLFWvidmode *mode )
Parameter
mode
Zeiger auf eine GLFWvidmode
-Struktur, die von der Funktion ausgefüllt wird.
Rückgabewerte
Die GLFWvidmode
-Struktur, auf die der Modus zeigt, wird mit dem Desktop-Videomodus ausgefüllt.
Beschreibung
Diese Funktion gibt den Desktop-Videomodus in einer GLFWvidmode
-Struktur zurück. Siehe glfwGetVideoModes
für eine Definition der GLFWvidmode
Struktur.
Hinweise
Die Farbtiefe der Desktop-Anzeige wird immer als Anzahl der Bits für jede einzelne Farbe angegeben Komponente (rot, grün und blau), auch wenn der Desktop kein RGB- oder RGBA-Farbformat verwendet. Zum Beispiel: Eine indizierte 256-Farben-Anzeige meldet möglicherweise RedBits = 3, GreenBits = 3 und BlueBits = 2 addiert insgesamt bis zu 8 Bits.
Der Desktop-Videomodus ist der Videomodus, der vom Desktop zu der Zeit verwendet wurde, als das GLFW-Fenster war geöffnet, nicht der aktuelle Videomodus (der sich vom Desktop - Videomodus unterscheiden kann, wenn der GLFW Fenster ist ein Vollbild-Fenster).
%Vor%Siehe Jonas Wielickis Antwort für Alternativen.
Tags und Links c++ gcc screen-resolution portability