%%% --------------------------------------------------------------------------
%%% 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