Ogólnie mówiąc to wiem co to push i pop i do czego to mógłbym wykorzystywać. Tylko chciałbym zapytać czy są jakieś sytuacje kiedy muszę z tego skorzystać, czy są to po prostu funkcje że odkładam i ściągam?
0
0
dobra, poszerzam pytanie. Sądziłem że wiem do czego to służy, ale już zdurniałem.
Załóżmy że utworzyłem okno itd.
Potem wywołałem glutPushWindow();
Potem utworzyłem drugie okno.
Następnie wywołałem glutPopWindow();
Które okno zwróci mi glutGetWindow() ? Wydawało mi się, że powinna zwrócić to pierwsze, ale okazało się że wydawało mi się bo zwraca drugie. Do czego więc są te instukcje?
Przykładowy kod:
glutInit(&argc, argv);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
int okno = glutCreateWindow("Nowe okno");
glutDisplayFunc(Wyswietl);
printf("* %d\n", glutGetWindow()); //wypisał 1, czyli okno
glutPushWindow();
int okno2 = glutCreateSubWindow(okno, 10, 10, 10, 10);
glutDisplayFunc(Wyswietl);
printf("* %d\n", glutGetWindow()); //wypisał 2, czyli okno2
glutPopWindow();
printf("* %d\n", glutGetWindow()); //wypisał 2, czyli okno2