Liste des évènements
Provenant de notre fenêtre, nous allons recevoir des évènements (via une procédure de messages qui sera transparente pour nous par la suite).
Lorsqu'un message est traité, il peut éventuellement donner lieu à un évènement dans l'instance GLWindows associée à la fenêtre traitée.
Voici tout d'abord une liste d'évènements portablent tous environnements (Pour rappel, fonctionne sous Windows, X Window et GLUT (Windows/X Window)
virtual bool onCreateGLW() : Renvoyer true si tout est ok, false stoppant
la création.
virtual void onDestroyGLW() : une demande destructions de la fenêtre GLWindows
est reçue, et est confirmée (voir l'évènement onClose
déclenché avant cet évènement). vous pouvez donc
à ce niveau libérer vos propres ressources
virtual bool onSizeGLW(long type, int width, int height) : Retaillage de la
fenêtre, retournez true si tout est ok, sinon laisser à windows.
Par défaut,
cet évènement repositionne le surseur de la souris au centre de
la fenêtre sans regarder si la fenêtre a ou non le curseur de la
souris en gestion. Il ne faut donc pas que ce soit la souris qui justement retaille
la fenêtre, vous auriez des surprises sinon !
virtual bool onPaintGLW() : Par défaut, dessine
un cube. Il faut retourner true pour que windows ne traite pas le message.
virtual bool onKeyDownGLW (GLWPARAM wParam) : Par défaut, gère
la position de la caméra. Si la touche correspond à un déplacement
de la caméra, l'évènement retourne true, sinon retourne
false.
virtual bool onClickMouseGLW (UINT message) : Par défaut, retourne false
pour indiquer à Windows qu'il faut traiter le message
virtual bool onPosMouseGLW (POINT xyScrSouris, POINT xySourisClt) : Gestion
de la souris évènement qui par défaut gérera la
position de la caméra. Retourne donc true par défaut.
virtual bool showMouse () : Afficher le curseur de la souris
virtual bool hideMouse() : Cacher le curseur de la souris
Des évènements ne fonctionnant pas sous GLUT mais qui fonctionnent sous Windows ou X Window:
virtual bool onCloseGLW() : Demande de fermeture de la fenêtre, renvoyez
true pour continuer, false pour arrêter. Vous pourrez donc demander éventuellement
une confirmation de fermeture de votre fenêtre.
virtual bool onKeyUpGLW (GLWPARAM wParam) : Par défaut, retourne false
pour laisser Windows traiter le message. Indique qu'une touche est relâchée.
wParam contenant le code de la touche.
Les évènements spécifiques à Windows, donc non portables dans les différents environnements :
virtual bool onCommandGLW(UINT msg, HWND ctrl, UINT id) : Par défaut,
rien donc retourne false. Gestion menu, ...
virtual bool onEventGLW(UINT, WPARAM, LPARAM, long&) Par défaut,
retourne false afin de laisser windows gérer le message. Cet évènement
se déclenche sur les messages Windows que je ne gère pas ...Le
premier paramètre est le message reçu, les suivants, les paramètres
correspondant.
Les évènements spécifiques à X Windows, donc non portables dans les différents environnements :