Bottom
shape main
{
setfixedregion(0,80,0,100);
startpath();
moveto(100,90);
setfixedregion(0,0,0,20);
arcto(0,00,100,20,100,10,0,10);
setfixedregion(0,80,0,100);
lineto(0,90);
endpath();
FillAndStrokePath();
ellipse(0,80,100,100);
}
Left
shape main
{
setfixedregion(0,0,20,0);
startpath();
moveto(10,100);
setfixedregion(80,0,100,0);
arcto(80,0,100,100,90,100,90,0);
setfixedregion(0,0,20,0);
lineto(10,0);
endpath();
FillAndStrokePath();
ellipse(0,0,20,100);
}
Right
shape main
{
setfixedregion(80,0,100,0);
startpath();
moveto(90,0);
setfixedregion(0,0,20,0);
arcto(0,0,20,100,10,0,10,100);
setfixedregion(80,0,100,0);
lineto(90,100);
endpath();
FillAndStrokePath();
ellipse(80,0,100,100);
}
Note: I removed the redundant lineto from before arcto in these scripts.
I just noticed that the arc portion of the script doesn't appear to obey the fixed region. To get it working nicely you would convert the scripts to use two bezier sections.