2012-05-21 24 views
7

es posible crear una ventana de tamaño fijo utilizando saturación, por lo que no se tendrán en cuenta los cambios en las dimensiones de la ventana.¿es posible crear una ventana de exceso de tamaño fijo?

es demasiado tarde para volver a SDL o algo similar.

+1

"es demasiado tarde para volver a SDL o algo similar". No me puedo imaginar cómo sería un problema significativo. GLUT es para configuración y administración de ventanas; los gerentes de conmutación solo deberían requerir cambios bastante localizados. A menos que dependa de características específicas de GLUT, como framebuffers sRGB y similares. –

Respuesta

9

Aparentemente, no es posible de forma legítima, pero puede usar glutReshapeWindow dentro de su glutReshapeFunc -callback, para volver a colocarlo justo después del lanzamiento del mouse. Es bastante efectivo y, que yo sepa, la mejor solución. Solo probado con freeglut:

glutReshapeFunc(resize); 

void resize(int width, int height) { 
    // we ignore the params and do: 
    glutReshapeWindow(800, 600); 
} 
+0

Hahah wow gracias por los votos a favor en mi primera y única publicación en SO – mouse

3

En última instancia, no. Lo mejor que puede hacer es llamar al glutReshapeWindow para forzarlo a un tamaño particular cada vez que detecte que ha sido redimensionado. Pero eso es todo. Y si lo hace, debe hacer una prevención infinita de bucles asegurándose de llamar solo al glutReshapeWindow si el nuevo tamaño no es el mismo que el deseado. Esto no evitará que el usuario intente con para redimensionarlo, pero evitará que tenga éxito. Posiblemente.

Recuerde: GLUT está diseñado para aplicaciones de demostración y bancos de pruebas simples. Para tal aplicación, la capacidad de cambiar el tamaño de la ventana es bastante estándar.

Cuestiones relacionadas