fill, setFillMode, getFillMode

Définition Utilisation Exemple Côté technique
 

fill(x, y, couleur);
Remplit une zone avec la couleur spécifiée
Paramètres passés:
x,y: coordonnés du point de départ du remplissage
couleur: couleur de remplissage
Valeur retournée:
aucune

 

setFillMode(mode);
Choisit le mode de remplissage
Paramètres passés:
COCCINELLE pour le mode Coccinelle, STAR pour le mode Star
Valeur retournée:
aucune

 

getFillMode(mode);
Retourne le mode de remplissage
Paramètres passés:aucun

Valeur retournée:
COCCINELLE pour le mode Coccinelle, STAR pour le mode Star

 

fillMode
Mode actuel
Accès: lecture seule

 

#define COCCINELLE true
#define STAR false

Constantes pour setFillMode()

 

Mode de remplissage:
← Par défaut, le mode de remplissage est dit COCCINELLE, et fill() s'arrête de remplir si la couleur n'est plus la couleur pointée au départ. Cela permet par exemple de changer une couleur que l'on ne connaît pas forcément par une autre. C'est le mode utilisé par Paint de window. Je peux changer la couleur du dos de ma coccinelle (le dessin, pas la voiture!) en démarrant sur du rouge.
→ Si j'avais le dessin de droite et que je désire remplir l'étoile blanche en partant de son centre, cela remplirait de blanc la partie orangée, mais pas le reste.
← Si on définit le mode de remplissage STAR fill() s'arrête de remplir si on atteint la couleur de remplissage. En remplissant l'étoile blanche, en partant du centre, fill() s'arrêtera bien au bord de l'étoile.
→ Par contre pour la coccinelle ce mode ne permet pas de changer la couleur du dos en vert. Si on pointe dessus, comme il n'y a pas de bordure verte, fill() remplira tout l'écran.

Quand j'ai dessiné la coccinelle, j'ai fait une bordure rouge pour délimiter le dos. Pour la remplir, les deux modes fonctionnent. Il en est de même avec la tête et les points noirs (un cercle et un remplissage) car les cercles ne se superposent pas.

 

Exemples d'utilisation:
circle(100, 100, 10, RED); Trace un cercle rouge vide (juste la bordure)

circle(100, 100, 10, RED); fill(100, 100, RED); Trace un cercle rouge plein

arc(100, 100, 10, DEPART_NORD+ARRIVEE_SUD, RED); fill(100, 100, RED); Remplit tout l'écran car la figure n'est pas fermée. On ne peut que s'arrêter sur les bords.

setFillMode(COCCINELLE); Remplira en mode Coccinelle.

fillMode=COCCINELLE; Identique à la ligne du dessus.

setFillMode(STAR); Remplira en mode Star.

Le remplissage se limite à la partie qui tient dans l'écran et qui tient dans les limites données par la fonction setLimites()

 

Voir aussi:
- setLimites(); Limite la zone de dessin
- setDrawInverse(); Choix du mode dessin ou inversion
- RGBcolor(); Transforme un triplet RGB en un code couleur
- BLACK, WHITE, ...: Constantes couleurs
- rect(); Trace les bords d'un cadre
- fillRect(); Trace une boîte pleine
- circle(); Trace un cercle