%! %%BoundingBox: (atend) %%Pages: (atend) %%DocumentFonts: (atend) %%EndComments %%BeginProlog % % FrameMaker postscript_prolog 3.0, for use with FrameMaker 3.0 % This postscript_prolog file is Copyright (c) 1986-1991 Frame Technology % Corporation. All rights reserved. This postscript_prolog file may be % freely copied and distributed in conjunction with documents created using % FrameMaker. % NOTE % This file fixes the problem with NeWS printers dithering color output. % Any questions should be sent to mickey@magickingdom.eng.sun.com % % Known Problems: % Due to bugs in Transcript, the 'PS-Adobe-' is omitted from line 1 /FMversion (3.0) def % Set up Color vs. Black-and-White /FMPrintInColor { % once-thru loop gimmick % See if we're a NeWSprint printer /currentcanvas where { pop systemdict /separationdict known exit } if % originally had the following, which should always be false: % /currentcanvas where { % pop currentcanvas /Color known { % currentcanvas /Color get % exit % } if % } if systemdict /colorimage known systemdict /currentcolortransfer known and exit } loop def % Uncomment the following line to force b&w on color printer % /FMPrintInColor false def /FrameDict 195 dict def systemdict /errordict known not {/errordict 10 dict def errordict /rangecheck {stop} put} if % The readline in 23.0 doesn't recognize cr's as nl's on AppleTalk FrameDict /tmprangecheck errordict /rangecheck get put errordict /rangecheck {FrameDict /bug true put} put FrameDict /bug false put mark % Some PS machines read past the CR, so keep the following 3 lines together! currentfile 5 string readline 00 0000000000 cleartomark errordict /rangecheck FrameDict /tmprangecheck get put FrameDict /bug get { /readline { /gstring exch def /gfile exch def /gindex 0 def { gfile read pop dup 10 eq {exit} if dup 13 eq {exit} if gstring exch gindex exch put /gindex gindex 1 add def } loop pop gstring 0 gindex getinterval true } def } if /FMVERSION { FMversion ne { /Times-Roman findfont 18 scalefont setfont 100 100 moveto (FrameMaker version does not match postscript_prolog!) dup = show showpage } if } def /FMLOCAL { FrameDict begin 0 def end } def /gstring FMLOCAL /gfile FMLOCAL /gindex FMLOCAL /orgxfer FMLOCAL /orgproc FMLOCAL /organgle FMLOCAL /orgfreq FMLOCAL /yscale FMLOCAL /xscale FMLOCAL /manualfeed FMLOCAL /paperheight FMLOCAL /paperwidth FMLOCAL /FMDOCUMENT { array /FMfonts exch def /#copies exch def FrameDict begin 0 ne dup {setmanualfeed} if /manualfeed exch def /paperheight exch def /paperwidth exch def /yscale exch def /xscale exch def currenttransfer cvlit /orgxfer exch def currentscreen cvlit /orgproc exch def /organgle exch def /orgfreq exch def setpapername manualfeed {true} {papersize} ifelse {manualpapersize} {false} ifelse {desperatepapersize} if end } def /pagesave FMLOCAL /orgmatrix FMLOCAL /landscape FMLOCAL /FMBEGINPAGE { FrameDict begin /pagesave save def 3.86 setmiterlimit /landscape exch 0 ne def landscape { 90 rotate 0 exch neg translate pop } {pop pop} ifelse xscale yscale scale /orgmatrix matrix def gsave } def /FMENDPAGE { grestore pagesave restore end showpage } def /FMFONTDEFINE { FrameDict begin findfont ReEncode 1 index exch definefont FMfonts 3 1 roll put end } def /FMFILLS { FrameDict begin array /fillvals exch def end } def /FMFILL { FrameDict begin fillvals 3 1 roll put end } def /FMNORMALIZEGRAPHICS { newpath 0.0 0.0 moveto 1 setlinewidth 0 setlinecap 0 0 0 sethsbcolor 0 setgray } bind def /fx FMLOCAL /fy FMLOCAL /fh FMLOCAL /fw FMLOCAL /llx FMLOCAL /lly FMLOCAL /urx FMLOCAL /ury FMLOCAL /FMBEGINEPSF { end /FMEPSF save def /showpage {} def FMNORMALIZEGRAPHICS [/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall fx fy translate rotate fw urx llx sub div fh ury lly sub div scale llx neg lly neg translate } bind def /FMENDEPSF { FMEPSF restore FrameDict begin } bind def FrameDict begin /setmanualfeed { %%BeginFeature *ManualFeed True statusdict /manualfeed true put %%EndFeature } def /max {2 copy lt {exch} if pop} bind def /min {2 copy gt {exch} if pop} bind def /inch {72 mul} def /pagedimen { paperheight sub abs 16 lt exch paperwidth sub abs 16 lt and {/papername exch def} {pop} ifelse } def /papersizedict FMLOCAL /setpapername { /papersizedict 14 dict def papersizedict begin /papername /unknown def /Letter 8.5 inch 11.0 inch pagedimen /LetterSmall 7.68 inch 10.16 inch pagedimen /Tabloid 11.0 inch 17.0 inch pagedimen /Ledger 17.0 inch 11.0 inch pagedimen /Legal 8.5 inch 14.0 inch pagedimen /Statement 5.5 inch 8.5 inch pagedimen /Executive 7.5 inch 10.0 inch pagedimen /A3 11.69 inch 16.5 inch pagedimen /A4 8.26 inch 11.69 inch pagedimen /A4Small 7.47 inch 10.85 inch pagedimen /B4 10.125 inch 14.33 inch pagedimen /B5 7.16 inch 10.125 inch pagedimen end } def /papersize { papersizedict begin /Letter {lettertray letter} def /LetterSmall {lettertray lettersmall} def /Tabloid {11x17tray 11x17} def /Ledger {ledgertray ledger} def /Legal {legaltray legal} def /Statement {statementtray statement} def /Executive {executivetray executive} def /A3 {a3tray a3} def /A4 {a4tray a4} def /A4Small {a4tray a4small} def /B4 {b4tray b4} def /B5 {b5tray b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end /FMdicttop countdictstack 1 add def statusdict begin stopped end countdictstack -1 FMdicttop {pop end} for } def /manualpapersize { papersizedict begin /Letter {letter} def /LetterSmall {lettersmall} def /Tabloid {11x17} def /Ledger {ledger} def /Legal {legal} def /Statement {statement} def /Executive {executive} def /A3 {a3} def /A4 {a4} def /A4Small {a4small} def /B4 {b4} def /B5 {b5} def /unknown {unknown} def papersizedict dup papername known {papername} {/unknown} ifelse get end stopped } def /desperatepapersize { statusdict /setpageparams known { paperwidth paperheight 0 1 statusdict begin {setpageparams} stopped pop end } if } def /savematrix { orgmatrix currentmatrix pop } bind def /restorematrix { orgmatrix setmatrix } bind def /dmatrix matrix def /dpi 72 0 dmatrix defaultmatrix dtransform dup mul exch dup mul add sqrt def /freq dpi 18.75 div 8 div round dup 0 eq {pop 1} if 8 mul dpi exch div def /sangle 1 0 dmatrix defaultmatrix dtransform exch atan def /DiacriticEncoding [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quotesingle /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis /dagger /.notdef /cent /sterling /section /bullet /paragraph /germandbls /registered /copyright /trademark /acute /dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef /yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown /exclamdown /logicalnot /.notdef /florin /.notdef /.notdef /guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde /Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand /Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron ] def /ReEncode { dup length dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall 0 eq {/Encoding DiacriticEncoding def} if currentdict end } bind def /graymode true def /bwidth FMLOCAL /bpside FMLOCAL /bstring FMLOCAL /onbits FMLOCAL /offbits FMLOCAL /xindex FMLOCAL /yindex FMLOCAL /x FMLOCAL /y FMLOCAL /setpattern { /bwidth exch def /bpside exch def /bstring exch def /onbits 0 def /offbits 0 def freq sangle landscape {90 add} if {/y exch def /x exch def /xindex x 1 add 2 div bpside mul cvi def /yindex y 1 add 2 div bpside mul cvi def bstring yindex bwidth mul xindex 8 idiv add get 1 7 xindex 8 mod sub bitshift and 0 ne {/onbits onbits 1 add def 1} {/offbits offbits 1 add def 0} ifelse } setscreen {} settransfer offbits offbits onbits add div FMsetgray /graymode false def } bind def /grayness { FMsetgray graymode not { /graymode true def orgxfer cvx settransfer orgfreq organgle orgproc cvx setscreen } if } bind def /HUE FMLOCAL /SAT FMLOCAL /BRIGHT FMLOCAL /Colors FMLOCAL FMPrintInColor { /HUE 0 def /SAT 0 def /BRIGHT 0 def % array of arrays Hue and Sat values for the separations [HUE BRIGHT] /Colors [[0 0 ] % black [0 0 ] % white [0.00 1.0] % red [0.37 1.0] % green [0.60 1.0] % blue [0.50 1.0] % cyan [0.83 1.0] % magenta [0.16 1.0] % comment / yellow ] def /BEGINBITMAPCOLOR { BITMAPCOLOR} def /BEGINBITMAPCOLORc { BITMAPCOLORc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUECOLOR } def /BEGINBITMAPTRUECOLORc { BITMAPTRUECOLORc } def /K { Colors exch get dup 0 get /HUE exch store 1 get /BRIGHT exch store HUE 0 eq BRIGHT 0 eq and {1.0 SAT sub setgray} {HUE SAT BRIGHT sethsbcolor} ifelse } def /FMsetgray { /SAT exch 1.0 exch sub store HUE 0 eq BRIGHT 0 eq and {1.0 SAT sub setgray} {HUE SAT BRIGHT sethsbcolor} ifelse } bind def } { /BEGINBITMAPCOLOR { BITMAPGRAY} def /BEGINBITMAPCOLORc { BITMAPGRAYc} def /BEGINBITMAPTRUECOLOR { BITMAPTRUEGRAY } def /BEGINBITMAPTRUECOLORc { BITMAPTRUEGRAYc } def /FMsetgray {setgray} bind def /K { pop } def } ifelse /normalize { transform round exch round exch itransform } bind def /dnormalize { dtransform round exch round exch idtransform } bind def /lnormalize { 0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop } bind def /H { lnormalize setlinewidth } bind def /Z { setlinecap } bind def /fillvals FMLOCAL /X { fillvals exch get dup type /stringtype eq {8 1 setpattern} {grayness} ifelse } bind def /V { gsave eofill grestore } bind def /N { stroke } bind def /M {newpath moveto} bind def /E {lineto} bind def /D {curveto} bind def /O {closepath} bind def /n FMLOCAL /L { /n exch def newpath normalize moveto 2 1 n {pop normalize lineto} for } bind def /Y { L closepath } bind def /x1 FMLOCAL /x2 FMLOCAL /y1 FMLOCAL /y2 FMLOCAL /rad FMLOCAL /R { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 x2 y1 x2 y2 x1 y2 4 Y } bind def /RR { /rad exch def normalize /y2 exch def /x2 exch def normalize /y1 exch def /x1 exch def newpath x1 y1 rad add moveto x1 y2 x2 y2 rad arcto x2 y2 x2 y1 rad arcto x2 y1 x1 y1 rad arcto x1 y1 x1 y2 rad arcto closepath 16 {pop} repeat } bind def /C { grestore gsave R clip } bind def /FMpointsize FMLOCAL /F { FMfonts exch get FMpointsize scalefont setfont } bind def /Q { /FMpointsize exch def F } bind def /T { moveto show } bind def /RF { rotate 0 ne {-1 1 scale} if } bind def /TF { gsave moveto RF show grestore } bind def /P { moveto 0 32 3 2 roll widthshow } bind def /PF { gsave moveto RF 0 32 3 2 roll widthshow grestore } bind def /S { moveto 0 exch ashow } bind def /SF { gsave moveto RF 0 exch ashow grestore } bind def /B { moveto 0 32 4 2 roll 0 exch awidthshow } bind def /BF { gsave moveto RF 0 32 4 2 roll 0 exch awidthshow grestore } bind def /G { gsave newpath normalize translate 0.0 0.0 moveto dnormalize scale 0.0 0.0 1.0 5 3 roll arc closepath fill grestore } bind def /A { gsave savematrix newpath 2 index 2 div add exch 3 index 2 div sub exch normalize 2 index 2 div sub exch 3 index 2 div add exch translate scale 0.0 0.0 1.0 5 3 roll arc restorematrix stroke grestore } bind def /x FMLOCAL /y FMLOCAL /w FMLOCAL /h FMLOCAL /xx FMLOCAL /yy FMLOCAL /ww FMLOCAL /hh FMLOCAL /FMsaveobject FMLOCAL /FMoptop FMLOCAL /FMdicttop FMLOCAL /BEGINPRINTCODE { /FMdicttop countdictstack 1 add def /FMoptop count 4 sub def /FMsaveobject save def userdict begin /showpage {} def FMNORMALIZEGRAPHICS 3 index neg 3 index neg translate } bind def /ENDPRINTCODE { count -1 FMoptop {pop pop} for countdictstack -1 FMdicttop {pop end} for FMsaveobject restore } bind def /gn { 0 { 46 mul cf read pop 32 sub dup 46 lt {exit} if 46 sub add } loop add } bind def /str FMLOCAL /cfs { /str sl string def 0 1 sl 1 sub {str exch val put} for str def } bind def /ic [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223 0 {0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx} {10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx} {19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh} {4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh} {13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl} {7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl} {0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl} {10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl} ] def /sl FMLOCAL /val FMLOCAL /ws FMLOCAL /im FMLOCAL /bs FMLOCAL /cs FMLOCAL /len FMLOCAL /pos FMLOCAL /ms { /sl exch def /val 255 def /ws cfs /im cfs /val 0 def /bs cfs /cs cfs } bind def 400 ms /ip { is 0 cf cs readline pop { ic exch get exec add } forall pop } bind def /wh { /len exch def /pos exch def ws 0 len getinterval im pos len getinterval copy pop pos len } bind def /bl { /len exch def /pos exch def bs 0 len getinterval im pos len getinterval copy pop pos len } bind def /s1 1 string def /fl { /len exch def /pos exch def /val cf s1 readhexstring pop 0 get def pos 1 pos len add 1 sub {im exch val put} for pos len } bind def /hx { 3 copy getinterval cf exch readhexstring pop pop } bind def /h FMLOCAL /w FMLOCAL /d FMLOCAL /lb FMLOCAL /bitmapsave FMLOCAL /is FMLOCAL /cf FMLOCAL /wbytes { dup 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } bind def /BEGINBITMAPBWc { 1 {} COMMONBITMAPc } bind def /BEGINBITMAPGRAYc { 8 {} COMMONBITMAPc } bind def /BEGINBITMAP2BITc { 2 {} COMMONBITMAPc } bind def /COMMONBITMAPc { /r exch def /d exch def gsave translate rotate scale /h exch def /w exch def /lb w d wbytes def sl lb lt {lb ms} if /bitmapsave save def r /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def w h d [w 0 0 h neg 0 h] {ip} image bitmapsave restore grestore } bind def /BEGINBITMAPBW { 1 {} COMMONBITMAP } bind def /BEGINBITMAPGRAY { 8 {} COMMONBITMAP } bind def /BEGINBITMAP2BIT { 2 {} COMMONBITMAP } bind def /COMMONBITMAP { /r exch def /d exch def gsave translate rotate scale /h exch def /w exch def /bitmapsave save def r /is w d wbytes string def /cf currentfile def w h d [w 0 0 h neg 0 h] {cf is readhexstring pop} image bitmapsave restore grestore } bind def /proc1 FMLOCAL /proc2 FMLOCAL /newproc FMLOCAL /Fmcc { /proc2 exch cvlit def /proc1 exch cvlit def /newproc proc1 length proc2 length add array def newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx } bind def /ngrayt 256 array def /nredt 256 array def /nbluet 256 array def /ngreent 256 array def /gryt FMLOCAL /blut FMLOCAL /grnt FMLOCAL /redt FMLOCAL /indx FMLOCAL /cynu FMLOCAL /magu FMLOCAL /yelu FMLOCAL /k FMLOCAL /u FMLOCAL /colorsetup { currentcolortransfer /gryt exch def /blut exch def /grnt exch def /redt exch def 0 1 255 { /indx exch def /cynu 1 red indx get 255 div sub def /magu 1 green indx get 255 div sub def /yelu 1 blue indx get 255 div sub def /k cynu magu min yelu min def /u k currentundercolorremoval exec def nredt indx 1 0 cynu u sub max sub redt exec put ngreent indx 1 0 magu u sub max sub grnt exec put nbluet indx 1 0 yelu u sub max sub blut exec put ngrayt indx 1 k currentblackgeneration exec sub gryt exec put } for {255 mul cvi nredt exch get} {255 mul cvi ngreent exch get} {255 mul cvi nbluet exch get} {255 mul cvi ngrayt exch get} setcolortransfer {pop 0} setundercolorremoval {} setblackgeneration } bind def /tran FMLOCAL /fakecolorsetup { /tran 256 string def 0 1 255 {/indx exch def tran indx red indx get 77 mul green indx get 151 mul blue indx get 28 mul add add 256 idiv put} for currenttransfer {255 mul cvi tran exch get 255.0 div} exch Fmcc settransfer } bind def /BITMAPCOLOR { /d 8 def gsave translate rotate scale /h exch def /w exch def /bitmapsave save def colorsetup /is w d wbytes string def /cf currentfile def w h d [w 0 0 h neg 0 h] {cf is readhexstring pop} {is} {is} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPCOLORc { /d 8 def gsave translate rotate scale /h exch def /w exch def /lb w d wbytes def sl lb lt {lb ms} if /bitmapsave save def colorsetup /is im 0 lb getinterval def ws 0 lb getinterval is copy pop /cf currentfile def w h d [w 0 0 h neg 0 h] {ip} {is} {is} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLORc { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def ws 0 w getinterval is copy pop /cf currentfile def w h 8 [w 0 0 h neg 0 h] {ip} {gip} {bip} true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUECOLOR { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def /gis w string def /bis w string def /cf currentfile def w h 8 [w 0 0 h neg 0 h] { cf is readhexstring pop } { cf gis readhexstring pop } { cf bis readhexstring pop } true 3 colorimage bitmapsave restore grestore } bind def /BITMAPTRUEGRAYc { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def ws 0 w getinterval is copy pop /cf currentfile def w h 8 [w 0 0 h neg 0 h] {ip gip bip w gray} image bitmapsave restore grestore } bind def /ww FMLOCAL /r FMLOCAL /g FMLOCAL /b FMLOCAL /i FMLOCAL /gray { /ww exch def /b exch def /g exch def /r exch def 0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul b i get .114 mul add add r i 3 -1 roll floor cvi put } for r } bind def /BITMAPTRUEGRAY { gsave translate rotate scale /h exch def /w exch def /bitmapsave save def /is w string def /gis w string def /bis w string def /cf currentfile def w h 8 [w 0 0 h neg 0 h] { cf is readhexstring pop cf gis readhexstring pop cf bis readhexstring pop w gray} image bitmapsave restore grestore } bind def /BITMAPGRAY { 8 {fakecolorsetup} COMMONBITMAP } bind def /BITMAPGRAYc { 8 {fakecolorsetup} COMMONBITMAPc } bind def /ENDBITMAP { } bind def end /ALDsave FMLOCAL /ALDmatrix matrix def ALDmatrix currentmatrix pop /StartALD { /ALDsave save def savematrix ALDmatrix setmatrix } bind def /InALD { restorematrix } bind def /DoneALD { ALDsave restore } bind def %%EndProlog %%BeginSetup (3.0) FMVERSION 1 1 612 792 0 1 6 FMDOCUMENT 0 0 /Helvetica FMFONTDEFINE 1 0 /Times-Roman FMFONTDEFINE 2 0 /Courier FMFONTDEFINE 3 0 /Helvetica-Bold FMFONTDEFINE 32 FMFILLS 0 0 FMFILL 1 0.1 FMFILL 2 0.3 FMFILL 3 0.5 FMFILL 4 0.7 FMFILL 5 0.9 FMFILL 6 0.97 FMFILL 7 1 FMFILL 8 <0f1e3c78f0e1c387> FMFILL 9 <0f87c3e1f0783c1e> FMFILL 10 FMFILL 11 FMFILL 12 <8142241818244281> FMFILL 13 <03060c183060c081> FMFILL 14 <8040201008040201> FMFILL 16 1 FMFILL 17 0.9 FMFILL 18 0.7 FMFILL 19 0.5 FMFILL 20 0.3 FMFILL 21 0.1 FMFILL 22 0.03 FMFILL 23 0 FMFILL 24 FMFILL 25 FMFILL 26 <3333333333333333> FMFILL 27 <0000ffff0000ffff> FMFILL 28 <7ebddbe7e7dbbd7e> FMFILL 29 FMFILL 30 <7fbfdfeff7fbfdfe> FMFILL %%EndSetup %%Page: "71" 7 %%BeginPaperSize: Letter %%EndPaperSize 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (71) 531.11 37.99 T 0 10 Q (VSetMarkKey\050\051) 72 713.33 T 1 F (Puts a marker with an opaque key into the display list. This function does not render any image, but can be) 108 697.33 T (used by the application to segregate portions of the display list. For example, if you have) 108 685.33 T 2 F (DRAWAREA_MAP_EVENTS) 108 673.33 T 1 F ( set to) 221.94 673.33 T 2 F (DRAWAREA_MAP_LAST) 248.31 673.33 T 1 F (, getting) 349.52 673.33 T 2 F (DRAWAREA_MARK_KEY) 384.78 673.33 T 1 F ( in an event) 486.72 673.33 T (callback will return the opaque key for the section of the display list that the event occurred on. The key is) 108 661.33 T (de\336ned by the application and might be a pointer or a integer) 108 649.33 T (, but it is advisable to keep keys unique within) 351.6 649.33 T (a display list.) 108 637.33 T 2 9 Q (void VSetMarkKey\050) 144 622 T (Drawarea) 180 611 T (drawarea,) 252 611 T (Xv_opaque) 180 600 T (key\051;) 252 600 T 0 10 Q (VSetStipple\050\051) 72 576.33 T 1 F (Sets the stipple to be used by following \336ll commands. \050See XSetStipple.\051) 108 560.33 T 2 9 Q (void VSetStipple\050) 144 545 T (Drawarea) 180 534 T (drawimage,) 252 534 T (Server_image) 180 523 T (image\051;) 252 523 T 0 10 Q (VSetT) 72 499.33 T (ile\050\051) 99.4 499.33 T 1 F (Sets the tile to be used by following \336ll commands. \050See XSetT) 108 483.33 T (ile.\051) 361.95 483.33 T 2 9 Q (void VSetTile\050) 144 468 T (Drawarea) 180 457 T (drawimage,) 252 457 T (Server_image) 180 446 T (image\051;) 252 446 T FMENDPAGE %%EndPage: "71" 6 %%Page: "70" 6 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (70) 531.11 37.99 T 0 10 Q (VSetBgColor\050\051) 72 713.33 T 1 F (Sets the background color to be used for future rendering commands. The color is an index into the cms of) 108 697.33 T (the window) 108 685.33 T (. Setting it to -1 will set it to the default \050RECT) 154.26 685.33 T (OBJ_BG_COLOR\051.) 342.88 685.33 T 2 9 Q (void VSetBgColor\050) 144 670 T (Drawarea) 180 659 T (drawarea,) 252 659 T (int) 180 648 T (color\051;) 252 648 T 0 10 Q (VSetColor\050\051) 72 624.33 T 1 F (Sets the foreground color to be used for future rendering commands. The color is an index into the cms of) 108 608.33 T (the window) 108 596.33 T (. Setting it to -1 will set it to the default \050RECT) 154.26 596.33 T (OBJ_FG_COLOR\051.) 342.88 596.33 T 2 9 Q (void VSetColor\050) 144 581 T (Drawarea) 180 570 T (drawarea,) 252 570 T (int) 180 559 T (color\051;) 252 559 T 0 10 Q (VSetCms\050\051) 72 535.33 T 1 F (Allows a seperate cms to be used. Color indicies referenced in VSetForeground and VSetBackground will) 108 519.33 T (use the colors from the most recently set cms.) 108 507.33 T 2 9 Q (void VSetCms\050) 144 492 T (Drawarea) 180 481 T (drawarea,) 252 481 T (Cms) 180 470 T (cms\051;) 252 470 T 0 10 Q (VSetFillStyle\050\051) 72 446.33 T 1 F (Sets the \336ll style to be used by following \336ll commands. \050See XSetFillStyle.\051) 108 430.33 T 2 9 Q (void VSetFillStyle\050) 144 415 T (Drawarea) 180 404 T (drawarea,) 252 404 T (int) 180 393 T (f) 252 393 T (illstyle\051;) 257.39 393 T 0 10 Q (VSetFont\050\051) 72 369.33 T 1 F (Sets the font to be used in following VDrawString and DDrawString commands. The default font is the) 108 353.33 T (CANV) 108 341.33 T (AS_SHELL_FONT) 135.02 341.33 T (.) 214.24 341.33 T 2 9 Q (void VSetFont\050) 144 326 T (Drawarea) 180 315 T (drawarea,) 252 315 T (Xv_Font) 180 304 T (font\051;) 252 304 T 0 10 Q (VSetLineStyle\050\051) 72 280.33 T 1 F (Sets the line style to be used by following line drawing commands. \050See XSetLineAttributes.\051) 108 264.33 T 2 9 Q (void VSetLineStyle\050) 144 249 T (Drawarea) 180 238 T (drawarea,) 252 238 T (int) 180 227 T (linestyle\051\051;) 252 227 T 0 10 Q (VSetLineWidth\050\051) 72 203.33 T 1 F (Sets the line thickness to be used by following drawing commands. The line width are the same as in the X) 108 187.33 T (coordinate system. \050See XSetLineAttributes.\051) 108 175.33 T 2 9 Q (void VSetLineWidth\050) 144 160 T (Drawarea) 180 149 T (drawarea,) 252 149 T (int) 180 138 T (linewidth\051;) 252 138 T FMENDPAGE %%EndPage: "70" 5 %%Page: "69" 5 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (69) 531.11 37.99 T 0 10 Q (VDrawString\050\051) 72 713.33 T 1 F (Draws a string at x1, baseline at y1. \050See XDrawImageString.\051 Uses the [0..10000][0..10000] coordinate) 108 697.33 T (system.) 108 685.33 T 2 9 Q (void VDrawString\050) 144 670 T (Drawarea) 180 659 T (drawarea,) 252 659 T (short) 180 648 T (x1,) 252 648 T (short) 180 637 T (y1,) 252 637 T (char*) 180 626 T (string,) 252 626 T (int) 180 615 T (length\051;) 252 615 T 0 10 Q (VFillArc\050\051) 72 591.33 T 1 F (Fills an arc \336tting inside the rectangle at \050x1, y1\051, width w) 108 575.33 T (, height h. The start_angle and end_angle are) 339.7 575.33 T (measured in 64th of a degree. \050See XFillArc.\051 Uses the [0..10000][0..10000] coordinate system.) 108 563.33 T 2 9 Q (void VFillArc\050) 144 548 T (Drawarea) 180 537 T (drawarea,) 252 537 T (short) 180 526 T (x1,) 252 526 T (short) 180 515 T (y1,) 252 515 T (short) 180 504 T (w,) 252 504 T (short) 180 493 T (h,) 252 493 T (int) 180 482 T (start_angle,) 252 482 T (int) 180 471 T (end_angle\051;) 252 471 T 0 10 Q (VFillPoly\050\051) 72 447.33 T 1 F (Fills a region closed by points. \050See XFillPolygon.\051 Uses the [0..10000][0..10000] coordinate system.) 108 431.33 T 2 9 Q (void VFillPoly\050) 144 416 T (Drawarea) 180 405 T (drawarea,) 252 405 T (XPoint) 180 394 T (*points,) 252 394 T (int) 180 383 T (npoints\051;) 252 383 T 0 10 Q (VFillRectangle\050\051) 72 359.33 T 1 F -0.1 (Fills a rectangle at \050x1, y1\051 with width w) 108 343.33 P -0.1 (, and height h. \050See XFillRectangle.\051 Uses the [0..10000][0..10000]) 269.46 343.33 P (coordinate system.) 108 331.33 T 2 9 Q (void VFillRectangle\050) 144 316 T (Drawarea) 180 305 T (drawarea,) 252 305 T (short) 180 294 T (x1,) 252 294 T (short) 180 283 T (y1,) 252 283 T (short) 180 272 T (w,) 252 272 T (short) 180 261 T (h\051;) 252 261 T 0 10 Q (VFlush\050\051) 72 237.33 T 1 F (Flushes drawing commands that have not been painted since the last refresh of the object. T) 108 221.33 T (o enhance) 474.26 221.33 T (performance, this should only be used in those situations where no other refresh is pending \050such as those) 108 209.33 T (generated by xv_set\051.) 108 197.33 T 2 9 Q (void VFlush\050) 144 182 T (Drawarea) 180 171 T (drawarea\051;) 252 171 T FMENDPAGE %%EndPage: "69" 4 %%Page: "68" 4 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (68) 531.11 37.99 T 0 10 Q (VDrawImage\050\051) 72 713.33 T 1 F -0.32 (Draws a XV) 108 697.33 P -0.32 (iew server image at \050x1, y1\051. The image may be multi colored, but the mask should be mono. No) 156.7 697.33 P -0.17 (scaling of the image is done during rendering. If mask is non-NULL, only those bits that are on in mask will) 108 685.33 P (be painted. Uses the [0..10000][0..10000] coordinate system.) 108 673.33 T 2 9 Q (void VDrawImage\050) 144 658 T (Drawarea) 180 647 T (drawimage,) 252 647 T (short) 180 636 T (x1,) 252 636 T (short) 180 625 T (y1,) 252 625 T (Server_image) 180 614 T (image,) 252 614 T (Server_image) 180 603 T (mask\051;) 252 603 T 0 10 Q (VDrawLine\050\051) 72 579.33 T 1 F (Draws a line from \050x1, y1\051 to \050x2, y2\051. \050See XDrawLine.\051 Uses the [0..10000][0..10000] coordinate system.) 108 563.33 T 2 9 Q (void VDrawLine\050) 144 548 T (Drawarea) 180 537 T (drawarea,) 252 537 T (short) 180 526 T (x1,) 252 526 T (short) 180 515 T (y1,) 252 515 T (short) 180 504 T (x2,) 252 504 T (short) 180 493 T (y2\051;) 252 493 T 0 10 Q (VDrawLines\050\051) 72 469.33 T 1 F (Draws the lines as speci\336ed in points. The underlying Xlib routine is XDrawLines, with mode set to) 108 453.33 T (CoordModeOrigin. \050See XDrawLines\051 Uses the [0..10000][0..10000] coordinate system.) 108 441.33 T 2 9 Q (void VDrawLines\050) 144 426 T (Drawarea) 180 415 T (drawarea,) 252 415 T (XPoint) 180 404 T (*points,) 252 404 T (int) 180 393 T (npoints\051;) 252 393 T 0 10 Q (VDrawPoly\050\051) 72 369.33 T 1 F (Draws the outline of a polygon as speci\336ed by points and closes the polygon. It has the same semantics as) 108 353.33 T (VDrawLines, except it closes the polygon by connecting the beginning and ending points. Uses the) 108 341.33 T ([0..10000][0..10000] coordinate system.) 108 329.33 T 2 9 Q (void VDrawPoly\050) 144 314 T (Drawarea) 180 303 T (drawarea,) 252 303 T (XPoint) 180 292 T (*points,) 252 292 T (int) 180 281 T (npoints\051;) 252 281 T 0 10 Q (VDrawRectangle\050\051) 72 257.33 T 1 F (Draws a rectangle at \050x1, y1\051 with width w) 108 241.33 T (, and height h. \050See XDrawRectangle.\051 Uses the) 278.61 241.33 T ([0..10000][0..10000] coordinate system.) 108 229.33 T 2 9 Q (void VDrawRectangle\050) 144 214 T (Drawarea) 180 203 T (drawarea,) 252 203 T (short) 180 192 T (x1,) 252 192 T (short) 180 181 T (y1,) 252 181 T (short) 180 170 T (w,) 252 170 T (short) 180 159 T (h\051;) 252 159 T FMENDPAGE %%EndPage: "68" 3 %%Page: "67" 3 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (67) 531.11 37.99 T 0 10 Q (DFillRectangle\050\051) 72 713.33 T 1 F (Fills a rectangle at \050x1, y1\051 with width w) 108 697.33 T (, height h. \050See XDrawRectangle.\051 Uses the con\336gurable \050double\051) 270.3 697.33 T (coordinate system.) 108 685.33 T 2 9 Q (void DFillRectangle\050) 144 670 T (Drawarea) 180 659 T (drawarea,) 252 659 T (double) 180 648 T (x1,) 252 648 T (double) 180 637 T (y1,) 252 637 T (double) 180 626 T (w,) 252 626 T (double) 180 615 T (h\051;) 252 615 T 0 10 Q (DFillArc\050\051) 72 591.33 T 1 F (Fills an arc \336tting inside the rectangle at \050x1, y1\051, width w) 108 575.33 T (, height h. The start_angle and end_angle are) 339.7 575.33 T (measured in 64th of a degree. \050See XFillArc.\051 Uses the con\336gurable \050double\051 coordinate system.) 108 563.33 T 2 9 Q (void DFillArc\050) 144 548 T (Drawarea) 180 537 T (drawarea,) 252 537 T (double) 180 526 T (x1,) 252 526 T (double) 180 515 T (y1,) 252 515 T (double) 180 504 T (w,) 252 504 T (double) 180 493 T (h,) 252 493 T (int) 180 482 T (start_angle,) 252 482 T (int) 180 471 T (end_angle\051;) 252 471 T 0 10 Q (DFillPoly\050\051) 72 447.33 T 1 F (Fills a region closed by points. \050See XFillPolygon.\051 Uses the con\336gurable \050double\051 coordinate system.) 108 431.33 T 2 9 Q (void DFillPoly\050) 144 416 T (Drawarea) 180 405 T (drawarea,) 252 405 T (DPoint) 180 394 T (*points,) 252 394 T (int) 180 383 T (npoints\051;) 252 383 T 0 10 Q (VClear\050\051) 72 359.33 T 1 F (Clears all entries from the display list.) 108 343.33 T 2 9 Q (void VClear\050) 144 328 T (Drawarea) 180 317 T (drawarea\051;) 252 317 T 0 10 Q (VDrawArc\050\051) 72 293.33 T 1 F (Draws an arc \336tting inside the rectangle at \050x1, y1\051, width w) 108 277.33 T (, height h. The start_angle and end_angle are) 348.01 277.33 T (measured in 64th of a degree. \050See XDrawArc.\051 Uses the [0..10000][0..10000] coordinate system.) 108 265.33 T 2 9 Q (void VDrawArc\050) 144 250 T (Drawarea) 180 239 T (drawarea,) 252 239 T (short) 180 228 T (x1,) 252 228 T (short) 180 217 T (y1,) 252 217 T (short) 180 206 T (w,) 252 206 T (short) 180 195 T (h,) 252 195 T (int) 180 184 T (start_angle,) 252 184 T (int) 180 173 T (end_angle\051;) 252 173 T FMENDPAGE %%EndPage: "67" 2 %%Page: "66" 2 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (66) 531.11 37.99 T 0 10 Q (DDrawLine\050\051) 72 713.33 T 1 F 0.05 (Draws a line from \050x1, y1\051 to \050x2, y2\051. \050See XDrawLine.\051 Uses the con\336gurable \050double\051 coordinate system.) 108 697.33 P 2 9 Q (void DDrawLine\050) 144 682 T (Drawarea) 180 671 T (drawarea,) 252 671 T (double) 180 660 T (x1,) 252 660 T (double) 180 649 T (y1,) 252 649 T (double) 180 638 T (x2,) 252 638 T (double) 180 627 T (y2\051;) 252 627 T 0 10 Q (DDrawLines\050\051) 72 603.33 T 1 F (Draws the lines as speci\336ed in points. The underlying Xlib routine is XDrawLines, with mode set to) 108 587.33 T (CoordModeOrigin. \050See XDrawLines.\051 Uses the con\336gurable \050double\051 coordinate system.) 108 575.33 T 2 9 Q (void DDrawLines\050) 144 560 T (Drawarea) 180 549 T (drawarea,) 252 549 T (DPoint) 180 538 T (*points,) 252 538 T (int) 180 527 T (npoints\051;) 252 527 T 0 10 Q (DDrawPoly\050\051) 72 515.33 T 1 F (Draws the outline of a polygon as speci\336ed by points and closes the polygon. It has the same semantics as) 108 499.33 T (DDrawLines, except it closes the polygon by connecting the beginning and ending points. Uses the) 108 487.33 T (con\336gurable \050double\051 coordinate system.) 108 475.33 T 2 9 Q (void DDrawPoly\050) 144 460 T (Drawarea) 180 449 T (drawarea,) 252 449 T (DPoint) 180 438 T (*points,) 252 438 T (int) 180 427 T (npoints\051;) 252 427 T 0 10 Q (DDrawRectangle\050\051) 72 391.33 T 1 F (Draws a rectangle at \050x1, y1\051 with width w) 108 375.33 T (, and height h. \050See XDrawRectangle\051 Uses the con\336gurable) 278.61 375.33 T (\050double\051 coordinate system.) 108 363.33 T 2 9 Q (void DDrawRectangle\050) 144 348 T (Drawarea) 180 337 T (drawarea,) 252 337 T (double) 180 326 T (x1,) 252 326 T (double) 180 315 T (y1,) 252 315 T (double) 180 304 T (w,) 252 304 T (double) 180 293 T (h\051;) 252 293 T 0 10 Q (DDrawString\050\051) 72 269.33 T 1 F (Draws a string at x1, baseline at y1. \050See XDrawImageString.\051 Uses the con\336gurable \050double\051 coordinate) 108 253.33 T (system.) 108 241.33 T 2 9 Q (void DDrawString\050) 144 226 T (Drawarea) 180 215 T (drawarea,) 252 215 T (double) 180 204 T (x1,) 252 204 T (double) 180 193 T (y1,) 252 193 T (char) 180 182 T (*string,) 252 182 T (int) 180 171 T (strlen\051;) 252 171 T FMENDPAGE %%EndPage: "66" 1 %%Page: "65" 1 612 792 0 FMBEGINPAGE 0 8 Q 0 X 0 K (SlingShot 2.0 Programmer\325s Handbook) 72 37.99 T (65) 531.11 37.99 T 72 710 540 720 C 72 719 540 719 2 L 1 H 2 Z 0 X 0 K N 0 0 612 792 C 3 14 Q 0 X 0 K (Appendix C: Drawarea Functions) 72 700.67 T 0 10 Q (drawarea_init_traverse\050\051) 72 679.33 T 1 F (This initialized a Display_list_ar) 108 663.33 T (g structure used for traversing the display and returns the \336rst) 238.58 663.33 T (Display_list_cmd \050or NULL\051 on the list.) 108 651.33 T 2 9 Q (Display_list_cmd *drawarea_init_traverse\050) 144 636 T (Drawarea) 180 625 T (drawarea,) 288 625 T (Display_list_arg*) 180 614 T (dl_arg\051;) 288 614 T 0 10 Q (display_list_append\050\051) 72 590.33 T 1 F -0.23 (Append a new display list command onto the display list. This returns a pointer to the uninitialized allocated) 108 574.33 P (space \050aligned to 8 byte boundary\051. Generally) 108 562.33 T (, this is used if you want to write application speci\336c display) 290.26 562.33 T (list primitives.) 108 550.33 T 2 9 Q (Display_list_cmd *display_list_append\050) 144 535 T (Drawarea) 180 524 T (drawarea,) 288 524 T (Display_list_vec*) 180 513 T (vec,) 288 513 T (int) 180 502 T (size\051;) 288 502 T 0 10 Q (drawarea_next_traverse\050\051) 72 478.33 T 1 F (Returns the next Display_list_cmd \050or NULL\051 on the list.) 108 462.33 T 2 9 Q (Display_list_cmd *drawarea_next_traverse\050) 144 447 T (Display_list_arg*) 180 436 T (dl_arg\051;) 288 436 T 0 10 Q (DDrawArc\050\051) 72 412.33 T 1 F (Draws an arc \336tting inside the rectangle at \050x1, y1\051, width w) 108 396.33 T (, height h. The start_angle and end_angle are) 348.01 396.33 T (measured in 64th of a degree. \050See XDrawArc.\051 Uses the con\336gurable \050double\051 coordinate system.) 108 384.33 T 2 9 Q (void DDrawArc\050) 144 369 T (Drawarea) 180 358 T (drawarea,) 252 358 T (double) 180 347 T (x1,) 252 347 T (double) 180 336 T (y1,) 252 336 T (double) 180 325 T (w,) 252 325 T (double) 180 314 T (h,) 252 314 T (int) 180 303 T (start_angle,) 252 303 T (int) 180 292 T (end_angle\051;) 252 292 T 0 10 Q (DDrawImage\050\051) 72 268.33 T 1 F -0.22 (Draws a XV) 108 252.33 P -0.22 (iew server image at \050x1, y1\051. The image may be multicolored, but the mask should be mono. No) 156.92 252.33 P (scaling of the image is done during rendering. If mask is not NULL, only those bits that are on in the mask) 108 240.33 T (will be painted. Uses the con\336gurable \050double\051 coordinate system.) 108 228.33 T 2 9 Q (void DDrawImage\050) 144 213 T (Drawarea) 180 202 T (drawarea,) 252 202 T (double) 180 191 T (x1,) 252 191 T (double) 180 180 T (y1,) 252 180 T (Server_image) 180 169 T (image,) 252 169 T (Server_image) 180 158 T (mask\051;) 252 158 T FMENDPAGE %%EndPage: "65" 0 %%Trailer %%BoundingBox: 0 0 612 792 %%Pages: 7 -1 %%DocumentFonts: Helvetica %%+ Times-Roman %%+ Courier %%+ Helvetica-Bold