GX_CountDown est une variable décrémentée automatiquement par GraphX 100 fois par seconde, c'est à dire que sa valeur diminue de 1 chaque centième de seconde. Lorsqu'elle atteind zéro, GraphX cesse de la décrémenter.

Cette variable est faite pour être modifiée et lue par l'utilisateur. Elle est utile, par exemple, pour garder une vitesse constante dans un jeu. Consultez les exemples de la FAQ pour avoir un exemple d'utilisation.
Pour illustrer, disons que vous initialisez GX_CountDown à 500 :

  GX_CountDown= 500;

Puis vous attendez qu'elle atteigne sa valeur limite (zéro) :

  while (GX_CountDown != 0) /*on attend*/ ;

Il s'est passé très précisément 5 secondes (500 centièmes de seconde) entre le moment où vous avez initialisé GX_CountDown et le moment où la boucle while s'est interrompue (donc le moment où GraphX a diminué GX_CountDown jusqu'à 0).

Remarque :
Cette variable ne doit jamais être accédée sans avoir préalablement initialisé GraphX avec GX_PowerOn.

 

 

GX_CreateTimer demande à GraphX de lancer frequency fois par seconde l'exécution d'une fonction. La fréquence d'appel s'exprime en Hertz. Elle ne peut pas être supérieure à 256 Hz.
Consultez les exemples de la FAQ pour avoir un exemple d'utilisation.
Il n'est pas possible de créer plus de 4 timers.

La fonction qui sera exécutée périodiquement ne doit ni comporter d'arguments, ni retourner une valeur. Son prototype est donc de la forme : void NomDeLaFonction(void);

Cette fonction peut effectuer à peu près n'importe quoi. Il y a juste deux restrictions :
- son temps d'exécution ne doit pas être plus long que l'intervalle de temps qui sépare théoriquement deux appels (1/frequency secondes), sinon elle ne sera plus appelée à la fréquence théorique et votre programme serait très ralentit (mais en aucun cas il ne planterait : le noyau répartiteur des tâches contient une protection).
- dans la fonction, vous ne devez jamais accéder à une variable globale "register" (ce sont les variables globales que l'on déclare avec les mots-clé register et asm, par exemple : register long MaVariable asm (d7);). Toutes les autres formes de variables globales sont accessibles sans problème.

Paramètres

void *function
pointeur sur la fonction que GraphX doit appeler périodiquement.
short frequency
fréquence d'appel (nombre d'appels par seconde).

Retour

GX_timer
renvoie l'identifiant du timer nouvellement créé, ou H_NULL si la création a échouée (il y a deux raisons possibles : soit 4 timers sont déjà créés, soit vous avez demandé une fréquence supérieure à 256 Hz ou inférieure à 1 Hz).

Remarque :
Cette fonction fait partie des possibilités de programmation événementielle offertes par GraphX.
Elle ne doit jamais être appelée sans avoir préalablement initialisé GraphX avec GX_PowerOn.

 

 

GX_DestroyTimer supprime le timer identifié par timer (précédement mis en place avec GX_CreateTimer).
La fonction qui était associée au timer ne sera plus appelée periodiquement par GraphX.

Paramètres

GX_timer timer
identifiant du timer à détruire.

Retour

void
cette fonction ne renvoie rien.

 

 

GX_SetKeyboardTask demande à GraphX de lancer l'exécution de la fonction dont vous donnez l'adresse (function) à chaque fois que l'appui d'une touche est détecté.
La fonction function est appelée uniquement au moment de l'appui d'une touche. L'utilisateur doit relâcher toutes les touches pour qu'une nouvelle pression déclenche l'appel de la fonction function.
Consultez les exemples de la FAQ pour avoir un exemple d'utilisation.

Paramètres

void *function
pointeur sur la fonction que GraphX doit appeler lorsque l'utilisateur presse une touche. Si vous passez NULL, GraphX n'appelera plus aucune fonction lorsque l'utilisateur pressera une touche.

Retour

void
cette fonction ne renvoie rien.

Remarque :
Cette fonction fait partie des possibilités de programmation événementielle offertes par GraphX.
Elle ne doit jamais être appelée sans avoir préalablement initialisé GraphX avec GX_PowerOn.
Il n'est pas obligatoire de désactiver les interruptions automatiques numéros 1 et 5 pour garantir l'appel de la fonction function lors de l'appui sur une touche.