application de base SDL + openGL. More...
#include <App.h>
Public Member Functions | |
| virtual | ~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. | |
| void | swap () |
| demande a afficher l'image construite par opengl | |
| 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 unsigned 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, pas de contexte opengl, pas de fenetre, appeller createWindow() pour initialiser opengl). | |
| int | createWindow (const int w, const int h, const AppSettings &flags=AppSettings()) |
| cree une fenetre de dimension w x h et termine l'initialisation. | |
initialisation complete de l'application. | |
| App (const int w, const int h, const AppSettings &flags=AppSettings()) | |
| 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_WindowEvent &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 | update (const int time, const int delta) |
| appele regulierement pour mettre a jour la scene (animations, deplacements, etc.). | |
| virtual int | draw () |
| appele regulierement pour afficher la scene. | |
Protected Member Functions | |
| App (const App &) | |
| App & | operator= (const App &) |
| int | createGLContext (const AppSettings &settings) |
Protected Attributes | |
| SDL_Window * | m_window |
| SDL_GLContext | m_gl_context |
| unsigned char * | m_key_state |
| unsigned int * | m_key_map |
| int | m_width |
| int | m_height |
| SDL_bool | m_fullscreen |
| int | m_stop |
application de base SDL + openGL.
consultez le libSDL Programming Guide
| gk::App::App | ( | const int | w, |
| const int | h, | ||
| const AppSettings & | flags = AppSettings() |
||
| ) |
construction d'une application.
| w | largeur de la fenetre |
| h | largeur de la fenetre |
References close(), and createWindow().
| int gk::App::createGLContext | ( | const AppSettings & | settings | ) | [protected] |
! force le chargement de toutes les fonctions exportees par le driver
References gk::AppDebug(), gk::AppSettings::apply(), close(), gk::AppSettings::context_flags, gk::AppSettings::major_version, gk::AppSettings::minor_version, gk::AppSettings::multi_samples, gk::AppSettings::profile_flags, swap(), and gk::AppSettings::swap_control.
Referenced by createWindow().
| int gk::App::createWindow | ( | const int | w, |
| const int | h, | ||
| const AppSettings & | flags = AppSettings() |
||
| ) |
cree une fenetre de dimension w x h et termine l'initialisation.
\ todo a tester pour SLD2
References close(), and createGLContext().
Referenced by App().
| 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 unsigned 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 draw(), init(), isClosed(), processEvents(), quit(), and update().
| virtual int gk::App::quit | ( | ) | [inline, virtual] |
| virtual int gk::App::update | ( | const int | time, |
| const int | delta | ||
| ) | [inline, virtual] |
appele regulierement pour mettre a jour la scene (animations, deplacements, etc.).
| time | millisecondes ecoulees depuis le lancement, |
| delta | millisecondes ecoulees depuis l'appel precedent. a redefinir en derivant App. doit renvoyer 0 pour sortir de la boucle principale, ou 1 pour continuer. |
Referenced by run().
| virtual int gk::App::draw | ( | ) | [inline, virtual] |
1.7.6.1