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).