Aller au contenu principal

Événement

Informations des événements gérés par le système d'exploitation.

Structure

Union de structures permettant de contenir les informations d’événement :

typedef union SDL_Event;

Scrutation

Pour scruter les informations de l'événement suivant :

bool SDL_PollEvent(SDL_Event* event);

Le booléen retourné par cette fonction indique s’il reste des événements à traiter.

Informations

Cette union de structures est très vaste puisqu'elle permet de représenter toutes les informations de tous les événements possibles.

type

Le type d’événement peut être l’un des suivants :

TypeDescription
SDL_EVENT_FIRSTDélimiteur.
SDL_EVENT_QUITFermeture d’application.
SDL_EVENT_WINDOW_RESIZEDFenêtre redimensionnée.
SDL_EVENT_WINDOW_CLOSE_REQUESTEDFermeture de fenêtre demandée.
SDL_EVENT_KEY_DOWNTouche enfoncée.
SDL_EVENT_KEY_UPTouche relâchée.
SDL_EVENT_TEXT_INPUTSaisie au clavier.
SDL_EVENT_MOUSE_MOTIONMouvement de souris.
SDL_EVENT_MOUSE_BUTTON_DOWNBouton de souris enfoncé.
SDL_EVENT_MOUSE_BUTTON_UPBouton de souris relâché.
SDL_EVENT_MOUSE_WHEELMolette de souris.
SDL_EVENT_USERÉvénement personnalisé.
......
SDL_EVENT_LASTDélimiteur.

window

Fenêtre de laquelle provient l'événement :

InformationDescription
windowIDIdentifiant de la fenêtre.
data1Première donnée relative au type d'événement.
data2Deuxième donnée relative au type d'événement.

motion

Informations relatives au mouvement de la souris :

InformationDescription
xPosition sur l'axe des x.
xrelMouvement relatif à l'axe des x.
yPosition sur l'axe des y.
yrelMouvement relatif à l'axe des y.

button

Informations relatives aux boutons de la souris :

InformationDescription
buttonBouton enfoncé.
clicksNombre de fois enfoncé de suite.
......

button

Le bouton peut être l'un des suivants :

BoutonDescription
SDL_BUTTON_LEFTBouton de gauche.
SDL_BUTTON_MIDDLEBouton de la molette.
SDL_BUTTON_RIGHTBouton de droite.
SDL_BUTTON_X1Premier bouton du côté.
SDL_BUTTON_X2Deuxième bouton du côté.
......

key

Informations relatives aux touches du clavier :

InformationDescription
scancodePositions physiques des touches.
keyReprésentations des touches.
......

Représentation

La représentation des touches est selon la disposition et la langue actives du clavier. La donnée membre key contient donc le ou les caractères que représente la touche qui a été enfoncée ou relâchée.

Des constantes sont aussi disponibles pour la représentation de chacune des touches :

ConstanteTouche
SDLK_BACKSPACERetour en arrière.
SDLK_RETURNEntrée.
SDLK_ESCAPEÉchappement.
......

Personnalisé

Le type SDL_EVENT_USER permet de spécifier qu'il s'agit d'un événement personnalisé :

SDL_Event userEvent;
userEvent.type = SDL_EVENT_USER;
userEvent.window.windowID = 1;

Un code permettra d'identifier un événement personnalisé :

userEvent.user.code = 42;

Et celui-ci peut être déclenché en l'ajoutant à la file d'événements :

SDL_PushEvent(&userEvent);