можно ли создать окно glut фиксированного размера?
можно ли создать окно фиксированного размера с помощью glut, поэтому любые изменения размеров окна будут игнорироваться.
для меня слишком поздно переключаться на SDL или что-то подобное.
2 ответов
по-видимому, это невозможно законным способом, но вы можете использовать glutReshapeWindow
внутри glutReshapeFunc
- обратный вызов, чтобы привязать его обратно сразу после выпуска мыши. Это довольно эффективно и, насколько мне известно, лучшее решение. Только протестировано с freeglut:
glutReshapeFunc(resize);
void resize(int width, int height) {
// we ignore the params and do:
glutReshapeWindow( 800, 600);
}
в конечном итоге, нет. Лучшее, что вы можете сделать, это позвонить glutReshapeWindow
чтобы заставить его к определенному размеру, когда вы обнаружите, что он был изменен. Но это все. И если вы это сделаете, вам нужно сделать некоторую бесконечную профилактику цикла, гарантируя, что вы только вызываете glutReshapeWindow
Если новый размер не совпадает с желаемым. Это не помешает пользователю попытка для изменения размера, но это не допустить. Возможно.
помните: GLUT предназначен для демонстрации применения и простые испытательные стенды. Для такого приложения возможность изменения размера окна довольно стандартная.