OpenGL en fullscreen ou mode fenêtré
En fait, il n'y a rien de bien particulier, puisqu'il s'agit d'opérations qui ne sont pas gérées par OpenGL, et donc gérées par X Window.
Changer de mode graphique/résolution
Pour passer en fullscreen, généralement, il y aura deux étapes:
- Changer le mode graphique avec éventuellement une énumération des résolutions disponibles. On pourra laisser l'utilisateur choisir. Voir le chapitre une Enumération et changement du mode graphique
Dans notre cas, je reste simple, voici un exemple de classe nommée cartegraphique qui change de mode: (par défaut 640*480*16).
Evidemment, ce n'est qu'un exemple qui est donc largement améliorable. Mais il fallait rester le plus simple possible !
Création d'une fenêtre en plein écran ou non
- Création d'une fenêtre en fullscreen
Après avoir changé le mode d'affichage, il est nécessaire d'avoir une zone cliente occupant la totalité de l'écran. Il s'agit ici de manipulations particulières sous X Window. En effet, le window Manager décide de beaucoup de choses, vous ne faites que des souhaits qu'il n'est pas obligé de respecter !
Mais si le fullscreen n'est pas possible ou si l'utilisateur veut travailler en mode fenêtré, nous aurons alors généralement besoin de créer une fenêtre dont la taille dépendra de celle de la zone cliente (Généralement, la zone cliente ayant une taille correspondant aux dimensions que nous aurions utilisé en mode fullscreen - plein écran, càd avec changement de résolution !):
- Création d'une fenêtre sous X Window.