* version 1.02 of marks.ellipse 1996 Mar 24 u%{ /ellipse { % x1 y1 x2 y2 xwidth ywidth % define an ellipse % centered at the average point of (x1, y1) and (x2, y2) % with x and y axes defined in bases and bits respectively % and xwidth wide, ywidth "high" /ywidth exch def % in bits /xwidth exch def % in bases /y2 exch def % in bits /x2 exch def % in bases /y1 exch def % in bits /x1 exch def % in bases gsave x1 x2 add 2 div y1 y2 add 2 div translate % xwidth charwidth 2 div mul % bases wide ywidth barheight 2 div 2 div mul % bits high scale % 0 0 % position 1 % radius 0 360 arc % arc of complete circle closepath fill grestore } def ! u%{ /thin.bar { % x1 y1 x2 y2 xwidth ywidth % define a bar % centered at the average point of (x1, y1) and (x2, y2) % with x and y axes defined in bases and bits respectively % and xwidth wide, ywidth "high" /ywidth exch def % in bits /xwidth exch def % in bases /y2 exch def % in bits /x2 exch def % in bases /y1 exch def % in bits /x1 exch def % in bases gsave x1 x2 add 2 div y1 y2 add 2 div translate % xwidth charwidth 2 div mul % bases wide ywidth barheight 2 div 2 div mul % bits high scale % 1 0 0 setrgbcolor newpath -1 -1 moveto +1 -1 lineto +1 +1 lineto -1 +1 lineto -1 -1 lineto closepath fill grestore } def ! * example: 1 base wide and 1 bit high: * U -12.0 1.00 -12.0 2.0 1.0 1.0 ellipse