diff -r a9959afc29a3 -r 0820d8168cbb lemon/eps.cc --- a/lemon/eps.cc Wed Mar 15 09:45:10 2006 +0000 +++ b/lemon/eps.cc Wed Mar 15 09:45:59 2006 +0000 @@ -298,4 +298,66 @@ return *this; } + EpsDrawer &EpsDrawer::node(NodeShapes t, double x, double y, double r, + Color col, Color brd) + { + out << "gsave\n" + << brd.red() << ' ' << brd.green() << ' ' << brd.blue() + << " setrgbcolor\n"; + switch(t) { + case CIRCLE: + out << "newpath " << x << ' ' << y << ' ' << r + << " dup 3 index add 2 index moveto 0 360 arc fill\n"; + break; + case SQUARE: + out << "newpath\n" + << x-r << ' ' << y-r << " moveto\n" + << x-r << ' ' << y+r << " lineto\n" + << x+r << ' ' << y+r << " lineto\n" + << x+r << ' ' << y-r << " lineto closepath fill\n"; + break; + case DIAMOND: + out << "newpath\n" + << x-r << ' ' << y << " moveto\n" + << x << ' ' << y+r << " lineto\n" + << x+r << ' ' << y << " lineto\n" + << x << ' ' << y-r << " lineto closepath fill\n"; + break; + case MALE: + break; + case FEMALE: + break; + } + r/=1.1; + out << col.red() << ' ' << col.green() << ' ' << col.blue() + << " setrgbcolor\n"; + switch(t) { + case CIRCLE: + out << "newpath " << x << ' ' << y << ' ' << r + << " dup 3 index add 2 index moveto 0 360 arc fill\n"; + break; + case SQUARE: + out << "newpath\n" + << x-r << ' ' << y-r << " moveto\n" + << x-r << ' ' << y+r << " lineto\n" + << x+r << ' ' << y+r << " lineto\n" + << x+r << ' ' << y-r << " lineto closepath fill\n"; + break; + case DIAMOND: + out << "newpath\n" + << x-r << ' ' << y << " moveto\n" + << x << ' ' << y+r << " lineto\n" + << x+r << ' ' << y << " lineto\n" + << x << ' ' << y-r << " lineto closepath fill\n"; + break; + case MALE: + break; + case FEMALE: + break; + } + + out << "grestore\n"; + return *this; + } + }