|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||||
|
Membre éclairé
![]() ![]() Inscription : avril 2008 Messages : 135 ![]() |
Salut à tous !
J’ai converti le deuxième tutoriel de NeHe sur OpenGL de telle sorte qu’il utilise GtkGlExtmm. Cependant, j’ai une bogue surprenante : sur mon ordinateur portable, utilisant le pilote libre pour processeur graphique Intel Sandy bridge mobile sur Debian Wheezy, tout ce passe bien. En particulier, je peux commencer immédiatement en mode plein écran. En revanche, sur mon ordinateur fixe, qui utilise Flgrx toujours sur Debian Wheezy, si je peux basculer en (puis quitter le) mode plein écran à partir du moment où je commence en mode fenêtré, le serveur X crash (écran entièrement noir) si je veux commencer immédiatement en mode plein écran. Dans ce cas-là, plus possible d’obtenir une console virtuelle. Cependant, je suis certain que seul X crash, dans la mesure où j’entends encore la musique que j’écoutais éventuellement à ce moment-là et je peux me connecter par SSH sur l’ordinateur fixe depuis le portable (c’est ce que je fais pour reprendre la main). Je ne sais pas trop comment résoudre le problème, je suis donc preneur de toute aide éventuelle. Je génère le code à l’aide de CMake. Le fichier « CMakeLists.txt » associé se situe dans la racine du projet, tandis que tous les codes sont dans le sous-répertoire « src/ ». Fichier « CMakeLists.txt » : Code :
Code :
Code :
Code :
Code :
Le Farfadet Spatial |
||||||||||
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() ![]() Inscription : avril 2008 Messages : 135 ![]() |
Salut à tous !
Au cas où, j’essaye de relancer le sujet. Ça ressemble vraiment à un problème dans la configuration de Gtkmm, mais je n’arrive pas à déterminer ce que j’ai mal fait. Quelqu’un a-t-il déjà utilisé le mode plein écran avec Gtkmm ? À bientôt. Le Farfadet Spatial |
|
|
00
|
|
|
#3 | ||||||||||
|
Membre éclairé
![]() ![]() Inscription : avril 2008 Messages : 135 ![]() |
Salut à tous !
Après pas mal d'errements et de découragement, j'en suis finalement arrivé à un code qui parvient à s'amorcer en plein écran. Tout d'abord, j'explique les raisons de ce que j'ai fait, si quelqu'un peut confirmer que je ne me trompe pas ou bien au contraire m'indiquer ce que j'ai mal compris, je lui en saurais gré. Donc, en cherchant sur le web, il ressort que visiblement un composant Gtk+ suit les étapes suivantes au cours de son existence :
J'ai fait appel à « show(); » juste avant de basculer en mode plein-écran et alors le code peut s'initialiser directement en plein écran. J'avais essayé avec uniquement « realize(); », mais ce n'était pas suffisant. Donc, ce qu'il me semble, c'est que Gtk+ ne peut pas passer en plein-écran un composant qui n'a pas déjà une fenêtre associée. Est-ce que quelqu'un peut confirmer cela ? Le code actuel. Fichier « CMakeLists.txt » : Code :
Code :
Code :
Code :
Code :
À bientôt. Le Farfadet Spatial |
||||||||||
|
|
00
|
|
|
#4 | ||||||||||
|
Membre éclairé
![]() ![]() Inscription : avril 2008 Messages : 135 ![]() |
Salut à tous !
Ma demande d’aide sur la liste de diffusion de Gtkmm a fini par trouver une réponse. Il en ressort que si les étapes de la vie d’un composant Gtk+ que j’ai donné dans le message précédent sont bonnes, en revanche il n’est pas nécessaire d’attendre un « show() » avant de passer une fenêtre en plein-écran. Le problème, c’est que j’avais oublié des étapes. Pour passer une fenêtre Gtk+ en plein écran, il faut réaliser les étapes suivantes :
En revanche, pour effacer le curseur de la souris, il faut faire appel à la fonction « get_window(); » qui ne renvoie un pointeur non-nul que si la fenêtre a été réalisée. Voici donc le code final : Fichier « CMakeLists.txt » : Code :
Code :
Code :
Code :
Code :
À bientôt. Le Farfadet Spatial |
||||||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com