Redimensionnement de la fenêtre

 

Redimensionner

Il est possible de redimensionner une fenêtre avec la fonction glutReshapeWindow()

void glutReshapeWindow ( int width, int height );

En entrée
width Nouvelle largeur en pixels de la fenêtre.
height Nouvelle hauteur en pixels de la fenêtre.

 

Image non trouvée !Il ne s'agit pas du redimensionnement de la zone cliente mais de la fenêtre dans sa totalité (donc y compris brodures, ...).

Image non trouvée !Le redimensionnement se produira au prochain appel à la fonction glutMainLoop()

Image non trouvée !glutReshapeWindow désactive le mode plein écran s'il est activé (Voir fullscreen).

Image non trouvée !Sous Unix, X Window peut ou non appliquer le redimensionnement, voir faire ce qu'il veut !

 

Etre informé d'un redimensionnement

Il est possible d'être informé par GLUT du redimensionnement de la fenêtre. Par exemple (si ce n'est le cas d'utilité !) pour retailler le Le ViewPort la matrice de projection sous OpenGL.

void glutReshapeFunc ( void (*func) (int width, int height));

En entrée:
func Fonction qui sera lancée à chaque redimensionnement

En sortie:

Rien !

 

Cette fonction sera déclenchée:

- A chaque redimensionnement de la fenêtre (logiciel via glutReshapeWindow() ou manuellement par l'utilisateur).

- Lors du premier appel à la fonction d'affichage après création de la fenêtre

- Lorsqu'un plan de recouvrement pour la fenêtre est créé.

Elle recevra en entrée les nouvelles dimensions de la fenêtre (en pixel).

Image non trouvée !Il est possible d'arrêter l'appel à notre fonction de redimensionnement en passant NULL à glutReshapeFunc().

Image non trouvée ! Par défaut, GLUT lance une fonction sur un évènement de redimensionnement. Donc si vous n'en précisez pas, c'est cette fonction implicite qui sera déclenchée. Celle-ci effectuant un glViewport(0, 0, width, height) pour le plan normal de la fenêtre courante.
Image non trouvée !Si un plan de recouvrement est établi pour la fenêtre, Notre fonction sera informé du redimensionnement. Car ce sera à elle de mettre à jour les plans normal et de recouvrement de la fenêtre courante.

Image non trouvée ! Lorsqu'un fenêtre racine est redimensionnée, notre fonction devra (si nécessaire) redimensionner les sous-fenêtres et de les positionner à l'intérieur de la fenêtre mère.