2012-04-20 2 views
7

Sto utilizzando GLFW e vorrei sapere come attivare la modalità a schermo intero. Non cambiare la risoluzione, ma invece impostare la finestra per essere in cima e senza decorazione. Se GLFW non è in grado di farlo, allora quale libreria cross platform suggerisci per raggiungere questo obiettivo?GLFW Attivazione della modalità a schermo intero con finestra aperta

risposta

6

Puoi dire a glfw di aprire la finestra a schermo intero.

glfwOpenWindow(width, height, 0, 0, 0, 0, 0, 0, GLFW_FULLSCREEN) 

Per quanto ne so si dovrebbe chiudere e riaprire questa finestra per passare da una finestra e modalità a schermo intero.

+0

o se si desidera passare da 'GLFW_WINDOW' a' GLFW_FULLSCREEN' bisogna clode alla finestra prima di aprire la nuova. – danijar

3

Per evitare che GLFW cambi la risoluzione dello schermo, è possibile utilizzare glfwGetDesktopMode per richiedere l'attuale risoluzione del desktop e la profondità del colore e quindi trasferirli in glfwOpenWindow.

// get the current Desktop screen resolution and colour depth 
GLFWvidmode desktop; 
glfwGetDesktopMode(&desktop); 

// open the window at the current Desktop resolution and colour depth 
if (!glfwOpenWindow(
    desktop.Width, 
    desktop.Height, 
    desktop.RedBits, 
    desktop.GreenBits, 
    desktop.BlueBits, 
    8,   // alpha bits 
    32,   // depth bits 
    0,   // stencil bits 
    GLFW_FULLSCREEN 
)) { 
    // failed to open window: handle it here 
} 
+0

Questo è stato molto utile! Questo + guardando il codice sorgente per glfw :-) – netpoetica

0

Dalla versione 3.2:

finestre modalità finestra può essere fatto a schermo intero impostando un monitor con glfwSetWindowMonitor, e quelli a schermo intero può essere fatto finestrato dal disinserimento con la stessa funzione.

http://www.glfw.org/docs/latest/window.html