Portabilité
Uniquement pour Windows 32
Utilisable:
virtual bool onEventGLW(UINT, WPARAM, LPARAM, long&) { return false; }
Pour traiter les évènements que je ne gère pas automatiquement sous MS Windows
Interdit d'utilisation:
static LRESULT CALLBACK WndProcGLW(HWND hwnd, UINT message, UINT wParam, LONG lParam); Procédure de gestion des messages Windows
Uniquement pour X Window
Utilisable
virtual bool onEventGLW(XEvent ev) { return false; }
Pour traiter les évènements que je ne gère pas automatiquement. Il faudra modifier les attributs de la fenêtre pour définir les masques des évènements que vous voulez intercepter.
Interdit d'utilisation:
int GLWindows::WndProcGLW(XEvent event); Procédure de gestion des messages X Window
Uniquement GLUT
Interdit d'utilisation:
static void GLUTaffichage(void); // Pour déclencher onPaintGLW sous
glut
static void GLUTIdle(void); // Pour dïéclencher onIdleGLW sous glut
static void GLUTKeyboard(unsigned char key, int x, int y); // Clavier
static void GLUTPassiveMotionMouse(int x, int y); // Souris
static void GLUTMotionMouse(int x, int y); // Souris
static void GLUTSize (int width, int height); // Redimensionnement de la fenêtre
Pour MS Windows et X Window
Utilisable:
HDC getDCGLW(void);
Cette fonction retourne le device context OpenGL
HDC est en fait une redéfinition de Window pour X Window
HGLRC getRCGLW(void);
Cette fonction retourne le render context OpenGL
HGLRC et une redéfinition de GLXContext pour X Window
De même pour les variables correspondantes:
HGLRC hRC;
HDC hDC;
HINSTANCE hInstance;
HWND hWnd ou Window win Handle de la fenêtre.
virtual bool onKeyUpGLW (GLWPARAM wKey) { return false; } où GLWPARAM est une redéfinition de WPARAM pour Windows et de unsigned int pour X Window
Cette évènement est déclenchée lorsqu'une touche est relachée.
Interdit d'utilisation:
void readMsgTrtGLW (); Vérifier qu'il y a un message et si oui, lancer la procédure de gestions de messages. Sinon, lancerl'évènement OnIdleGLW qui par défaut force le réaffichage de l'image (qui déclencherea donc rePaintGLW).
GLUT/WINDOWS et X Window
Utilisable:
getHWNDGLW(); Existe dans les trois cas, mais int (HWNDGLUT défini) pour glut et HWND pour windows. Window pour X Window (à noter que HWND est une redéfinition de Window)
De même pour la variable hWnd dont le type change aussi suivant que vous utilisez GLUT ou WINDOWS ou X Window (elle se nommera en fait win, un #define hWnd win la rend là encore compatible)
SwapBuffersGLW(void) permet d'échanger le buffer logique et physique
rePaintGLW (void) Permet de lancer la méthode onPaintGLW manuellement.
trtMsgGLW (bool bBcl) Permet de traiter les messages des fenêtres ou de lancer la méthode onIdleGLW si absence de messages. Cette métode peut être bloquante ou non suivant la valeur du booleen (vrai bloquant) pour X Window et Windows. Elle est obligatoirement bloquante dans le cas du GLUT (le booleen est sans effet).