2012-04-20 14 views
7

Używam GLFW i chciałbym wiedzieć, jak przełączać tryb okna na pełnym ekranie. Nie zmieniając rozdzielczości, ale ustawiając okno na wierzch i bez dekoracji. Jeśli GLFW nie jest w stanie tego zrobić, to jaką bibliotekę crossową sugerujesz, aby to osiągnąć?GLFW Przełączanie trybu Windowed-Fullscreen

Odpowiedz

6

Możesz powiedzieć glfw, aby otworzyć okno na pełnym ekranie.

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

Z tego co wiem, trzeba zamknąć i ponownie otworzyć to okno, aby przełączać się między oknem a trybem pełnoekranowym.

+0

lub jeśli chcesz, aby przełączyć z 'GLFW_WINDOW' do' GLFW_FULLSCREEN' trzeba najpierw Clode okno przed otwarciem nowego. – danijar

3

Aby uniknąć zmiany rozdzielczości ekranu w GLFW, można użyć glfwGetDesktopMode do sprawdzenia bieżącej rozdzielczości pulpitu i głębi kolorów, a następnie przekazać je do 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

To było bardzo pomocne! To + spojrzenie na kod źródłowy dla glfw :-) – netpoetica

0

Od wersji 3.2:

okienkowym trybie Windows można dokonać pełnego ekranu poprzez ustawienie monitora z glfwSetWindowMonitor i pełne te ekranu można wykonać okienkiem przez wyłączania go z tej samej funkcji.

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