void annotate(picture pic=currentpicture, string title, string text,
             pair position)
{
 pic.add(new void(frame f, transform t) {
     position=t*position;
     label(f,"\special{!/pdfmark where
                {pop} {userdict /pdfmark /cleartomark load put} ifelse
                [/Rect["+(string) position.x+" 0 0 "+(string) position.y+"]
                /Subtype /Text
                /Name /Comment
                /Title ("+title+")
                /Contents ("+text+")
                /ANN pdfmark}");
   },true);
 draw(pic,position,invisible);
}