-+-+-+-+-+-+-+-+ START OF PART 54 -+-+-+-+-+-+-+-+ X/horiz 60 def /vert 60 def /d45w 60 def /d135w 60 def /horizw X 60 def /vertw 60 def end X/BBox 10 dict def BBox begin /.notdef `5B0 0 0 0 `5D def /cross `5B0 0 59 59 V `5D def /d45 `5B0 0 59 59 `5D def X/d135 `5B0 0 59 59 `5D def /horiz `5B0 0 60 60 `5D def /vert `5B0 0 60 X 60 `5D def X/d45w `5B0 0 59 59 `5D def /d135w `5B0 0 59 59 `5D def X/horizw `5B0 0 60 60 `5D def /vertw `5B0 0 60 60 `5D def end X/CharacterDefs 10 dict def CharacterDefs begin /.notdef `7B`7D def X/horiz `7B0 15 59 `7Bdup newpath 0 exch moveto 60 exch lineto stroke X `7D for `7D def X/horizw `7B0 30 59 `7Bdup newpath 0 exch moveto 60 exch lineto stroke X `7D for `7D def X/vert `7B0 15 59 `7Bdup newpath 0 moveto 60 lineto stroke `7D for `7D def X/vertw `7B0 30 59 `7Bdup newpath 0 moveto 60 lineto stroke `7D for X `7D def X/d45 `7B15 15 59 `7Bdup newpath 0 exch moveto dup 59 exch sub 59 X lineto stroke Xdup 0 moveto 59 exch 59 exch sub lineto stroke `7D for newpath X 0 0 moveto 59 59 lineto stroke `7D def X/d135 `7B15 15 59 `7Bdup newpath 59 exch moveto dup 59 lineto stroke Xdup 59 exch sub 0 moveto 0 exch 59 exch sub lineto stroke `7D for X newpath 0 59 moveto 59 0 lineto stroke `7D def X/d45w `7B30 30 59 `7Bdup newpath 0 exch moveto dup 59 exch sub 59 X lineto stroke Xdup 0 moveto 59 exch 59 exch sub lineto stroke `7D for newpath 0 0 moveto 59 V 59 X lineto stroke `7D def X/d135w `7B 30 30 59 `7Bdup newpath 59 exch moveto dup 59 lineto stroke Xdup 59 exch sub 0 moveto 0 exch 59 exch sub lineto stroke `7D for X newpath 0 59 moveto 59 0 lineto stroke `7D def X/cross `7B 20 20 59 `7Bdup newpath 0 exch moveto dup 59 exch sub X 59 lineto stroke Xdup 0 moveto 59 exch 59 exch sub lineto stroke `7D for newpath X 0 0 moveto 59 59 lineto stroke X20 20 59 `7Bdup newpath 59 exch moveto dup 59 lineto stroke dup X 59 exch sub 0 moveto 0 exch 59 exch sub lineto stroke `7D for Xnewpath 0 59 moveto 59 0 lineto stroke `7D def end X/BuildChar `7B0 begin /char exch def /fontdict exch def /charname X fontdict /Encoding get char get def Xfontdict begin Metrics charname get 0 BBox charname get aload X pop setcachedevice `5B`5D 0 setdash 1 setlinewidth XCharacterDefs charname get exec end end `7D def /BuildChar load X 0 3 dict put Xend /DEC_VAXGFX_Hatchstyles exch definefont pop X/Currenthatch 1 string def X10 dict dup begin /FontType 3 def /FontMatrix `5B.001 0 0 .001 0 0 `5D def / VEncoding 256 array X def X/FontBBox `5B-500 -500 500 500`5D def 0 1 255 `7B Encoding exch /.notdef X put `7D for XEncoding dup 48 /dot put dup 49 /plus put dup 50 /star put dup X 51 /circle put dup 52 /cross put dup 53 /triangleup put Xdup 54 /square put dup 55 /diamond put dup 56 /triangledown put X dup 57 /bowtie put dup 58 /hourglass put Xdup 59 /solidtriangledown put dup 60 /solidtriangleup put dup X 61 /solidsquare put dup 62 /soliddiamond put Xdup 63 /solidcircle put dup 64 /solidhourglass put 65 /solidbowtie put X/Metrics 19 dict def Metrics begin /.notdef 0 def /dot 0 def X /plus 0 def /star 0 def X/circle 0 def /cross 0 def /triangleup 0 def /square 0 def /diamond X 0 def /triangledown 0 def X/bowtie 0 def /hourglass 0 def /solidtriangleup 0 def /solidtriangledown 0 d Vef /solidsquare 0 def X/soliddiamond 0 def /solidcircle 0 def /solidhourglass 0 def X /solidbowtie 0 def end X/BBox 19 dict def BBox begin /.notdef `5B0 0 0 0 `5D def /dot `5B-20 X -20 20 20 `5D def X/plus `5B-500 -500 500 500 `5D def /star `5B-500 -500 500 500 `5D def /circl Ve `5B-500 -500 500 500 `5D def /cross X `5B-500 -500 500 500 `5D def X/triangleup `5B-500 -433 500 433`5D def /square `5B-500 -500 500 500`5D X def /diamond `5B-500 -500 500 500`5D def X/triangledown `5B-500 -433 500 433`5D def /solidtriangleup `5B-500 X -433 500 433`5D def /solidtriangledown `5B-500 -433 500 433`5D def X/solidsquare `5B-500 -500 500 500`5D def /soliddiamond `5B-500 -500 X 500 500`5D def /solidcircle `5B-500 -500 500 500`5D def X/hourglass `5B-500 -500 500 500`5D def /solidhourglass `5B-500 -500 X 500 500`5D def /bowtie `5B-500 -500 500 500`5D def X/solidbowtie `5B-500 -500 500 500`5D def end X/CharacterDefs 19 dict def CharacterDefs begin /.notdef `7B`7D def X/dot `7B newpath 0 0 moveto 0 0 rlineto pixel_matrix setmatrix X 2 setlinewidth 1 setlinecap stroke `7D def X/plus `7B newpath 0 500 moveto 0 -500 lineto 500 0 moveto -500 0 lineto Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/star `7B newpath 0 500 moveto 0 -500 lineto 500 0 moveto -500 X 0 lineto 350 350 moveto -350 -350 lineto 350 -350 moveto X-350 350 lineto pixel_matrix setmatrix 1 setlinewidth stroke `7D def X/circle `7B newpath 0 0 500 0 360 arc closepath pixel_matrix setmatrix X 1 setlinewidth stroke `7D def X/solidcircle `7B newpath 0 0 500 0 360 arc closepath fill`7D def X/cross `7B newpath 500 500 moveto -500 -500 lineto 500 -500 moveto X -500 500 lineto Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/square `7B newpath -500 -500 moveto 500 -500 lineto 500 500 lineto X -500 500 lineto closepath Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/solidsquare `7B newpath -500 -500 moveto 500 -500 lineto 500 500 lineto -50 V0 500 lineto closepath fill`7D def X/diamond `7B newpath 0 -500 moveto 500 0 lineto 0 500 lineto -500 X 0 lineto closepath Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/soliddiamond `7B newpath 0 -500 moveto 500 0 lineto 0 500 lineto X -500 0 lineto closepath fill `7Ddef X/triangleup `7B newpath -500 -433 moveto 500 -433 lineto 0 433 X lineto closepath pixel_matrix setmatrix 1 setlinewidth stroke X `7Ddef X/solidtriangleup `7B newpath -500 -433 moveto 500 -433 lineto 0 X 433 lineto closepath fill `7Ddef X/triangledown `7B newpath -500 433 moveto 500 433 lineto 0 -433 lineto X closepath Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/solidtriangledown `7B newpath -500 433 moveto 500 433 lineto 0 X -433 lineto closepath fill `7D def X/hourglass `7B newpath 500 500 moveto -500 500 lineto 500 -500 lineto -500 - V500 lineto closepath Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/bowtie `7B newpath 500 500 moveto 500 -500 lineto -500 500 lineto X -500 -500 lineto closepath Xpixel_matrix setmatrix 1 setlinewidth stroke `7D def X/solidhourglass `7B newpath 500 500 moveto -500 500 lineto 500 -500 X lineto -500 -500 lineto closepath fill `7D def X/solidbowtie `7B newpath 500 500 moveto 500 -500 lineto -500 500 X lineto -500 -500 lineto closepath fill `7D def end X/BuildChar `7B 0 begin /char exch def /fontdict exch def /charname fontdict V /Encoding get char get def Xfontdict begin Metrics charname get 0 BBox charname get aload X pop setcachedevice CharacterDefs charname get exec Xend end `7D def /BuildChar load 0 3 dict put Xend /DEC_VAXGFX_Markers exch definefont pop Xsystemdict /setpacking known `7B/savepacking currentpacking def X true setpacking `7Dif X/m `7Bmoveto`7D bind def X/nmr `7B newpath gsave translate rotate 0 0 moveto `7D bind def X/sfnt `7B findfont exch scalefont setfont `7D bind def X/mfnt `7B findfont exch makefont setfont `7D bind def X/dh `7Bmark exch `7BCurrenthatch cvs pop eoclip newpath Xpixel_matrix setmatrix /DEC_VAXGFX_Hatchstyles findfont 60 scalefont X setfont clippath pathbbox newpath X4 2 roll 60 div floor exch 60 div floor exch 60 mul /y0 exch def dup /x1 exc Vh def X60 mul /x0 exch def x0 y0 moveto 60 div ceiling 60 mul exch 60 X div ceiling x1 sub cvi /nc exch def Xy0 exch 60 exch `7Bnc `7BCurrenthatch show `7Drepeat x0 exch moveto X `7Dfor `7D Xstopped pop cleartomark grestore `7Dbind def X/pl `7B moveto `7B rlineto `7D repeat stroke `7D bind def X /l `7B lineto `7D bind def /ls `7B lineto stroke `7D bind def /mls `7B X moveto rlineto stroke `7D bind def`20 X/n `7B newpath `7D bind def X/pth `7B`7Brlineto`7D repeat`7D bind def X/cry `7B /y0 exch def /x0 exch def /e1 (Cell array reached end-of-file) def V /t1 x0 7 add 8 div cvi string def Xx0 y0 1 `5B x0 0 0 y0 neg 0 y0 `5D `7B currentfile t1 readhexstring X not `7B e1 print `7D if `7D image `7D bind def X/vshow `7B /s1 exch def /y1 exch def /x1 exch def s1 0 1 getinterval X /t1 exch def t1 stringwidth 2 div exch 2 div exch rmoveto Xs1 `7B t1 exch 0 exch put gsave t1 stringwidth -2 div exch -2 div X exch rmoveto t1 show grestore Xx1 y1 rmoveto `7D forall newpath `7D bind def X/dpt `7Bmark 7 1 roll `7Beoclip /ph exch def /pw exch def newpath X moveto /t1 exch def rotate X/s1 90 t1 sub sin def `5B 1 0 t1 sin t1 cos div s1 mul s1 0 0 `5D concat cur Vrentpoint X /py exch def /px exch def Xclippath pathbbox newpath /y1 exch def /x1 exch def /y0 exch X def /x0 exch def X/x0 x0 px sub pw div floor pw mul px add def /y0 y0 py sub ph X div floor ph mul py add def X/nc x1 x0 sub pw div ceiling cvi def /nr y1 y0 sub ph div ceiling X cvi def X/x1 x0 pw nc mul add def /y1 y0 ph nr mul add def Xx0 y0 translate x1 x0 sub y1 y0 sub scale /x0 nc pcl mul def X /y0 nr prw mul def X/nc nc 1 sub def /nr prw 1 sub def /x1 0 def /y1 0 def x0 y0 8 `5B x0 0 0 y0 V neg 0 y0 `5D X`7Bpry y1 get x1 nc lt `7B/x1 x1 1 add def `7D`7B/x1 0 def y1 nr lt `7B/y1 X y1 1 add def `7D`7B/y1 0 def `7Difelse `7Difelse `7Dimage X`7Dstopped pop cleartomark grestore `7Dbind def X/rpt `7B /prw exch def /pcl exch def dup /s2 exch pcl mul 8 div X ceiling cvi string def /pry prw array def X8 eq `7B /f1 `7B pry nr get 0 s2 putinterval `7D def `7D `7B /f1 `7B /s1 X pry nr get def 0 1 pcl 1 sub X`7B /nc exch def s1 nc s2 nc 8 idiv get 1 7 nc 8 mod sub bitshift X and 0 eq `7B 0 `7D `7B 255 `7D ifelse put `7D for `7D def `7D ifelse X0 1 prw 1 sub `7B /nr exch def pry nr pcl string put currentfile s2 readhexs Vtring Xnot `7B (rpt reached end-of-file) print `7D if pop f1 `7D for `7D bind X def X/scl `7B /ccol exch def gray ccol get setgray `7D bind def X/sclrp `7B /t1 exch def gray exch t1 exch put t1 ccol eq `7B /ccol -1 def t1 V scl `7D if `7D bind def X/sm `7B /DEC_VAXGFX_Markers findfont exch scalefont /mf exch def X `7D def X/dm `7B mf setfont /mc exch def moveto mc show `7B rmoveto mc show X `7D repeat newpath `7D def X/om `7B mf setfont moveto show newpath `7D def Xsystemdict /setpacking known `7Bsavepacking setpacking `7Dif X/gray 2 array def X/ccol -1 def X1 0 sclrp X0 1 sclrp X1 scl X/dfl `7B eofill `7D def X1 setlinewidth Xsave /psl exch def Xsave /psl exch def Xinitclip 0 0 m 2314 0 l 2314 2314 l 0 2314 l clip n X0.000000 1 sclrp X1041 1388 m X0 -208 X-439 0 X-12 -12 X463 0 X0 232 X5 pth Xdfl X1041 1388 m X-439 0 X0 -208 X-12 -12 X0 232 X463 0 X5 pth Xdfl X1.000000 0 sclrp X0 scl X1492 1400 m X0 -208 X-439 0 X0 208 X3 pth Xdfl X439 0 X0 -208 X-439 0 X0 208 X4 1492 1400 pl X1 scl X0 -55 1080 1504 mls X0 19 X-9 -9 X9 -10 X9 10 X-9 9 X5 1080 1522 pl X18 0 1071 1531 mls X37 0 1135 1504 mls X0 73 X-9 9 X-18 0 X3 1181 1449 pl X18 18 X18 0 X19 -18 X0 -19 X-19 -18 X-18 0 X-18 18 X55 0 X8 1199 1486 pl X0 55 1273 1449 mls X0 -37 X9 -18 X9 0 X9 18 X4 1273 1486 pl X0 -37 X10 -18 X9 0 X9 18 X4 1300 1486 pl X0 -92 X10 19 X2 1437 1522 pl X37 0 1428 1449 mls X1041 1157 m X0 -209 X-439 0 X-12 -11 X463 0 X0 231 X5 pth Xdfl X1041 1157 m X-439 0 X0 -209 X-12 -11 X0 231 X463 0 X5 pth Xdfl X1492 1168 m X0 -209 X-439 0 X0 209 X3 pth Xdfl X0 scl X439 0 X0 -209 X-439 0 X0 209 X4 1492 1168 pl X0 -55 1080 1273 mls X0 18 X-9 -9 X9 -9 X9 9 X-9 9 X5 1080 1291 pl X18 0 1071 1300 mls X37 0 1135 1273 mls X0 73 X-9 9 X-18 0 X3 1181 1218 pl X18 18 X18 0 X19 -18 X0 -18 X-19 -19 X-18 0 X-18 19 X55 0 X8 1199 1254 pl X0 55 1273 1218 mls X0 -36 X9 -19 X9 0 X9 19 X4 1273 1254 pl X0 -36 X10 -19 X9 0 X9 19 X4 1300 1254 pl X55 0 X-9 -27 X-9 -9 X-28 -9 X-9 -10 X0 -18 X18 -18 X19 0 X18 18 X9 1419 1291 pl X1 scl X1041 926 m X0 -208 X-439 0 X-12 -12 X463 0 X0 231 X5 pth Xdfl X1041 926 m X-439 0 X0 -208 X-12 -12 X0 231 X463 0 X5 pth Xdfl X0 scl X1492 937 m X0 -208 X-439 0 X0 208 X3 pth Xdfl X439 0 X0 -208 X-439 0 X0 208 X4 1492 937 pl X1 scl X0 -55 1080 1041 mls X0 18 X-9 -9 X9 -9 X9 9 X-9 9 X5 1080 1060 pl X18 0 1071 1069 mls X37 0 1135 1041 mls X0 74 X-9 9 X-18 0 X3 1181 986 pl X18 19 X18 0 X19 -19 X0 -18 X-19 -18 X-18 0 X-18 18 X55 0 X8 1199 1023 pl X0 55 1273 986 mls X0 -37 X9 -18 X9 0 X9 18 X4 1273 1023 pl X0 -37 X10 -18 X9 0 X9 18 X4 1300 1023 pl X-18 19 X-19 0 X-18 -19 X0 -18 X9 -18 X18 0 X19 9 X-46 -46 X55 0 X9 1419 1078 pl X1041 694 m X0 -208 X-439 0 X-12 -12 X463 0 X0 232 X5 pth Xdfl X1041 694 m X-439 0 X0 -208 X-12 -12 X0 232 X463 0 X5 pth Xdfl X0 scl X1492 706 m X0 -208 X-439 0 X0 208 X3 pth Xdfl X439 0 X0 -208 X-439 0 X0 208 X4 1492 706 pl X1 scl X0 -55 1080 810 mls X0 18 X-9 -9 X9 -9 X9 9 X-9 9 X5 1080 828 pl X18 0 1071 837 mls X37 0 1135 810 mls X0 73 X-9 9 X-18 0 X3 1181 755 pl X18 18 X18 0 X19 -18 X0 -19 X-19 -18 X-18 0 X-18 18 X55 0 X8 1199 792 pl X0 55 1273 755 mls X0 -37 X9 -18 X9 0 X9 18 X4 1273 792 pl X0 -37 X10 -18 X9 0 X9 18 X4 1300 792 pl X0 -73 1465 828 mls X55 0 X-37 -45 X2 1456 846 pl Xshowpage Xpsl restore Xend DEC_VAXGFX_save restore X%%EndDocument X 710 -33 a X endTexFig X541 885 a Fq(Figure)10 b(8.3:)15 b(Box)c(menu)g(with)g(item)g(2)g X(highlighted.)0 1018 y Fr(8.4)59 b(Menu)17 b(selection)0 1140 Xy Fq(Menu)11 b(items)f(may)h(be)g(selected)h(using)d(information)g(from)h X(three)h(dif)o(ferent)f(input)f(devices)i(\261)f(pick,)h(locator)f(and)h X(string.)j(The)0 1190 y(application)f(is)g(completely)h(responsible)f(for)h X(initializing)d(and)j(retrieving)e(data)j(from)f(the)f(input)g(devices.)24 Xb(The)15 b(required)0 1240 y(data)d(is)f(then)g(passed)h(to)e(the)i X(appropriate)e(function)g(to)g(check)j(for)d(menu)i(input.)64 X1360 y Fl(\267)21 b Fq(Locator)n(.)15 b(When)c(using)e(the)h(locator)g X(device)h(a)g(measure)h(of)e(the)g(cursor)g(position)e(within)h(the)h(menu)h X(item)f(is)g(returned.)104 1410 y(The)i(measure)i(is)e(a)g(value)g(in)f(x)h X(and)g(y)g(between)g(0.0)g(and)g(1.0)g(and)g(is)g(relative)g(to)f(the)h X(lower)f(left)h(corner)g(of)g(the)f(item)104 1460 y(bounding)e(box.)64 X1543 y Fl(\267)21 b Fq(String.)i(String)13 b(input)f(can)j(only)e(be)i(used) Vf X(when)h(the)f(menu)g(item)g(contains)g(a)h(text)f(output)e(primitive.)23 Xb(The)15 b(string)104 1593 y(comparison)c(is)g(case)i(sensitive.)64 X1676 y Fl(\267)21 b Fq(Pick.)i(The)15 b(name)g(used)f(in)f(the)h(menu)g(for) Vf X(picking)g(is)h(generated)g(by)g(the)f(string)g(\252menu$name)p +-+-+-+-+-+-+-+- END OF PART 54 +-+-+-+-+-+-+-+-