1 setlinewidth %% epaisseur du trait
%% definition d'une macro executable a 2 arguments
%% syntaxe : largeur longueur rectangle --> produit un rectangle de
%% coin inferieur droit le point (0, 0)
/rectangle {
2 dict begin %% definition d'un nouveau dictionnaire a 2 variables
newpath %% nouveau chemin
/longueur exch def
/largeur exch def
0 0 moveto %% deplacement
0 largeur rlineto %% deplacement relatif
longueur 0 rlineto %% deplacement relatif
0 largeur neg rlineto %% deplacement relatif
closepath %% fermeture du chemin
stroke %% encrage
end %% on jette le dictionnaire ==> les 2
%% variables sont locales
} def
gsave %% sauvegarde de l'etat graphique
10 10 translate %% deplacement
30 30 rectangle %% dessin du rectangle
grestore %% restauration de l'etat graphique
gsave %% sauvegarde de l'etat graphique
2 setlinewidth %% epaisseur du trace
50 50 translate %% deplacement
30 60 rectangle %% dessin du rectangle
grestore %% restauration de l'etat graphique
|