2012-01-03 10 views
5

Piszę naprawdę prosty program używając GLUT i C w XCode 4.2.Jak ustawić operację zamknięcia w programie GLUT zapisanym w C? (jak w czerwonym przycisku w lewym górnym rogu do pracy)

int main(int argc, char** argv) 
{ 
    glutInit(&argc, argv); 

    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); 
    glutInitWindowSize(640, 480); 

    glutCreateWindow("GLUT Program"); 

    glutDisplayFunc(display); 
    glutReshapeFunc(reshape); 
    glutIdleFunc(idle); 

    glutMainLoop(); 
    return EXIT_SUCCESS; 
} 

Gdy okno otwiera się, nie mogę go zamknąć poprzez czerwony przycisk w lewym górnym rogu (Mac), ponieważ jest wyszarzone. Jeśli jakieś programowanie Java, które zrobiłem, jest modelem, powinna istnieć jakaś funkcja, która ustawia operację zamknięcia tak, aby czerwony przycisk wyjścia działał. Nie mogę też znaleźć dokumentacji dla najnowszej wersji GLUT. Ilekroć robię to w Google, wydaje mi się, że otrzymuję dokumentację OpenGL, co sprawia, że ​​jestem trochę bardziej zdezorientowany niż wtedy, gdy byłem w relacji między tymi dwoma (myślę, że GLUT był interfejsem międzyplatformowym do interakcji z OpenGL).

+0

Którą implementację GLUT używasz? – genpfault

+0

Szczerze nie wiem. Jak rozumiem, rzeczy te są zawarte w dystrybucjach XCode, a OpenGL jest w System Updates. Używam więc tego, co jest zapakowane w XCode 4.2 i Lion. –

Odpowiedz

2

Jeśli chcesz używać systemu okiennego komputera Mac do pisania natywnej aplikacji typu Mac (i powinieneś - użytkownicy będą Ci wdzięczni!), Powinieneś używać NSOpenGLView zamiast GLUT. Jest jakiś dobry przykładowy kod here.

3

W systemie Mac OS okno nie może zostać zamknięte, a aplikacja musi zostać zamknięta (sourceshere).

0

Korzystanie z powiązań GLUT dla Pythona na OS X, stwierdzam, że przekazanie obsługi zdarzeń do glutWMCloseFunc jest wystarczające, aby dać działanie (najwyraźniej jest to przestarzałe na korzyść glutCloseFunc, ale nie z moją wersją).

0

dobrze, i napotkał ten problem teraz, a ja używać

Command + Q 

zakończyć ten proces, to działa.

Powiązane problemy