gestion de la camera, clavier / souris.
24{
25
26 int mx, my;
27 unsigned int mb= SDL_GetRelativeMouseState(&mx, &my);
28
29
30 if(mb & SDL_BUTTON(1))
31 camera.rotation(mx, my);
32 else if(mb & SDL_BUTTON(3))
34
35 else if(mb & SDL_BUTTON(2))
36 camera.move(mx);
37
38
40 if(wheel.y != 0)
41 {
43 camera.move(8.f * wheel.y);
44 }
45
46 const char *orbiter_filename= "app_orbiter.txt";
47
49 {
51 camera.write_orbiter(orbiter_filename);
52 }
53
55 {
57
60
61 camera= tmp;
62 }
63
64
66 {
67 static int calls= 1;
68
71 }
72}
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet.
int read_orbiter(const char *filename)
relit la position de l'orbiter depuis un fichier texte.
int window_height()
renvoie la hauteur de la fenetre de l'application.
void clear_key_state(const SDL_Keycode key)
desactive une touche du clavier.
void clear_wheel_event()
desactive l'evenement.
int key_state(const SDL_Keycode key)
renvoie l'etat d'une touche du clavier. cf la doc SDL2 pour les codes.
SDL_MouseWheelEvent wheel_event()
renvoie le dernier evenement. etat de la molette de la souris / glisser sur le pad.
int window_width()
renvoie la largeur de la fenetre de l'application.
int screenshot(const char *filename)
enregistre le contenu de la fenetre dans un fichier. doit etre de type .png / .bmp