%%% --------------------------------------------------------------------------
 %%% Transparence
 %%% --------------------------------------------------------------------------
 
 color pGct; pGct := blue; pGat := 0.25;
 picture pGAPict; pGAPict := nullpicture;
 
 def colorie (expr c, couleur,alpha) =
     pGct := couleur; pGat := alpha;
     pGAPict := nullpicture;
     pGAPicture(currentpicture,c);
     addto currentpicture also pGAPict;
 enddef;
 
 vardef pGAPicture(expr p,c) =
     save p_; picture p_;
     p_ := nullpicture;
     addto p_ contour c withcolor pGat[background,pGct];
     for p__ within p:
 	if (not clipped p__) and (not bounded p__):
 	    addto p_ also p__ withcolor
 	    pGat[(redpart p__,greenpart p__,bluepart p__), pGct];
 	else:
 	    begingroup save pGAPict;
 	    picture pGAPict; pGAPict = nullpicture;
 	    pGAPicture(p__,pathpart p__);
 	    addto p_ also pGAPict;
 	    endgroup;
 	fi
     endfor;
     clip p_ to c;
     addto pGAPict also p_;
 enddef;
 endinput