Définition | Utilisation | Exemple | Côté technique | ||
void arc(int x, int y, int rayon, byte debut_fin, word couleur);
En mode NORMAL, dessine l'arc avec la couleur spécifiée si présente, ou avec la dernière couleur utilisée par point(), rect(), circle(),... si le paramètre couleur n'est pas passé. La nouvelle couleur est mémorisée pour les prochains tracés graphiques. En mode INVERSE, cette fonction inverse la couleur sans tenir compte de la couleur éventuellement passée en paramètre; la nouvelle couleur du point n'est pas mémorisée. Cette fonction n'est définie que parce qu'elle est utile pour dessiner les caractères. C'est pour cela que l'angle n'est pas en degré. N'est dessiné que la partie qui tient dans l'écran et qui tient dans les limites données par la fonction setLimites()
Choix du début et de la fin du tracé, avec des noms : Le paramètre debut_fin définit le début et la fin de l'arc. Le paramètre s'obtient en ajoutant deux constantes, une DEPART_????? et une ARRIVEE_????. Les ???? sont à remplacer par NORD, NORD_EST, EST, SUD_EST, SUD, SUD_OUEST, OUEST ou NORD_OUEST Le tracé se fait à partir du point de départ jusqu'au point d'arrivé dans le sens horaire. Pour tracer un cercle complet, il faut que les points de départs et d'arrivée soient les mêmes, par exemple DEPART_EST+ARRIVEE_EST... Mais cela a peu d'intérêt, on peut utiliser la fonction circle()! Le tracé de cercle utilise cette fonction: circle(x,y,rayon,couleur) fait appel à arc(x, y, rayon, DEPART_NORD+ARRIVEE_NORD, couleur).
Choix du début et de la fin du tracé, avec un mot binaire : Le paramètre debut_fin définit le début et la fin de l'arc. Chacun de ces deux informations est codé sur 3 bits: Le tracé se fait à partir du point de départ jusqu'au point d'arrivé dans le sens horaire. Il est bien pratique d'exprimer ce paramètre en hexadécimal (on met 0x devant les deux valeurs).
Pour tracer un cercle complet, il faut que les points de départs et d'arrivée soient les mêmes, par exemple 0x22, 0x66... Il est
simple alors de donner 0x00 soit tout simplement 0! Le tracé de cercle utilise cette fonction: circle(x,y,rayon,couleur) fait appel à
arc(x,y,rayon,0,couleur).
Voir aussi: |