application de base SDL + openGL. consultez le libSDL Programming Guide More...
#include <App.h>
Inherited by GLSLCC, TP, TP, and UITuto.
Public Member Functions | |
| ~App () | |
| destruction de l'application. | |
| int | resizeWindow (const int w, const int h) |
| redimensionne la fenetre. | |
| int | windowWidth () const |
| renvoie les dimensions de la fenetre | |
| int | windowHeight () const |
| renvoie les dimensions de la fenetre | |
| bool | isClosed () |
| indique si la fenetre est fermee. | |
| void | Close () |
| demander a fermer la fenetre. | |
| bool | processEvents () |
| traitement des evenements systemes : clavier, souris, fenetre, etc. | |
| unsigned char * | getKeys () |
| renvoie le tableau d'etat des touches du clavier. | |
| unsigned char & | key (const int key) |
| renvoie l'etat d'une touche selon son code ascii ou son identifiant SDLK_xxx. | |
initialisation manuelle de l'application. | |
| App () | |
| construction d'une application par defaut (non initialisee). | |
| int | createWindow (const int w, const int h) |
| cree une fenetre de dimension w x h et termine l'initialisation. | |
initialisation complete de l'application. | |
| App (const int w, const int h) | |
| construction d'une application. | |
interception des evenements clavier / souris / redimensionnement. | |
App fournit une implementation par defaut qui ne fait rien (les evenements sont reellement traites par processEvents()). a deriver, pour integrer nvWidgets, par exemple. | |
| virtual void | processWindowResize (SDL_ResizeEvent &event) |
| traitement des redimensionnements de la fenetre de l'application. | |
| virtual void | processMouseButtonEvent (SDL_MouseButtonEvent &event) |
| traitement des clicks souris. | |
| virtual void | processMouseMotionEvent (SDL_MouseMotionEvent &event) |
| traitement des deplacements de la souris. | |
| virtual void | processKeyboardEvent (SDL_KeyboardEvent &event) |
| traitement des evenements claviers. | |
encapsulation de la boucle principale | |
deriver de App pour construire une nouvelle application. | |
| virtual int | init () |
| appele apres l'initialisation complete de App et la creation du device. | |
| virtual int | run () |
| demarre la boucle principale. | |
| virtual int | quit () |
| appele avant la fermeture de l'application. | |
| virtual int | draw () |
| appele regulierement pour afficher la scene. | |
Protected Attributes | |
| unsigned char * | m_key_state |
| unsigned int * | m_key_map |
| int | m_width |
| int | m_height |
| int | m_stop |
application de base SDL + openGL. consultez le libSDL Programming Guide
| gk::App::App | ( | const int | w, | |
| const int | h | |||
| ) |
construction d'une application.
| w | largeur de la fenetre | |
| h | largeur de la fenetre |
References Close(), and createWindow().
| unsigned char * gk::App::getKeys | ( | ) |
renvoie le tableau d'etat des touches du clavier.
permet de connaitre l'etat d'une touche. le code ascii ou l'identifiant SDLK_xxx peuvent etre utilises comme indices dans le tableau.
la liste des codes est dans libSDL Programming Guide
| unsigned char & gk::App::key | ( | const int | key | ) |
renvoie l'etat d'une touche selon son code ascii ou son identifiant SDLK_xxx.
la liste des codes est dans libSDL Programming Guide
exemple : key('a'), ou key(SDLK_UP)
la fonction renvoie une reference, on peut l'utiliser pour desactiver manuellement une touche lorsque l'action a ete traitee et que l'on ne souhaite pas la re-executer a chaque image.
| virtual int gk::App::init | ( | ) | [inline, virtual] |
| int gk::App::run | ( | ) | [virtual] |
demarre la boucle principale.
App fournit une version complete, il n'est pas necessaire de la redefinir.
References Close(), draw(), init(), isClosed(), processEvents(), and quit().
| virtual int gk::App::quit | ( | ) | [inline, virtual] |
| virtual int gk::App::draw | ( | ) | [inline, virtual] |
1.6.3