è possibile creare una finestra di dimensioni fisse usando glut, quindi qualsiasi modifica con le dimensioni della finestra verrà ignorata.è possibile creare una finestra di glut size fissa?
è troppo tardi per passare a SDL o qualcosa di simile.
è possibile creare una finestra di dimensioni fisse usando glut, quindi qualsiasi modifica con le dimensioni della finestra verrà ignorata.è possibile creare una finestra di glut size fissa?
è troppo tardi per passare a SDL o qualcosa di simile.
Apparentemente, non è possibile in modo legittimo, ma è possibile utilizzare glutReshapeWindow
all'interno del proprio glutReshapeFunc
- richiamo per riattivarlo subito dopo il rilascio del mouse. È abbastanza efficace e, a mia conoscenza, la soluzione migliore. Solo testato con freeglut:
glutReshapeFunc(resize);
void resize(int width, int height) {
// we ignore the params and do:
glutReshapeWindow(800, 600);
}
Hahah wow grazie per gli upvotes sul mio primo e unico post su SO – mouse
In definitiva, no. Il meglio che puoi fare è chiamare glutReshapeWindow
per forzarlo a una dimensione particolare ogni volta che rilevi che è stato ridimensionato. Ma questo è tutto. E se lo fai, devi fare un po 'di prevenzione del ciclo infinito assicurandoti di chiamare solo glutReshapeWindow
se la nuova dimensione non è uguale a quella desiderata. Ciò non impedirà all'utente di di provare a ridimensionarlo, ma impedirà loro di farlo. Possibilmente.
Ricordare: GLUT è progettato per applicazioni demo e banchi di prova semplici. Per tale applicazione, la possibilità di ridimensionare la finestra è abbastanza standard.
"è troppo tardi per il mio ritorno a SDL o qualcosa di simile." Non riesco a immaginare come sarebbe un problema significativo. GLUT è per l'installazione e la gestione della finestra; i manager che cambiano dovrebbero richiedere solo modifiche abbastanza localizzate. A meno che non si dipenda dalle funzionalità specifiche di GLUT, come i frame buffer sRGB e simili. –