Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 » !AWApr95/Goodies/Draw/!DrawBasic/Library/Logo/Example_1/Linked
!AWApr95/Goodies/Draw/!DrawBasic/Library/Logo/Example_1/Linked
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 |
Filename: | !AWApr95/Goodies/Draw/!DrawBasic/Library/Logo/Example_1/Linked |
Read OK: | ✔ |
File size: | 3248 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
1ON ERROR ON ERROR OFF :CHAIN "Throwback:Error" 2HIMEM =FNFreeSlot 3PROCBeginDrawing 4PROCCentimetres 5circle=FNCircle(3,3,2) 6PROCQuit 7DEF FNFreeSlot 8LOCAL Buffer%,Free_Size% 9SYS "Wimp_SlotSize",-1,-1 TO ,,Free_Size% 10IF Free_Size%<32 THEN 11ON ERROR OFF 12SYS "Wimp_CommandWindow",-1 13ERROR EXT 0,"DrawBasic needs a non-empty 'Free' slot to save Draw file output" 14ENDIF 15IF Free_Size%>1024*1024*4 THENFree_Size%=1024*1024*4 16Buffer%=HIMEM 17END=Buffer%+Free_Size% 18!Buffer%=Buffer%+8 19Buffer%!4=Buffer%+Free_Size%-4 :!(Buffer%!4)=0 20=Buffer% 21DEF PROCDraw_AddWord(x%) 22IF (!HIMEM)>=(!(HIMEM+4)) THENERROR 0,"Out of memory" 23!(!HIMEM)=x% 24!HIMEM+=4 25ENDPROC 26DEF PROCDraw_AddFloat(x) 27IF (!HIMEM)+4>=(!(HIMEM+4)) THENERROR 0,"Out of memory" 28|(!HIMEM)=x 29!HIMEM+=8 30ENDPROC 31DEF PROCDraw_AddString(pointer%,x$) 32LOCAL _a%,_b% 33_a%=LEN x$ 34IF (!pointer%+_a%)>=(!(HIMEM+4)) THENERROR 0,"Out of memory" 35IF (_a%MOD4)<>0 THENx$+=STRING$(4-(_a%MOD4),CHR$0) :_a%=LEN x$ 36_b%=pointer%!_a% :$(!pointer%)=x$ 37!pointer%+=_a% :pointer%!_a%=_b% 38ENDPROC 39DEF PROCDraw_AddCoords(x,y) 40PROCDraw_AddWord(FNDraw_X(x)) 41PROCDraw_AddWord(FNDraw_Y(y)) 42ENDPROC 43DEF PROCMoveMemory(address%,n_words%) 44LOCAL _i%,_n% :_n%=4*n_words% 45IF !HIMEM+_n%>=(!(HIMEM+4)) THENERROR 0,"Not enough memory!" 46IF FNCurrentPath>=address% THENPROCCurrentPath(FNCurrentPath+_n%) 47IF FNCurrentSubpath>=address% THENPROCCurrentSubpath(FNCurrentSubpath+_n%) 48_i%=!(HIMEM+4) 49WHILE !_i%>=address% 50!_i%+=_n% :_i%+=4 51ENDWHILE 52_i%=!HIMEM 53WHILE _i%>address% :_i%-=4 :_i%!_n%=!_i% :ENDWHILE 54!HIMEM+=_n% 55ENDPROC 56DEF PROCBeginDrawing 57PROCDraw_SetUp 58PROCDraw_SetFileHeader 59PROCDraw_SetFontTable 60ENDPROC 61DEF PROCDraw_SetUp 62LOCAL _scale% :_scale%=INT(180*256/2.54+.5) 63PROCDraw_AddWord(0) 64PROCDraw_AddWord(0) 65PROCDraw_AddWord(0) 66PROCDraw_AddWord(12*_scale%) 67PROCDraw_AddWord(12*_scale%) 68PROCDraw_AddFloat(0) 69PROCDraw_AddFloat(0) 70PROCDraw_AddFloat(12) 71PROCDraw_AddFloat(12) 72PROCDraw_AddWord(_scale%) 73PROCDraw_AddWord(0) 74PROCDraw_AddWord(0) 75PROCDraw_AddWord(0) 76PROCDraw_AddWord(0) 77PROCDraw_AddWord(12) 78PROCDraw_AddWord(14*640) 79PROCDraw_AddWord(0) 80PROCDraw_AddWord(1) 81PROCDraw_AddWord(1<<16) 82PROCDraw_AddWord(0) 83PROCDraw_AddWord(0) 84PROCDraw_AddWord(1<<16) 85PROCDraw_AddWord(256*90) 86PROCDraw_AddWord(256*90) 87PROCDraw_AddWord(_scale%) 88PROCDraw_AddWord(1<<16) 89PROCDraw_AddWord((3<<16)+3) 90PROCDraw_AddWord(0) 91PROCDraw_AddWord(1) 92PROCDraw_AddWord(0) 93PROCDraw_AddWord(1) 94PROCDraw_AddWord(0) 95PROCDraw_AddWord(10) 96PROCDraw_AddWord(7) 97PROCDraw_AddWord(10) 98PROCDraw_AddWord(7) 99PROCDraw_AddWord(1<<16) 100PROCDraw_AddWord(1<<15) 101PROCDraw_AddWord(1<<16) 102PROCDraw_AddWord(1<<15) 103PROCDraw_AddWord(1<<16) 104PROCDraw_AddWord(0) 105PROCDraw_AddWord(0) 106PROCDraw_AddWord(1<<16) 107PROCDraw_AddWord(0) 108PROCDraw_AddWord(0) 109PROCDraw_AddWord(10000) 110PROCDraw_AddWord(100) 111PROCDraw_AddWord(300) 112PROCDraw_AddWord(4) 113PROCDraw_AddWord(0) 114PROCDraw_AddWord(-1) 115PROCDraw_AddWord(0) 116PROCDraw_AddWord(0) 117PROCDraw_AddWord(0) 118PROCDraw_AddWord(0) 119|(HIMEM+240)=5/6 120!(HIMEM+8)=!HIMEM 121ENDPROC 122DEF PROCDraw_SetFileHeader 123PROCDraw_AddString(HIMEM,"Draw") 124PROCDraw_AddWord(201) 125PROCDraw_AddWord(0) 126PROCDraw_AddString(HIMEM,"DrawBasic ") 127PROCDraw_AddWord(0) 128PROCDraw_AddWord(0) 129PROCDraw_AddWord(256*180*12*3*800) 130PROCDraw_AddWord(256*180*12*3*800) 131ENDPROC 132DEF PROCDraw_SetFontTable 133LOCAL _fonts% :_fonts%=!(HIMEM+8)+40 134PROCDraw_AddWord(0) 135PROCDraw_AddWord(0) 136PROCDraw_AddString(HIMEM,CHR$1+"Trinity.Medium"+CHR$0) 137!(_fonts%+4)=!HIMEM-_fonts% 138ENDPROC 139DEF PROCQuit 140PROCPathEnd 141OSCLI("Save DrawBasic:Draw.File "+STR$~(!(HIMEM+8))+" "+STR$~(!HIMEM)) 142*SetType DrawBasic:Draw.File DrawFile 143*Filer_Run DrawBasic:Draw.File 144END 145DEF FNUnits=!(HIMEM+60) 146DEF PROCCentimetres 147!(HIMEM+60)=INT(256*180/2.54+.5) 148PROCFrameSize(0,0,12,12) 149PROCFrameCoords(0,12,0,12) 150PROCPreview 151ENDPROC 152DEF FNDrawUnits(a)=INT(FNUnits*a+.5) 153DEF PROCFrameSize(a,b,width,height) 154PROCFrameCoords(0,width,0,height) 155!(HIMEM+20)=FNDrawUnits(width) 156!(HIMEM+24)=FNDrawUnits(height) 157!(HIMEM+12)=FNDrawUnits(a) 158!(HIMEM+16)=FNDrawUnits(b) 159ENDPROC 160DEF FNFrame_x=!(HIMEM+12) 161DEF FNFrame_y=!(HIMEM+16) 162DEF FNFrame_Width=!(HIMEM+20) 163DEF FNFrame_Height=!(HIMEM+24) 164DEF FNFRAME_x=|(HIMEM+28) 165DEF FNFRAME_y=|(HIMEM+36) 166DEF FNFRAME_Width=|(HIMEM+44) 167DEF FNFRAME_Height=|(HIMEM+52) 168DEF FNX_Scale=FNFrame_Width/FNFRAME_Width 169DEF FNY_Scale=FNFrame_Height/FNFRAME_Height 170DEF FNDraw_X(x)=INT(FNFrame_x+(x-FNFRAME_x)*FNX_Scale+.5) 171DEF FNDraw_Y(y)=INT(FNFrame_y+(y-FNFRAME_y)*FNY_Scale+.5) 172DEF PROCFrameCoords(a,b,u,v) 173LOCAL _frame% 174_frame%=HIMEM+28 175IF a>=b THENERROR 0, STR$ a+" < x < "+STR$ b+" is a bad x range " 176IF u>=v THENERROR 0, STR$ u+" < y < "+STR$ v+" is a bad y range " 177|(_frame%)=a :|(_frame%+8)=u 178|(_frame%+16)=b-a :|(_frame%+24)=v-u 179ENDPROC 180DEF FNDrawDx=!(HIMEM+112) 181DEF FNDrawDy=!(HIMEM+116) 182DEF FNDrawTrans=HIMEM+96 183DEF PROCPreview 184VDU 26 :CLG 185LOCAL _h,_max%,_x%,_y%,_I%,_font%,_n$ 186PROCDrawPreviewBorders(3000,12,8) 187PROCDrawPreviewHScales(3000) 188PROCDrawPreviewVScales(3000) 189PROCDrawPreviewTitle(14,7) 190ENDPROC 191DEF PROCDrawPreviewBorders(max%,point%,colour%) 192point%=point%*16 193SYS "ColourTrans_SetGCOL",FNDesktopColour(2) 194RECTANGLE FILL 0,0,FNDrawDy>>8,max% 195RECTANGLE FILL 0,0,max%,FNDrawDx>>8 196SYS "ColourTrans_SetGCOL",FNDesktopColour(7) 197LINE FNDrawDx>>8,FNDrawDy>>8,max%,FNDrawDy>>8 198LINE FNDrawDx>>8,FNDrawDy>>8,FNDrawDx>>8,max% 199SYS "Font_FindFont",,"Trinity.Medium"+CHR$0,point%,point% 200SYS "ColourTrans_SetFontColours",,FNDesktopColour(2),FNDesktopColour(colour%),14 201ENDPROC 202DEF PROCDrawPreviewTitle(point%,colour%) 203LOCAL _n$,_f$,i% 204_f$=FNReadSystemVariable("DrawBasic$Options") 205i%=INSTR(_f$,":") :IF i%<>0 THEN_f$=RIGHT$(_f$,LEN _f$-i%) 206point%=point%*16 207_n$="DrawBasic "+FNLeaf(_f$) 208IF FNUnits=256*180 THEN_n$+=" (Inches)" ELSE_n$+=" (Cms)" 209SYS "Font_FindFont",,"Trinity.Medium"+CHR$0,point%,point% 210SYS "ColourTrans_SetFontColours",,FNDesktopColour(2),FNDesktopColour(colour%),14 211SYS "Font_Paint",,_n$,%10000,16,12 212ENDPROC 213DEF FNReadSystemVariable(variable$) 214LOCAL _len%,_variable% 215DIM _variable% 256 216SYS "OS_ReadVarVal",variable$,_variable%,256,,3 TO ,,_len% 217_variable%?_len%=13 218=$_variable% 219DEF FNLeaf(x$) 220LOCAL _i% :_i%=INSTR(x$,".") 221IF _i%=0 THEN=x$ ELSE=FNLeaf(RIGHT$(x$,LEN x$-_i%)) 222DEF PROCDrawPreviewHScales(max%) 223LOCAL _h,_x%,_I%,_dx%,_dy% 224_I%=0 :_h%=FNUnits>>8 :_dx%=FNDrawDx>>8 :_dy%=FNDrawDy>>8 225REPEAT :_x%=_dx%+(FNDraw_Y(_I%)>>8) 226LINE _x%,_dy%,_x%,3*_dy%/4 227LINE _x%+_h%/2,_dy%,_x%+_h%/2,7*_dy%/8 228SYS "Font_Paint",,STR$(_I%),%10000,_x%-8,_dy%/2 229_I%+=1 230UNTIL _x%>max% 231ENDPROC 232DEF PROCDrawPreviewVScales(max%) 233LOCAL _h,_y%,_I%,_dx%,_dy% 234_I%=0 :_h%=FNUnits>>8 :_dx%=FNDrawDx>>8 :_dy%=FNDrawDy>>8 235REPEAT :_y%=_dy%+(FNDraw_X(_I%)>>8) 236LINE _dx%,_y%,3*_dx%/4,_y% 237LINE _dx%,_y%+_h%/2,7*_dx%/8,_y%+_h%/2 238IF _I%>9 THEN 239SYS "Font_Paint",,STR$(_I%),%10000,36,_y%-10 240ELSE 241SYS "Font_Paint",,STR$(_I%),%10000,48,_y%-10 242ENDIF 243_I%+=1 244UNTIL _y%>max% 245ENDPROC 246DEF FNCurrentPath=!(HIMEM+64) 247DEF PROCCurrentPath(path%) 248!(HIMEM+64)=path% 249ENDPROC 250DEF FNCurrentSubpath=!(HIMEM+68) 251DEF PROCCurrentSubpath(path%) 252!(HIMEM+68)=path% 253ENDPROC 254DEF PROCPathBegin(RETURN path) 255IF FNCurrentPath<>0 THENPROCPathEnd 256PROCCurrentPath(!HIMEM) 257IF FNCurrentPath>=!(HIMEM+4) THEN 258ERROR 0,"Out of memory. Increase the 'Free' slot." 259ELSE 260!(HIMEM+4)-=4 261path=!(HIMEM+4) 262!path=FNCurrentPath 263PROCDraw_PathHeader 264IF FNDash<>0 THENPROCDash@(path,FNDash) 265ENDIF 266ENDPROC 267DEF PROCDraw_PathHeader 268PROCDraw_AddWord(0) 269PROCDraw_AddWord(44) 270PROCDraw_AddWord(-1<<30) 271PROCDraw_AddWord(-1<<30) 272PROCDraw_AddWord(1<<30) 273PROCDraw_AddWord(1<<30) 274PROCDraw_AddWord(FNFillColour) 275PROCDraw_AddWord(FNLineColour) 276PROCDraw_AddWord(FNLineWidth) 277PROCDraw_AddWord(FNStyle) 278ENDPROC 279DEF PROCPathEnd 280IF FNCurrentPath=0 ENDPROC 281IF FNCurrentSubpath=0 OR !FNCurrentPath=0 THEN 282!HIMEM=FNCurrentPath 283PROCCurrentPath(0) :PROCCurrentSubpath(0) 284ELSE 285PROCDraw_AddWord(0) 286!(FNCurrentPath+4)=(!HIMEM)-FNCurrentPath 287!(FNCurrentPath)=2 288PROCDraw_RenderPath(FNCurrentPath,FNDrawTrans) 289PROCCurrentPath(0) :PROCCurrentSubpath(0) 290ENDIF 291ENDPROC 292DEF FNDrawTrans=HIMEM+96 293DEF PROCMove(x,y) 294LOCAL _path 295IF FNCurrentPath=0 THENPROCPathBegin(_path) 296PROCDraw_AddWord(2) 297PROCCurrentSubpath(!HIMEM) 298PROCDraw_AddCoords(x,y) 299MOVE (!(HIMEM+112)+FNDraw_X(x))>>8,(!(HIMEM+116)+FNDraw_Y(y))>>8 300ENDPROC 301DEF PROCBezier(a,b,c,d,x,y) 302LOCAL _path%,_store% :_path%=!(HIMEM+4) 303IF FNCurrentPath=0 ERROR EXT 1,"Can't Draw Bezier if No PathBegun" 304IF FNCurrentSubpath=0 ERROR EXT 0,"Subpath must start with Move before Bezier" 305_path%=!HIMEM :_path%-=12 :_store%=!_path% :!_path%=2 306PROCDraw_AddWord(6) 307PROCDraw_AddCoords(a,b) 308PROCDraw_AddCoords(c,d) 309PROCDraw_AddCoords(x,y) 310PROCDraw_AddWord(0) 311!HIMEM-=4 312SYS "Draw_Stroke",_path%,,FNDrawTrans 313!_path%=_store% 314!(FNCurrentPath)=TRUE 315MOVE (!(HIMEM+112)+FNDraw_X(x))>>8,(!(HIMEM+116)+FNDraw_Y(y))>>8 316ENDPROC 317DEF PROCCloseWithLine 318IF FNCurrentPath<>0 AND FNCurrentPath<>0 THEN 319LOCAL _x%,_y% 320_x%=!FNCurrentSubpath:_y%=!(FNCurrentSubpath+4) 321DRAW (!(HIMEM+112)+_x%)>>8,(!(HIMEM+116)+_y%)>>8 322PROCDraw_AddWord(5) 323ENDIF 324ENDPROC 325DEF PROC@Circle(x,y,radius) 326LOCAL _a :_a=radius*4*(SQR2-1)/3 327PROCMove(x,y+radius) 328PROCBezier(x+_a,y+radius,x+radius,y+_a,x+radius,y) 329PROCBezier(x+radius,y-_a,x+_a,y-radius,x,y-radius) 330PROCBezier(x-_a,y-radius,x-radius,y-_a,x-radius,y) 331PROCBezier(x-radius,y+_a,x-_a,y+radius,x,y+radius) 332PROCCloseWithLine 333ENDPROC 334DEF FNCircle(x,y,radius) 335LOCAL _path% 336PROCPathBegin(_path%) 337PROC@Circle(x,y,radius) 338PROCPathEnd 339=_path% 340DEF FNLineWidth=!(HIMEM+232) 341DEF FNLineColour=!(HIMEM+224) 342DEF FNFillColour=!(HIMEM+228) 343DEF FNShade(Red%,Green%,Blue%)=(Red%<<8)+(Green%<<16)+(Blue%<<24) 344DEF FNDesktopColour(colour%) 345IF ABS colour%<256 THENcolour%=(ABS colour%) MOD 16 346CASE colour% OF 347WHEN 0 :colour%=FNShade(255,255,255) 348WHEN 1 :colour%=FNShade(221,221,221) 349WHEN 2 :colour%=FNShade(187,187,187) 350WHEN 3 :colour%=FNShade(153,153,153) 351WHEN 4 :colour%=FNShade(119,119,119) 352WHEN 5 :colour%=FNShade(85,85,85) 353WHEN 6 :colour%=FNShade(51,51,51) 354WHEN 7 :colour%=%11111111 355WHEN 8 :colour%=FNShade(0,68,153) 356WHEN 9 :colour%=FNShade(238,238,0) 357WHEN 10 :colour%=FNShade(0,204,0) 358WHEN 11 :colour%=FNShade(221,0,0) 359WHEN 12 :colour%=FNShade(238,238,187) 360WHEN 13 :colour%=FNShade(85,136,0) 361WHEN 14 :colour%=FNShade(255,187,0) 362WHEN 15 :colour%=FNShade(0,187,255) 363ENDCASE 364=colour% 365DEF FNStyle=!(HIMEM+236) 366DEF FNDash=!(HIMEM+76) 367DEF PROCDash@(Draw_Path%,pattern%) 368LOCAL _Path%,_i%,_n%,_max% 369_Path%=!Draw_Path% 370IF _Path%<>0 THEN 371_n%=pattern%!4 372_Path%!4+=4*(_n%+2) 373_Path%!36=((_Path%!36) AND NOT(1<<7)) EOR (1<<7) 374_max%=!(HIMEM+4) 375PROCMoveMemory(_Path%+40,_n%+2) 376_i%=Draw_Path%-4 377WHILE _i%>=_max% :!_i%+=4*(_n%+2) :_i%-=4 :ENDWHILE 378FOR _i%=0 TO _n%+1 379_Path%!(40+4*_i%)=(pattern%!(4*_i%))*640 380NEXT 381_Path%!44=_n% 382ENDIF 383ENDPROC 384DEF PROCDraw_RenderPath(path%,transform) 385IF path%<>0 THEN 386LOCAL _Path%,_Dash%,_Thickness%,_Style%,_Flatness%,_Fill_Style%,_length%,_x%,_y%,_X%,_Y%,_col% 387SYS "Hourglass_On" 388_Flatness%=0 389_x%=path%!8 :_y%=path%!12 :_X%=path%!16 :_Y%=path%!20 390_Thickness%=path%!32 391_Style%=path%!36 392_Path%=path%+40 393IF (_Style% AND (1<<7)) = 0 THEN 394_Dash%=0 395ELSE 396_Dash%=_Path% 397_Path%+=4*(_Dash%!4)+8 398ENDIF 399path%?8 = _Style% AND %11 400path%?9 =(_Style% AND %1100)>>2 401path%?10=(_Style% AND %110000)>>4 402path%?11=0 403path%!12=10<<16 404_length%=path%?38 405path%?16=(_length%MOD16)<<4 406path%?17=_length%DIV16 407path%?20=(_length%MOD16)<<4 408path%?21=_length%DIV16 409_length%=path%?39 410path%?18=(_length%MOD16)<<4 411path%?19=_length%DIV16 412path%?22=(_length%MOD16)<<4 413path%?23=_length%DIV16 414IF (_Style% AND (1<<6))=0 THEN_Fill_Style%=&30 ELSE_Fill_Style%=&32 415CASE path%!24 OF 416WHEN -1 417OTHERWISE 418_col%=path%!24 419IF !(HIMEM+20)=0 AND _col%=0 THEN_col%=(255<<8)+(255<<16)+(255<<24) 420SYS "ColourTrans_SetGCOL",_col%,,,1<<8 421SYS "Draw_Fill",_Path%,_Fill_Style%,transform,_Flatness% 422ENDCASE 423_col%=path%!28 424IF !(HIMEM+20)=0 AND _col%=0 THEN_col%=(255<<8)+(255<<16)+(255<<24) 425SYS "ColourTrans_SetGCOL",_col% 426SYS "Draw_Stroke",_Path%,,transform,_Flatness%,_Thickness%,path%+8,_Dash% 427path%!8=_x% :path%!12=_y% :path%!16=_X% :path%!20=_Y% 428SYS "Hourglass_Off" 429ENDIF 430ENDPROC
"� � � � � :� "Throwback:Error" � =�FreeSlot �BeginDrawing �Centimetres circle=�Circle(3,3,2) �Quit � �FreeSlot � Buffer%,Free_Size% +ș "Wimp_SlotSize",-1,-1 � ,,Free_Size% � Free_Size%<32 � � � � ș "Wimp_CommandWindow",-1 L� � 0,"DrawBasic needs a non-empty 'Free' slot to save Draw file output" � 4� Free_Size%>1024*1024*4 �Free_Size%=1024*1024*4 Buffer%=� �=Buffer%+Free_Size% !Buffer%=Buffer%+8 2Buffer%!4=Buffer%+Free_Size%-4 :!(Buffer%!4)=0 =Buffer% � �Draw_AddWord(x%) )� (!�)>=(!(�+4)) �� 0,"Out of memory" !(!�)=x% !�+=4 � � �Draw_AddFloat(x) +� (!�)+4>=(!(�+4)) �� 0,"Out of memory" |(!�)=x !�+=8 � "� �Draw_AddString(pointer%,x$) � _a%,_b% !_a%=� x$ "4� (!pointer%+_a%)>=(!(�+4)) �� 0,"Out of memory" #.� (_a%�4)<>0 �x$+=�4-(_a%�4),�0) :_a%=� x$ $%_b%=pointer%!_a% :$(!pointer%)=x$ %&!pointer%+=_a% :pointer%!_a%=_b% &� '� �Draw_AddCoords(x,y) (�Draw_AddWord(�Draw_X(x)) )�Draw_AddWord(�Draw_Y(y)) *� +$� �MoveMemory(address%,n_words%) ,� _i%,_n% :_n%=4*n_words% -0� !�+_n%>=(!(�+4)) �� 0,"Not enough memory!" .<� �CurrentPath>=address% ��CurrentPath(�CurrentPath+_n%) /E� �CurrentSubpath>=address% ��CurrentSubpath(�CurrentSubpath+_n%) 0_i%=!(�+4) 1ȕ !_i%>=address% 2!_i%+=_n% :_i%+=4 3� 4 _i%=!� 5,ȕ _i%>address% :_i%-=4 :_i%!_n%=!_i% :� 6!�+=_n% 7� 8� �BeginDrawing 9�Draw_SetUp :�Draw_SetFileHeader ;�Draw_SetFontTable <� =� �Draw_SetUp >*� _scale% :_scale%=�(180*256/2.54+.5) ?*�Draw_AddWord(0) @*�Draw_AddWord(0) A*�Draw_AddWord(0) B*�Draw_AddWord(12*_scale%) C*�Draw_AddWord(12*_scale%) D*�Draw_AddFloat(0) E*�Draw_AddFloat(0) F*�Draw_AddFloat(12) G*�Draw_AddFloat(12) H*�Draw_AddWord(_scale%) I*�Draw_AddWord(0) J*�Draw_AddWord(0) K*�Draw_AddWord(0) L*�Draw_AddWord(0) M*�Draw_AddWord(12) N*�Draw_AddWord(14*640) O*�Draw_AddWord(0) P*�Draw_AddWord(1) Q*�Draw_AddWord(1<<16) R*�Draw_AddWord(0) S*�Draw_AddWord(0) T*�Draw_AddWord(1<<16) U*�Draw_AddWord(256*90) V*�Draw_AddWord(256*90) W*�Draw_AddWord(_scale%) X*�Draw_AddWord(1<<16) Y*�Draw_AddWord((3<<16)+3) Z*�Draw_AddWord(0) [*�Draw_AddWord(1) \*�Draw_AddWord(0) ]*�Draw_AddWord(1) ^*�Draw_AddWord(0) _*�Draw_AddWord(10) `*�Draw_AddWord(7) a*�Draw_AddWord(10) b*�Draw_AddWord(7) c*�Draw_AddWord(1<<16) d*�Draw_AddWord(1<<15) e*�Draw_AddWord(1<<16) f*�Draw_AddWord(1<<15) g*�Draw_AddWord(1<<16) h*�Draw_AddWord(0) i*�Draw_AddWord(0) j*�Draw_AddWord(1<<16) k*�Draw_AddWord(0) l*�Draw_AddWord(0) m*�Draw_AddWord(10000) n*�Draw_AddWord(100) o*�Draw_AddWord(300) p*�Draw_AddWord(4) q*�Draw_AddWord(0) r*�Draw_AddWord(-1) s*�Draw_AddWord(0) t*�Draw_AddWord(0) u*�Draw_AddWord(0) v*�Draw_AddWord(0) w|(�+240)=5/6 x%!(�+8)=!� y� z� �Draw_SetFileHeader {&�Draw_AddString(�,"Draw") |*�Draw_AddWord(201) }*�Draw_AddWord(0) ~&�Draw_AddString(�,"DrawBasic ") *�Draw_AddWord(0) �*�Draw_AddWord(0) �*�Draw_AddWord(256*180*12*3*800) �*�Draw_AddWord(256*180*12*3*800) �� �� �Draw_SetFontTable � � _fonts% :_fonts%=!(�+8)+40 �&�Draw_AddWord(0) �&�Draw_AddWord(0) �-�Draw_AddString(�,�1+"Trinity.Medium"+�0) �%!(_fonts%+4)=!�-_fonts% �� �� �Quit ��PathEnd �8�("Save DrawBasic:Draw.File "+�~(!(�+8))+" "+�~(!�)) �)*SetType DrawBasic:Draw.File DrawFile �"*Filer_Run DrawBasic:Draw.File �� �� �Units=!(�+60) �� �Centimetres �!(�+60)=�(256*180/2.54+.5) ��FrameSize(0,0,12,12) ��FrameCoords(0,12,0,12) ��Preview �� �"� �DrawUnits(a)=�(�Units*a+.5) �"� �FrameSize(a,b,width,height) �"�FrameCoords(0,width,0,height) �!(�+20)=�DrawUnits(width) �!(�+24)=�DrawUnits(height) �!(�+12)=�DrawUnits(a) �!(�+16)=�DrawUnits(b) �� �� �Frame_x=!(�+12) �� �Frame_y=!(�+16) �� �Frame_Width=!(�+20) �� �Frame_Height=!(�+24) �� �FRAME_x=|(�+28) �� �FRAME_y=|(�+36) �� �FRAME_Width=|(�+44) �� �FRAME_Height=|(�+52) �(� �X_Scale=�Frame_Width/�FRAME_Width �*� �Y_Scale=�Frame_Height/�FRAME_Height �5� �Draw_X(x)=�(�Frame_x+(x-�FRAME_x)*�X_Scale+.5) �5� �Draw_Y(y)=�(�Frame_y+(y-�FRAME_y)*�Y_Scale+.5) �� �FrameCoords(a,b,u,v) � � _frame% �_frame%=�+28 �7� a>=b �� 0, � a+" < x < "+� b+" is a bad x range " �7� u>=v �� 0, � u+" < y < "+� v+" is a bad y range " �%|(_frame%)=a :|(_frame%+8)=u �(|(_frame%+16)=b-a :|(_frame%+24)=v-u �� �� �DrawDx=!(�+112) �� �DrawDy=!(�+116) �� �DrawTrans=�+96 �� �Preview �� 26 :� �%� _h,_max%,_x%,_y%,_I%,_font%,_n$ �#�DrawPreviewBorders(3000,12,8) ��DrawPreviewHScales(3000) ��DrawPreviewVScales(3000) ��DrawPreviewTitle(14,7) �� �.� �DrawPreviewBorders(max%,point%,colour%) �point%=point%*16 �.ș "ColourTrans_SetGCOL",�DesktopColour(2) �ȓ Ȑ 0,0,�DrawDy>>8,max% �ȓ Ȑ 0,0,max%,�DrawDx>>8 �.ș "ColourTrans_SetGCOL",�DesktopColour(7) �+� �DrawDx>>8,�DrawDy>>8,max%,�DrawDy>>8 �+� �DrawDx>>8,�DrawDy>>8,�DrawDx>>8,max% �9ș "Font_FindFont",,"Trinity.Medium"+�0,point%,point% �Qș "ColourTrans_SetFontColours",,�DesktopColour(2),�DesktopColour(colour%),14 �� �'� �DrawPreviewTitle(point%,colour%) �� _n$,_f$,i% �0_f$=�ReadSystemVariable("DrawBasic$Options") �-i%=�_f$,":") :� i%<>0 �_f$=�_f$,� _f$-i%) �point%=point%*16 � _n$="DrawBasic "+�Leaf(_f$) �6� �Units=256*180 �_n$+=" (Inches)" �_n$+=" (Cms)" �9ș "Font_FindFont",,"Trinity.Medium"+�0,point%,point% �Qș "ColourTrans_SetFontColours",,�DesktopColour(2),�DesktopColour(colour%),14 �%ș "Font_Paint",,_n$,%10000,16,12 �� �$� �ReadSystemVariable(variable$) �� _len%,_variable% �� _variable% 256 �<ș "OS_ReadVarVal",variable$,_variable%,256,,3 � ,,_len% �_variable%?_len%=13 �=$_variable% �� �Leaf(x$) �� _i% :_i%=�x$,".") �'� _i%=0 �=x$ �=�Leaf(�x$,� x$-_i%)) �� �DrawPreviewHScales(max%) �� _h,_x%,_I%,_dx%,_dy% �;_I%=0 :_h%=�Units>>8 :_dx%=�DrawDx>>8 :_dy%=�DrawDy>>8 �!� :_x%=_dx%+(�Draw_Y(_I%)>>8) �� _x%,_dy%,_x%,3*_dy%/4 �'� _x%+_h%/2,_dy%,_x%+_h%/2,7*_dy%/8 �/ș "Font_Paint",,�(_I%),%10000,_x%-8,_dy%/2 � _I%+=1 �� _x%>max% �� �� �DrawPreviewVScales(max%) �� _h,_y%,_I%,_dx%,_dy% �:_I%=0 :_h%=�Units>>8 :_dx%=�DrawDx>>8 :_dy%=�DrawDy>>8 �!� :_y%=_dy%+(�Draw_X(_I%)>>8) �� _dx%,_y%,3*_dx%/4,_y% �(� _dx%,_y%+_h%/2,7*_dx%/8,_y%+_h%/2 � � _I%>9 � �,ș "Font_Paint",,�(_I%),%10000,36,_y%-10 �� �,ș "Font_Paint",,�(_I%),%10000,48,_y%-10 �� � _I%+=1 �� _y%>max% �� �� �CurrentPath=!(�+64) �� �CurrentPath(path%) �!(�+64)=path% �� �� �CurrentSubpath=!(�+68) �� �CurrentSubpath(path%) �!(�+68)=path% �� �� �PathBegin(� path) �� �CurrentPath<>0 ��PathEnd �CurrentPath(!�) � �CurrentPath>=!(�+4) � 2� 0,"Out of memory. Increase the 'Free' slot." � !(�+4)-=4 path=!(�+4) !path=�CurrentPath �Draw_PathHeader "� �Dash<>0 ��Dash@(path,�Dash) � � � �Draw_PathHeader �Draw_AddWord(0) !�Draw_AddWord(44) !�Draw_AddWord(-1<<30) !�Draw_AddWord(-1<<30) !�Draw_AddWord(1<<30) !�Draw_AddWord(1<<30) �Draw_AddWord(�FillColour) �Draw_AddWord(�LineColour) �Draw_AddWord(�LineWidth) �Draw_AddWord(�Style) � � �PathEnd � �CurrentPath=0 � +� �CurrentSubpath=0 � !�CurrentPath=0 � !�=�CurrentPath B�CurrentPath(0) :�CurrentSubpath(0) � ,�Draw_AddWord(0) )!(�CurrentPath+4)=(!�)-�CurrentPath .!(�CurrentPath)=2 -�Draw_RenderPath(�CurrentPath,�DrawTrans) !C�CurrentPath(0) :�CurrentSubpath(0) "� #� $� �DrawTrans=�+96 %� �Move(x,y) &� _path ''� �CurrentPath=0 ��PathBegin(_path) (�Draw_AddWord(2) )�CurrentSubpath(!�) *�Draw_AddCoords(x,y) +7� (!(�+112)+�Draw_X(x))>>8,(!(�+116)+�Draw_Y(y))>>8 ,� -� �Bezier(a,b,c,d,x,y) .#� _path%,_store% :_path%=!(�+4) /A� �CurrentPath=0 � � 1,"Can't Draw Bezier if No PathBegun" 0J� �CurrentSubpath=0 � � 0,"Subpath must start with Move before Bezier" 15_path%=!� :_path%-=12 :_store%=!_path% :!_path%=2 2�Draw_AddWord(6) 3�Draw_AddCoords(a,b) 4�Draw_AddCoords(c,d) 5�Draw_AddCoords(x,y) 6�Draw_AddWord(0) 7 !�-=4 8'ș "Draw_Stroke",_path%,,�DrawTrans 9!_path%=_store% :!(�CurrentPath)=� ;7� (!(�+112)+�Draw_X(x))>>8,(!(�+116)+�Draw_Y(y))>>8 <� =� �CloseWithLine >*� �CurrentPath<>0 � �CurrentPath<>0 � ? � _x%,_y% @1_x%=!�CurrentSubpath:_y%=!(�CurrentSubpath+4) A)� (!(�+112)+_x%)>>8,(!(�+116)+_y%)>>8 B�Draw_AddWord(5) C� D� E� �@Circle(x,y,radius) F� _a :_a=radius*4*(�2-1)/3 G�Move(x,y+radius) H3�Bezier(x+_a,y+radius,x+radius,y+_a,x+radius,y) I3�Bezier(x+radius,y-_a,x+_a,y-radius,x,y-radius) J3�Bezier(x-_a,y-radius,x-radius,y-_a,x-radius,y) K3�Bezier(x-radius,y+_a,x-_a,y+radius,x,y+radius) L�CloseWithLine M� N� �Circle(x,y,radius) O� _path% P�PathBegin(_path%) Q�@Circle(x,y,radius) R�PathEnd S=_path% T� �LineWidth=!(�+232) U� �LineColour=!(�+224) V� �FillColour=!(�+228) WB� �Shade(Red%,Green%,Blue%)=(Red%<<8)+(Green%<<16)+(Blue%<<24) X� �DesktopColour(colour%) Y-� � colour%<256 �colour%=(� colour%) � 16 ZȎ colour% � [$� 0 :colour%=�Shade(255,255,255) \$� 1 :colour%=�Shade(221,221,221) ]$� 2 :colour%=�Shade(187,187,187) ^$� 3 :colour%=�Shade(153,153,153) _$� 4 :colour%=�Shade(119,119,119) `!� 5 :colour%=�Shade(85,85,85) a!� 6 :colour%=�Shade(51,51,51) b� 7 :colour%=%11111111 c!� 8 :colour%=�Shade(0,68,153) d"� 9 :colour%=�Shade(238,238,0) e!� 10 :colour%=�Shade(0,204,0) f!� 11 :colour%=�Shade(221,0,0) g%� 12 :colour%=�Shade(238,238,187) h"� 13 :colour%=�Shade(85,136,0) i#� 14 :colour%=�Shade(255,187,0) j#� 15 :colour%=�Shade(0,187,255) k� l=colour% m� �Style=!(�+236) n� �Dash=!(�+76) o!� �Dash@(Draw_Path%,pattern%) p� _Path%,_i%,_n%,_max% q_Path%=!Draw_Path% r� _Path%<>0 � s_n%=pattern%!4 t_Path%!4+=4*(_n%+2) u._Path%!36=((_Path%!36) � �(1<<7)) � (1<<7) v_max%=!(�+4) w �MoveMemory(_Path%+40,_n%+2) x_i%=Draw_Path%-4 y-ȕ _i%>=_max% :!_i%+=4*(_n%+2) :_i%-=4 :� z� _i%=0 � _n%+1 {,_Path%!(40+4*_i%)=(pattern%!(4*_i%))*640 |� }_Path%!44=_n% ~� � �'� �Draw_RenderPath(path%,transform) �� path%<>0 � �^� _Path%,_Dash%,_Thickness%,_Style%,_Flatness%,_Fill_Style%,_length%,_x%,_y%,_X%,_Y%,_col% �ș "Hourglass_On" �_Flatness%=0 �9_x%=path%!8 :_y%=path%!12 :_X%=path%!16 :_Y%=path%!20 �_Thickness%=path%!32 �_Style%=path%!36 �_Path%=path%+40 �� (_Style% � (1<<7)) = 0 � �_Dash%=0 �� �_Dash%=_Path% �_Path%+=4*(_Dash%!4)+8 �� �$path%?8 = _Style% � %11 �$path%?9 =(_Style% � %1100)>>2 �$path%?10=(_Style% � %110000)>>4 �path%?11=0 �path%!12=10<<16 � _length%=path%?38 �path%?16=(_length%�16)<<4 �path%?17=_length%�16 �path%?20=(_length%�16)<<4 �path%?21=_length%�16 � _length%=path%?39 �path%?18=(_length%�16)<<4 �path%?19=_length%�16 �path%?22=(_length%�16)<<4 �path%?23=_length%�16 �>� (_Style% � (1<<6))=0 �_Fill_Style%=&30 �_Fill_Style%=&32 �Ȏ path%!24 � �� -1 � �_col%=path%!24 �=� !(�+20)=0 � _col%=0 �_col%=(255<<8)+(255<<16)+(255<<24) �)ș "ColourTrans_SetGCOL",_col%,,,1<<8 �;ș "Draw_Fill",_Path%,_Fill_Style%,transform,_Flatness% �� �_col%=path%!28 �=� !(�+20)=0 � _col%=0 �_col%=(255<<8)+(255<<16)+(255<<24) �"ș "ColourTrans_SetGCOL",_col% �Lș "Draw_Stroke",_Path%,,transform,_Flatness%,_Thickness%,path%+8,_Dash% �9path%!8=_x% :path%!12=_y% :path%!16=_X% :path%!20=_Y% �ș "Hourglass_Off" �� �� �
00000000 0d 00 01 22 ee 20 85 20 ee 20 85 20 87 20 3a d7 |...". . . . . :.| 00000010 20 22 54 68 72 6f 77 62 61 63 6b 3a 45 72 72 6f | "Throwback:Erro| 00000020 72 22 0d 00 02 10 d3 20 3d a4 46 72 65 65 53 6c |r"..... =.FreeSl| 00000030 6f 74 0d 00 03 11 f2 42 65 67 69 6e 44 72 61 77 |ot.....BeginDraw| 00000040 69 6e 67 0d 00 04 10 f2 43 65 6e 74 69 6d 65 74 |ing.....Centimet| 00000050 72 65 73 0d 00 05 19 63 69 72 63 6c 65 3d a4 43 |res....circle=.C| 00000060 69 72 63 6c 65 28 33 2c 33 2c 32 29 0d 00 06 09 |ircle(3,3,2)....| 00000070 f2 51 75 69 74 0d 00 07 0f dd 20 a4 46 72 65 65 |.Quit..... .Free| 00000080 53 6c 6f 74 0d 00 08 18 ea 20 42 75 66 66 65 72 |Slot..... Buffer| 00000090 25 2c 46 72 65 65 5f 53 69 7a 65 25 0d 00 09 2b |%,Free_Size%...+| 000000a0 c8 99 20 22 57 69 6d 70 5f 53 6c 6f 74 53 69 7a |.. "Wimp_SlotSiz| 000000b0 65 22 2c 2d 31 2c 2d 31 20 b8 20 2c 2c 46 72 65 |e",-1,-1 . ,,Fre| 000000c0 65 5f 53 69 7a 65 25 0d 00 0a 15 e7 20 46 72 65 |e_Size%..... Fre| 000000d0 65 5f 53 69 7a 65 25 3c 33 32 20 8c 0d 00 0b 09 |e_Size%<32 .....| 000000e0 ee 20 85 20 87 0d 00 0c 1e c8 99 20 22 57 69 6d |. . ....... "Wim| 000000f0 70 5f 43 6f 6d 6d 61 6e 64 57 69 6e 64 6f 77 22 |p_CommandWindow"| 00000100 2c 2d 31 0d 00 0d 4c 85 20 a2 20 30 2c 22 44 72 |,-1...L. . 0,"Dr| 00000110 61 77 42 61 73 69 63 20 6e 65 65 64 73 20 61 20 |awBasic needs a | 00000120 6e 6f 6e 2d 65 6d 70 74 79 20 27 46 72 65 65 27 |non-empty 'Free'| 00000130 20 73 6c 6f 74 20 74 6f 20 73 61 76 65 20 44 72 | slot to save Dr| 00000140 61 77 20 66 69 6c 65 20 6f 75 74 70 75 74 22 0d |aw file output".| 00000150 00 0e 05 cd 0d 00 0f 34 e7 20 46 72 65 65 5f 53 |.......4. Free_S| 00000160 69 7a 65 25 3e 31 30 32 34 2a 31 30 32 34 2a 34 |ize%>1024*1024*4| 00000170 20 8c 46 72 65 65 5f 53 69 7a 65 25 3d 31 30 32 | .Free_Size%=102| 00000180 34 2a 31 30 32 34 2a 34 0d 00 10 0d 42 75 66 66 |4*1024*4....Buff| 00000190 65 72 25 3d 93 0d 00 11 18 e0 3d 42 75 66 66 65 |er%=......=Buffe| 000001a0 72 25 2b 46 72 65 65 5f 53 69 7a 65 25 0d 00 12 |r%+Free_Size%...| 000001b0 16 21 42 75 66 66 65 72 25 3d 42 75 66 66 65 72 |.!Buffer%=Buffer| 000001c0 25 2b 38 0d 00 13 32 42 75 66 66 65 72 25 21 34 |%+8...2Buffer%!4| 000001d0 3d 42 75 66 66 65 72 25 2b 46 72 65 65 5f 53 69 |=Buffer%+Free_Si| 000001e0 7a 65 25 2d 34 20 3a 21 28 42 75 66 66 65 72 25 |ze%-4 :!(Buffer%| 000001f0 21 34 29 3d 30 0d 00 14 0c 3d 42 75 66 66 65 72 |!4)=0....=Buffer| 00000200 25 0d 00 15 17 dd 20 f2 44 72 61 77 5f 41 64 64 |%..... .Draw_Add| 00000210 57 6f 72 64 28 78 25 29 0d 00 16 29 e7 20 28 21 |Word(x%)...). (!| 00000220 93 29 3e 3d 28 21 28 93 2b 34 29 29 20 8c 85 20 |.)>=(!(.+4)) .. | 00000230 30 2c 22 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 |0,"Out of memory| 00000240 22 0d 00 17 0e 21 28 21 93 29 3d 78 25 20 20 0d |"....!(!.)=x% .| 00000250 00 18 0e 21 93 2b 3d 34 20 20 20 20 20 0d 00 19 |...!.+=4 ...| 00000260 05 e1 0d 00 1a 17 dd 20 f2 44 72 61 77 5f 41 64 |....... .Draw_Ad| 00000270 64 46 6c 6f 61 74 28 78 29 0d 00 1b 2b e7 20 28 |dFloat(x)...+. (| 00000280 21 93 29 2b 34 3e 3d 28 21 28 93 2b 34 29 29 20 |!.)+4>=(!(.+4)) | 00000290 8c 85 20 30 2c 22 4f 75 74 20 6f 66 20 6d 65 6d |.. 0,"Out of mem| 000002a0 6f 72 79 22 0d 00 1c 0e 7c 28 21 93 29 3d 78 20 |ory"....|(!.)=x | 000002b0 20 20 0d 00 1d 0e 21 93 2b 3d 38 20 20 20 20 20 | ....!.+=8 | 000002c0 0d 00 1e 05 e1 0d 00 1f 22 dd 20 f2 44 72 61 77 |........". .Draw| 000002d0 5f 41 64 64 53 74 72 69 6e 67 28 70 6f 69 6e 74 |_AddString(point| 000002e0 65 72 25 2c 78 24 29 0d 00 20 0d ea 20 5f 61 25 |er%,x$).. .. _a%| 000002f0 2c 5f 62 25 0d 00 21 0c 5f 61 25 3d a9 20 78 24 |,_b%..!._a%=. x$| 00000300 0d 00 22 34 e7 20 28 21 70 6f 69 6e 74 65 72 25 |.."4. (!pointer%| 00000310 2b 5f 61 25 29 3e 3d 28 21 28 93 2b 34 29 29 20 |+_a%)>=(!(.+4)) | 00000320 8c 85 20 30 2c 22 4f 75 74 20 6f 66 20 6d 65 6d |.. 0,"Out of mem| 00000330 6f 72 79 22 0d 00 23 2e e7 20 28 5f 61 25 83 34 |ory"..#.. (_a%.4| 00000340 29 3c 3e 30 20 8c 78 24 2b 3d c4 34 2d 28 5f 61 |)<>0 .x$+=.4-(_a| 00000350 25 83 34 29 2c bd 30 29 20 3a 5f 61 25 3d a9 20 |%.4),.0) :_a%=. | 00000360 78 24 0d 00 24 25 5f 62 25 3d 70 6f 69 6e 74 65 |x$..$%_b%=pointe| 00000370 72 25 21 5f 61 25 20 3a 24 28 21 70 6f 69 6e 74 |r%!_a% :$(!point| 00000380 65 72 25 29 3d 78 24 0d 00 25 26 21 70 6f 69 6e |er%)=x$..%&!poin| 00000390 74 65 72 25 2b 3d 5f 61 25 20 20 20 3a 70 6f 69 |ter%+=_a% :poi| 000003a0 6e 74 65 72 25 21 5f 61 25 3d 5f 62 25 0d 00 26 |nter%!_a%=_b%..&| 000003b0 05 e1 0d 00 27 1a dd 20 f2 44 72 61 77 5f 41 64 |....'.. .Draw_Ad| 000003c0 64 43 6f 6f 72 64 73 28 78 2c 79 29 0d 00 28 1d |dCoords(x,y)..(.| 000003d0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 44 |.Draw_AddWord(.D| 000003e0 72 61 77 5f 58 28 78 29 29 0d 00 29 1d f2 44 72 |raw_X(x))..)..Dr| 000003f0 61 77 5f 41 64 64 57 6f 72 64 28 a4 44 72 61 77 |aw_AddWord(.Draw| 00000400 5f 59 28 79 29 29 0d 00 2a 05 e1 0d 00 2b 24 dd |_Y(y))..*....+$.| 00000410 20 f2 4d 6f 76 65 4d 65 6d 6f 72 79 28 61 64 64 | .MoveMemory(add| 00000420 72 65 73 73 25 2c 6e 5f 77 6f 72 64 73 25 29 0d |ress%,n_words%).| 00000430 00 2c 1e ea 20 5f 69 25 2c 5f 6e 25 20 3a 5f 6e |.,.. _i%,_n% :_n| 00000440 25 3d 34 2a 6e 5f 77 6f 72 64 73 25 20 0d 00 2d |%=4*n_words% ..-| 00000450 30 e7 20 21 93 2b 5f 6e 25 3e 3d 28 21 28 93 2b |0. !.+_n%>=(!(.+| 00000460 34 29 29 20 8c 85 20 30 2c 22 4e 6f 74 20 65 6e |4)) .. 0,"Not en| 00000470 6f 75 67 68 20 6d 65 6d 6f 72 79 21 22 0d 00 2e |ough memory!"...| 00000480 3c e7 20 a4 43 75 72 72 65 6e 74 50 61 74 68 3e |<. .CurrentPath>| 00000490 3d 61 64 64 72 65 73 73 25 20 8c f2 43 75 72 72 |=address% ..Curr| 000004a0 65 6e 74 50 61 74 68 28 a4 43 75 72 72 65 6e 74 |entPath(.Current| 000004b0 50 61 74 68 2b 5f 6e 25 29 0d 00 2f 45 e7 20 a4 |Path+_n%)../E. .| 000004c0 43 75 72 72 65 6e 74 53 75 62 70 61 74 68 3e 3d |CurrentSubpath>=| 000004d0 61 64 64 72 65 73 73 25 20 8c f2 43 75 72 72 65 |address% ..Curre| 000004e0 6e 74 53 75 62 70 61 74 68 28 a4 43 75 72 72 65 |ntSubpath(.Curre| 000004f0 6e 74 53 75 62 70 61 74 68 2b 5f 6e 25 29 0d 00 |ntSubpath+_n%)..| 00000500 30 0e 5f 69 25 3d 21 28 93 2b 34 29 0d 00 31 15 |0._i%=!(.+4)..1.| 00000510 c8 95 20 21 5f 69 25 3e 3d 61 64 64 72 65 73 73 |.. !_i%>=address| 00000520 25 0d 00 32 16 21 5f 69 25 2b 3d 5f 6e 25 20 3a |%..2.!_i%+=_n% :| 00000530 5f 69 25 2b 3d 34 20 0d 00 33 05 ce 0d 00 34 0a |_i%+=4 ..3....4.| 00000540 5f 69 25 3d 21 93 0d 00 35 2c c8 95 20 5f 69 25 |_i%=!...5,.. _i%| 00000550 3e 61 64 64 72 65 73 73 25 20 3a 5f 69 25 2d 3d |>address% :_i%-=| 00000560 34 20 3a 5f 69 25 21 5f 6e 25 3d 21 5f 69 25 20 |4 :_i%!_n%=!_i% | 00000570 3a ce 0d 00 36 0c 21 93 2b 3d 5f 6e 25 20 0d 00 |:...6.!.+=_n% ..| 00000580 37 05 e1 0d 00 38 13 dd 20 f2 42 65 67 69 6e 44 |7....8.. .BeginD| 00000590 72 61 77 69 6e 67 0d 00 39 0f f2 44 72 61 77 5f |rawing..9..Draw_| 000005a0 53 65 74 55 70 0d 00 3a 17 f2 44 72 61 77 5f 53 |SetUp..:..Draw_S| 000005b0 65 74 46 69 6c 65 48 65 61 64 65 72 0d 00 3b 16 |etFileHeader..;.| 000005c0 f2 44 72 61 77 5f 53 65 74 46 6f 6e 74 54 61 62 |.Draw_SetFontTab| 000005d0 6c 65 0d 00 3c 05 e1 0d 00 3d 11 dd 20 f2 44 72 |le..<....=.. .Dr| 000005e0 61 77 5f 53 65 74 55 70 0d 00 3e 2a ea 20 5f 73 |aw_SetUp..>*. _s| 000005f0 63 61 6c 65 25 20 20 3a 5f 73 63 61 6c 65 25 3d |cale% :_scale%=| 00000600 a8 28 31 38 30 2a 32 35 36 2f 32 2e 35 34 2b 2e |.(180*256/2.54+.| 00000610 35 29 0d 00 3f 2a f2 44 72 61 77 5f 41 64 64 57 |5)..?*.Draw_AddW| 00000620 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 |ord(0) | 00000630 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 40 2a | ..@*| 00000640 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 |.Draw_AddWord(0)| 00000650 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000660 20 20 20 20 20 20 0d 00 41 2a f2 44 72 61 77 5f | ..A*.Draw_| 00000670 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 00000680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000690 0d 00 42 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..B*.Draw_AddWor| 000006a0 64 28 31 32 2a 5f 73 63 61 6c 65 25 29 20 20 20 |d(12*_scale%) | 000006b0 20 20 20 20 20 20 20 20 20 20 0d 00 43 2a f2 44 | ..C*.D| 000006c0 72 61 77 5f 41 64 64 57 6f 72 64 28 31 32 2a 5f |raw_AddWord(12*_| 000006d0 73 63 61 6c 65 25 29 20 20 20 20 20 20 20 20 20 |scale%) | 000006e0 20 20 20 20 0d 00 44 2a f2 44 72 61 77 5f 41 64 | ..D*.Draw_Ad| 000006f0 64 46 6c 6f 61 74 28 30 29 20 20 20 20 20 20 20 |dFloat(0) | 00000700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000710 45 2a f2 44 72 61 77 5f 41 64 64 46 6c 6f 61 74 |E*.Draw_AddFloat| 00000720 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00000730 20 20 20 20 20 20 20 20 0d 00 46 2a f2 44 72 61 | ..F*.Dra| 00000740 77 5f 41 64 64 46 6c 6f 61 74 28 31 32 29 20 20 |w_AddFloat(12) | 00000750 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000760 20 20 0d 00 47 2a f2 44 72 61 77 5f 41 64 64 46 | ..G*.Draw_AddF| 00000770 6c 6f 61 74 28 31 32 29 20 20 20 20 20 20 20 20 |loat(12) | 00000780 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 48 2a | ..H*| 00000790 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 5f 73 |.Draw_AddWord(_s| 000007a0 63 61 6c 65 25 29 20 20 20 20 20 20 20 20 20 20 |cale%) | 000007b0 20 20 20 20 20 20 0d 00 49 2a f2 44 72 61 77 5f | ..I*.Draw_| 000007c0 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 000007d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000007e0 0d 00 4a 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..J*.Draw_AddWor| 000007f0 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(0) | 00000800 20 20 20 20 20 20 20 20 20 20 0d 00 4b 2a f2 44 | ..K*.D| 00000810 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00000820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000830 20 20 20 20 0d 00 4c 2a f2 44 72 61 77 5f 41 64 | ..L*.Draw_Ad| 00000840 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00000850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000860 4d 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |M*.Draw_AddWord(| 00000870 31 32 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |12) | 00000880 20 20 20 20 20 20 20 20 0d 00 4e 2a f2 44 72 61 | ..N*.Dra| 00000890 77 5f 41 64 64 57 6f 72 64 28 31 34 2a 36 34 30 |w_AddWord(14*640| 000008a0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 000008b0 20 20 0d 00 4f 2a f2 44 72 61 77 5f 41 64 64 57 | ..O*.Draw_AddW| 000008c0 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 20 20 |ord(0) | 000008d0 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 50 2a | ..P*| 000008e0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 31 29 |.Draw_AddWord(1)| 000008f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000900 20 20 20 20 20 20 0d 00 51 2a f2 44 72 61 77 5f | ..Q*.Draw_| 00000910 41 64 64 57 6f 72 64 28 31 3c 3c 31 36 29 20 20 |AddWord(1<<16) | 00000920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000930 0d 00 52 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..R*.Draw_AddWor| 00000940 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(0) | 00000950 20 20 20 20 20 20 20 20 20 20 0d 00 53 2a f2 44 | ..S*.D| 00000960 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00000970 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000980 20 20 20 20 0d 00 54 2a f2 44 72 61 77 5f 41 64 | ..T*.Draw_Ad| 00000990 64 57 6f 72 64 28 31 3c 3c 31 36 29 20 20 20 20 |dWord(1<<16) | 000009a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 000009b0 55 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |U*.Draw_AddWord(| 000009c0 32 35 36 2a 39 30 29 20 20 20 20 20 20 20 20 20 |256*90) | 000009d0 20 20 20 20 20 20 20 20 0d 00 56 2a f2 44 72 61 | ..V*.Dra| 000009e0 77 5f 41 64 64 57 6f 72 64 28 32 35 36 2a 39 30 |w_AddWord(256*90| 000009f0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00000a00 20 20 0d 00 57 2a f2 44 72 61 77 5f 41 64 64 57 | ..W*.Draw_AddW| 00000a10 6f 72 64 28 5f 73 63 61 6c 65 25 29 20 20 20 20 |ord(_scale%) | 00000a20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 58 2a | ..X*| 00000a30 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 31 3c |.Draw_AddWord(1<| 00000a40 3c 31 36 29 20 20 20 20 20 20 20 20 20 20 20 20 |<16) | 00000a50 20 20 20 20 20 20 0d 00 59 2a f2 44 72 61 77 5f | ..Y*.Draw_| 00000a60 41 64 64 57 6f 72 64 28 28 33 3c 3c 31 36 29 2b |AddWord((3<<16)+| 00000a70 33 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |3) | 00000a80 0d 00 5a 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..Z*.Draw_AddWor| 00000a90 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(0) | 00000aa0 20 20 20 20 20 20 20 20 20 20 0d 00 5b 2a f2 44 | ..[*.D| 00000ab0 72 61 77 5f 41 64 64 57 6f 72 64 28 31 29 20 20 |raw_AddWord(1) | 00000ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ad0 20 20 20 20 0d 00 5c 2a f2 44 72 61 77 5f 41 64 | ..\*.Draw_Ad| 00000ae0 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00000af0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000b00 5d 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |]*.Draw_AddWord(| 00000b10 31 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1) | 00000b20 20 20 20 20 20 20 20 20 0d 00 5e 2a f2 44 72 61 | ..^*.Dra| 00000b30 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 |w_AddWord(0) | 00000b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000b50 20 20 0d 00 5f 2a f2 44 72 61 77 5f 41 64 64 57 | .._*.Draw_AddW| 00000b60 6f 72 64 28 31 30 29 20 20 20 20 20 20 20 20 20 |ord(10) | 00000b70 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 60 2a | ..`*| 00000b80 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 37 29 |.Draw_AddWord(7)| 00000b90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ba0 20 20 20 20 20 20 0d 00 61 2a f2 44 72 61 77 5f | ..a*.Draw_| 00000bb0 41 64 64 57 6f 72 64 28 31 30 29 20 20 20 20 20 |AddWord(10) | 00000bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000bd0 0d 00 62 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..b*.Draw_AddWor| 00000be0 64 28 37 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(7) | 00000bf0 20 20 20 20 20 20 20 20 20 20 0d 00 63 2a f2 44 | ..c*.D| 00000c00 72 61 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 |raw_AddWord(1<<1| 00000c10 36 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |6) | 00000c20 20 20 20 20 0d 00 64 2a f2 44 72 61 77 5f 41 64 | ..d*.Draw_Ad| 00000c30 64 57 6f 72 64 28 31 3c 3c 31 35 29 20 20 20 20 |dWord(1<<15) | 00000c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000c50 65 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |e*.Draw_AddWord(| 00000c60 31 3c 3c 31 36 29 20 20 20 20 20 20 20 20 20 20 |1<<16) | 00000c70 20 20 20 20 20 20 20 20 0d 00 66 2a f2 44 72 61 | ..f*.Dra| 00000c80 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 31 35 29 |w_AddWord(1<<15)| 00000c90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ca0 20 20 0d 00 67 2a f2 44 72 61 77 5f 41 64 64 57 | ..g*.Draw_AddW| 00000cb0 6f 72 64 28 31 3c 3c 31 36 29 20 20 20 20 20 20 |ord(1<<16) | 00000cc0 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 68 2a | ..h*| 00000cd0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 |.Draw_AddWord(0)| 00000ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000cf0 20 20 20 20 20 20 0d 00 69 2a f2 44 72 61 77 5f | ..i*.Draw_| 00000d00 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 00000d10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000d20 0d 00 6a 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..j*.Draw_AddWor| 00000d30 64 28 31 3c 3c 31 36 29 20 20 20 20 20 20 20 20 |d(1<<16) | 00000d40 20 20 20 20 20 20 20 20 20 20 0d 00 6b 2a f2 44 | ..k*.D| 00000d50 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00000d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000d70 20 20 20 20 0d 00 6c 2a f2 44 72 61 77 5f 41 64 | ..l*.Draw_Ad| 00000d80 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00000d90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000da0 6d 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |m*.Draw_AddWord(| 00000db0 31 30 30 30 30 29 20 20 20 20 20 20 20 20 20 20 |10000) | 00000dc0 20 20 20 20 20 20 20 20 0d 00 6e 2a f2 44 72 61 | ..n*.Dra| 00000dd0 77 5f 41 64 64 57 6f 72 64 28 31 30 30 29 20 20 |w_AddWord(100) | 00000de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000df0 20 20 0d 00 6f 2a f2 44 72 61 77 5f 41 64 64 57 | ..o*.Draw_AddW| 00000e00 6f 72 64 28 33 30 30 29 20 20 20 20 20 20 20 20 |ord(300) | 00000e10 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 70 2a | ..p*| 00000e20 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 34 29 |.Draw_AddWord(4)| 00000e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e40 20 20 20 20 20 20 0d 00 71 2a f2 44 72 61 77 5f | ..q*.Draw_| 00000e50 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 |AddWord(0) | 00000e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000e70 0d 00 72 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 |..r*.Draw_AddWor| 00000e80 64 28 2d 31 29 20 20 20 20 20 20 20 20 20 20 20 |d(-1) | 00000e90 20 20 20 20 20 20 20 20 20 20 0d 00 73 2a f2 44 | ..s*.D| 00000ea0 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00000eb0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ec0 20 20 20 20 0d 00 74 2a f2 44 72 61 77 5f 41 64 | ..t*.Draw_Ad| 00000ed0 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 20 |dWord(0) | 00000ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d 00 | ..| 00000ef0 75 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 |u*.Draw_AddWord(| 00000f00 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0) | 00000f10 20 20 20 20 20 20 20 20 0d 00 76 2a f2 44 72 61 | ..v*.Dra| 00000f20 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 20 20 |w_AddWord(0) | 00000f30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f40 20 20 0d 00 77 10 7c 28 93 2b 32 34 30 29 3d 35 | ..w.|(.+240)=5| 00000f50 2f 36 0d 00 78 25 21 28 93 2b 38 29 3d 21 93 20 |/6..x%!(.+8)=!. | 00000f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000f70 20 20 20 20 20 20 20 0d 00 79 05 e1 0d 00 7a 19 | ..y....z.| 00000f80 dd 20 f2 44 72 61 77 5f 53 65 74 46 69 6c 65 48 |. .Draw_SetFileH| 00000f90 65 61 64 65 72 0d 00 7b 26 f2 44 72 61 77 5f 41 |eader..{&.Draw_A| 00000fa0 64 64 53 74 72 69 6e 67 28 93 2c 22 44 72 61 77 |ddString(.,"Draw| 00000fb0 22 29 20 20 20 20 20 20 20 20 20 0d 00 7c 2a f2 |") ..|*.| 00000fc0 44 72 61 77 5f 41 64 64 57 6f 72 64 28 32 30 31 |Draw_AddWord(201| 00000fd0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00000fe0 20 20 20 20 20 0d 00 7d 2a f2 44 72 61 77 5f 41 | ..}*.Draw_A| 00000ff0 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 |ddWord(0) | 00001000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d | .| 00001010 00 7e 26 f2 44 72 61 77 5f 41 64 64 53 74 72 69 |.~&.Draw_AddStri| 00001020 6e 67 28 93 2c 22 44 72 61 77 42 61 73 69 63 20 |ng(.,"DrawBasic | 00001030 20 20 22 29 20 0d 00 7f 2a f2 44 72 61 77 5f 41 | ") ...*.Draw_A| 00001040 64 64 57 6f 72 64 28 30 29 20 20 20 20 20 20 20 |ddWord(0) | 00001050 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0d | .| 00001060 00 80 2a f2 44 72 61 77 5f 41 64 64 57 6f 72 64 |..*.Draw_AddWord| 00001070 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 20 |(0) | 00001080 20 20 20 20 20 20 20 20 20 0d 00 81 2a f2 44 72 | ...*.Dr| 00001090 61 77 5f 41 64 64 57 6f 72 64 28 32 35 36 2a 31 |aw_AddWord(256*1| 000010a0 38 30 2a 31 32 2a 33 2a 38 30 30 29 20 20 20 20 |80*12*3*800) | 000010b0 20 20 20 0d 00 82 2a f2 44 72 61 77 5f 41 64 64 | ...*.Draw_Add| 000010c0 57 6f 72 64 28 32 35 36 2a 31 38 30 2a 31 32 2a |Word(256*180*12*| 000010d0 33 2a 38 30 30 29 20 20 20 20 20 20 20 0d 00 83 |3*800) ...| 000010e0 05 e1 0d 00 84 18 dd 20 f2 44 72 61 77 5f 53 65 |....... .Draw_Se| 000010f0 74 46 6f 6e 74 54 61 62 6c 65 0d 00 85 20 ea 20 |tFontTable... . | 00001100 5f 66 6f 6e 74 73 25 20 3a 5f 66 6f 6e 74 73 25 |_fonts% :_fonts%| 00001110 3d 21 28 93 2b 38 29 2b 34 30 0d 00 86 26 f2 44 |=!(.+8)+40...&.D| 00001120 72 61 77 5f 41 64 64 57 6f 72 64 28 30 29 20 20 |raw_AddWord(0) | 00001130 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00001140 0d 00 87 26 f2 44 72 61 77 5f 41 64 64 57 6f 72 |...&.Draw_AddWor| 00001150 64 28 30 29 20 20 20 20 20 20 20 20 20 20 20 20 |d(0) | 00001160 20 20 20 20 20 20 0d 00 88 2d f2 44 72 61 77 5f | ...-.Draw_| 00001170 41 64 64 53 74 72 69 6e 67 28 93 2c bd 31 2b 22 |AddString(.,.1+"| 00001180 54 72 69 6e 69 74 79 2e 4d 65 64 69 75 6d 22 2b |Trinity.Medium"+| 00001190 bd 30 29 0d 00 89 25 21 28 5f 66 6f 6e 74 73 25 |.0)...%!(_fonts%| 000011a0 2b 34 29 3d 21 93 2d 5f 66 6f 6e 74 73 25 20 20 |+4)=!.-_fonts% | 000011b0 20 20 20 20 20 20 20 20 0d 00 8a 05 e1 0d 00 8b | ........| 000011c0 0b dd 20 f2 51 75 69 74 0d 00 8c 0c f2 50 61 74 |.. .Quit.....Pat| 000011d0 68 45 6e 64 0d 00 8d 38 ff 28 22 53 61 76 65 20 |hEnd...8.("Save | 000011e0 44 72 61 77 42 61 73 69 63 3a 44 72 61 77 2e 46 |DrawBasic:Draw.F| 000011f0 69 6c 65 20 22 2b c3 7e 28 21 28 93 2b 38 29 29 |ile "+.~(!(.+8))| 00001200 2b 22 20 22 2b c3 7e 28 21 93 29 29 0d 00 8e 29 |+" "+.~(!.))...)| 00001210 2a 53 65 74 54 79 70 65 20 44 72 61 77 42 61 73 |*SetType DrawBas| 00001220 69 63 3a 44 72 61 77 2e 46 69 6c 65 20 44 72 61 |ic:Draw.File Dra| 00001230 77 46 69 6c 65 0d 00 8f 22 2a 46 69 6c 65 72 5f |wFile..."*Filer_| 00001240 52 75 6e 20 44 72 61 77 42 61 73 69 63 3a 44 72 |Run DrawBasic:Dr| 00001250 61 77 2e 46 69 6c 65 0d 00 90 05 e0 0d 00 91 14 |aw.File.........| 00001260 dd 20 a4 55 6e 69 74 73 3d 21 28 93 2b 36 30 29 |. .Units=!(.+60)| 00001270 0d 00 92 12 dd 20 f2 43 65 6e 74 69 6d 65 74 72 |..... .Centimetr| 00001280 65 73 0d 00 93 1e 21 28 93 2b 36 30 29 3d a8 28 |es....!(.+60)=.(| 00001290 32 35 36 2a 31 38 30 2f 32 2e 35 34 2b 2e 35 29 |256*180/2.54+.5)| 000012a0 0d 00 94 19 f2 46 72 61 6d 65 53 69 7a 65 28 30 |.....FrameSize(0| 000012b0 2c 30 2c 31 32 2c 31 32 29 0d 00 95 1b f2 46 72 |,0,12,12).....Fr| 000012c0 61 6d 65 43 6f 6f 72 64 73 28 30 2c 31 32 2c 30 |ameCoords(0,12,0| 000012d0 2c 31 32 29 0d 00 96 0c f2 50 72 65 76 69 65 77 |,12).....Preview| 000012e0 0d 00 97 05 e1 0d 00 98 22 dd 20 a4 44 72 61 77 |........". .Draw| 000012f0 55 6e 69 74 73 28 61 29 3d a8 28 a4 55 6e 69 74 |Units(a)=.(.Unit| 00001300 73 2a 61 2b 2e 35 29 0d 00 99 22 dd 20 f2 46 72 |s*a+.5)...". .Fr| 00001310 61 6d 65 53 69 7a 65 28 61 2c 62 2c 77 69 64 74 |ameSize(a,b,widt| 00001320 68 2c 68 65 69 67 68 74 29 0d 00 9a 22 f2 46 72 |h,height)...".Fr| 00001330 61 6d 65 43 6f 6f 72 64 73 28 30 2c 77 69 64 74 |ameCoords(0,widt| 00001340 68 2c 30 2c 68 65 69 67 68 74 29 0d 00 9b 1f 21 |h,0,height)....!| 00001350 28 93 2b 32 30 29 3d a4 44 72 61 77 55 6e 69 74 |(.+20)=.DrawUnit| 00001360 73 28 77 69 64 74 68 29 20 20 0d 00 9c 1f 21 28 |s(width) ....!(| 00001370 93 2b 32 34 29 3d a4 44 72 61 77 55 6e 69 74 73 |.+24)=.DrawUnits| 00001380 28 68 65 69 67 68 74 29 20 0d 00 9d 1f 21 28 93 |(height) ....!(.| 00001390 2b 31 32 29 3d a4 44 72 61 77 55 6e 69 74 73 28 |+12)=.DrawUnits(| 000013a0 61 29 20 20 20 20 20 20 0d 00 9e 1f 21 28 93 2b |a) ....!(.+| 000013b0 31 36 29 3d a4 44 72 61 77 55 6e 69 74 73 28 62 |16)=.DrawUnits(b| 000013c0 29 20 20 20 20 20 20 0d 00 9f 05 e1 0d 00 a0 16 |) .........| 000013d0 dd 20 a4 46 72 61 6d 65 5f 78 3d 21 28 93 2b 31 |. .Frame_x=!(.+1| 000013e0 32 29 0d 00 a1 16 dd 20 a4 46 72 61 6d 65 5f 79 |2)..... .Frame_y| 000013f0 3d 21 28 93 2b 31 36 29 0d 00 a2 1a dd 20 a4 46 |=!(.+16)..... .F| 00001400 72 61 6d 65 5f 57 69 64 74 68 3d 21 28 93 2b 32 |rame_Width=!(.+2| 00001410 30 29 0d 00 a3 1b dd 20 a4 46 72 61 6d 65 5f 48 |0)..... .Frame_H| 00001420 65 69 67 68 74 3d 21 28 93 2b 32 34 29 0d 00 a4 |eight=!(.+24)...| 00001430 16 dd 20 a4 46 52 41 4d 45 5f 78 3d 7c 28 93 2b |.. .FRAME_x=|(.+| 00001440 32 38 29 0d 00 a5 16 dd 20 a4 46 52 41 4d 45 5f |28)..... .FRAME_| 00001450 79 3d 7c 28 93 2b 33 36 29 0d 00 a6 1a dd 20 a4 |y=|(.+36)..... .| 00001460 46 52 41 4d 45 5f 57 69 64 74 68 3d 7c 28 93 2b |FRAME_Width=|(.+| 00001470 34 34 29 0d 00 a7 1b dd 20 a4 46 52 41 4d 45 5f |44)..... .FRAME_| 00001480 48 65 69 67 68 74 3d 7c 28 93 2b 35 32 29 0d 00 |Height=|(.+52)..| 00001490 a8 28 dd 20 a4 58 5f 53 63 61 6c 65 3d a4 46 72 |.(. .X_Scale=.Fr| 000014a0 61 6d 65 5f 57 69 64 74 68 2f a4 46 52 41 4d 45 |ame_Width/.FRAME| 000014b0 5f 57 69 64 74 68 0d 00 a9 2a dd 20 a4 59 5f 53 |_Width...*. .Y_S| 000014c0 63 61 6c 65 3d a4 46 72 61 6d 65 5f 48 65 69 67 |cale=.Frame_Heig| 000014d0 68 74 2f a4 46 52 41 4d 45 5f 48 65 69 67 68 74 |ht/.FRAME_Height| 000014e0 0d 00 aa 35 dd 20 a4 44 72 61 77 5f 58 28 78 29 |...5. .Draw_X(x)| 000014f0 3d a8 28 a4 46 72 61 6d 65 5f 78 2b 28 78 2d a4 |=.(.Frame_x+(x-.| 00001500 46 52 41 4d 45 5f 78 29 2a a4 58 5f 53 63 61 6c |FRAME_x)*.X_Scal| 00001510 65 2b 2e 35 29 0d 00 ab 35 dd 20 a4 44 72 61 77 |e+.5)...5. .Draw| 00001520 5f 59 28 79 29 3d a8 28 a4 46 72 61 6d 65 5f 79 |_Y(y)=.(.Frame_y| 00001530 2b 28 79 2d a4 46 52 41 4d 45 5f 79 29 2a a4 59 |+(y-.FRAME_y)*.Y| 00001540 5f 53 63 61 6c 65 2b 2e 35 29 0d 00 ac 1b dd 20 |_Scale+.5)..... | 00001550 f2 46 72 61 6d 65 43 6f 6f 72 64 73 28 61 2c 62 |.FrameCoords(a,b| 00001560 2c 75 2c 76 29 0d 00 ad 0d ea 20 5f 66 72 61 6d |,u,v)..... _fram| 00001570 65 25 0d 00 ae 10 5f 66 72 61 6d 65 25 3d 93 2b |e%...._frame%=.+| 00001580 32 38 0d 00 af 37 e7 20 61 3e 3d 62 20 8c 85 20 |28...7. a>=b .. | 00001590 30 2c 20 c3 20 61 2b 22 20 3c 20 78 20 3c 20 22 |0, . a+" < x < "| 000015a0 2b c3 20 62 2b 22 20 69 73 20 61 20 62 61 64 20 |+. b+" is a bad | 000015b0 78 20 72 61 6e 67 65 20 22 0d 00 b0 37 e7 20 75 |x range "...7. u| 000015c0 3e 3d 76 20 8c 85 20 30 2c 20 c3 20 75 2b 22 20 |>=v .. 0, . u+" | 000015d0 3c 20 79 20 3c 20 22 2b c3 20 76 2b 22 20 69 73 |< y < "+. v+" is| 000015e0 20 61 20 62 61 64 20 79 20 72 61 6e 67 65 20 22 | a bad y range "| 000015f0 0d 00 b1 25 7c 28 5f 66 72 61 6d 65 25 29 3d 61 |...%|(_frame%)=a| 00001600 20 20 20 20 20 20 3a 7c 28 5f 66 72 61 6d 65 25 | :|(_frame%| 00001610 2b 38 29 3d 75 0d 00 b2 28 7c 28 5f 66 72 61 6d |+8)=u...(|(_fram| 00001620 65 25 2b 31 36 29 3d 62 2d 61 20 3a 7c 28 5f 66 |e%+16)=b-a :|(_f| 00001630 72 61 6d 65 25 2b 32 34 29 3d 76 2d 75 0d 00 b3 |rame%+24)=v-u...| 00001640 05 e1 0d 00 b4 16 dd 20 a4 44 72 61 77 44 78 3d |....... .DrawDx=| 00001650 21 28 93 2b 31 31 32 29 0d 00 b5 16 dd 20 a4 44 |!(.+112)..... .D| 00001660 72 61 77 44 79 3d 21 28 93 2b 31 31 36 29 0d 00 |rawDy=!(.+116)..| 00001670 b6 15 dd 20 a4 44 72 61 77 54 72 61 6e 73 3d 93 |... .DrawTrans=.| 00001680 2b 39 36 0d 00 b7 0e dd 20 f2 50 72 65 76 69 65 |+96..... .Previe| 00001690 77 0d 00 b8 0b ef 20 32 36 20 3a da 0d 00 b9 25 |w..... 26 :....%| 000016a0 ea 20 5f 68 2c 5f 6d 61 78 25 2c 5f 78 25 2c 5f |. _h,_max%,_x%,_| 000016b0 79 25 2c 5f 49 25 2c 5f 66 6f 6e 74 25 2c 5f 6e |y%,_I%,_font%,_n| 000016c0 24 0d 00 ba 23 f2 44 72 61 77 50 72 65 76 69 65 |$...#.DrawPrevie| 000016d0 77 42 6f 72 64 65 72 73 28 33 30 30 30 2c 31 32 |wBorders(3000,12| 000016e0 2c 38 29 20 0d 00 bb 1d f2 44 72 61 77 50 72 65 |,8) .....DrawPre| 000016f0 76 69 65 77 48 53 63 61 6c 65 73 28 33 30 30 30 |viewHScales(3000| 00001700 29 0d 00 bc 1d f2 44 72 61 77 50 72 65 76 69 65 |).....DrawPrevie| 00001710 77 56 53 63 61 6c 65 73 28 33 30 30 30 29 0d 00 |wVScales(3000)..| 00001720 bd 1b f2 44 72 61 77 50 72 65 76 69 65 77 54 69 |...DrawPreviewTi| 00001730 74 6c 65 28 31 34 2c 37 29 0d 00 be 05 e1 0d 00 |tle(14,7).......| 00001740 bf 2e dd 20 f2 44 72 61 77 50 72 65 76 69 65 77 |... .DrawPreview| 00001750 42 6f 72 64 65 72 73 28 6d 61 78 25 2c 70 6f 69 |Borders(max%,poi| 00001760 6e 74 25 2c 63 6f 6c 6f 75 72 25 29 0d 00 c0 14 |nt%,colour%)....| 00001770 70 6f 69 6e 74 25 3d 70 6f 69 6e 74 25 2a 31 36 |point%=point%*16| 00001780 0d 00 c1 2e c8 99 20 22 43 6f 6c 6f 75 72 54 72 |...... "ColourTr| 00001790 61 6e 73 5f 53 65 74 47 43 4f 4c 22 2c a4 44 65 |ans_SetGCOL",.De| 000017a0 73 6b 74 6f 70 43 6f 6c 6f 75 72 28 32 29 0d 00 |sktopColour(2)..| 000017b0 c2 1d c8 93 20 c8 90 20 30 2c 30 2c a4 44 72 61 |.... .. 0,0,.Dra| 000017c0 77 44 79 3e 3e 38 2c 6d 61 78 25 0d 00 c3 1d c8 |wDy>>8,max%.....| 000017d0 93 20 c8 90 20 30 2c 30 2c 6d 61 78 25 2c a4 44 |. .. 0,0,max%,.D| 000017e0 72 61 77 44 78 3e 3e 38 0d 00 c4 2e c8 99 20 22 |rawDx>>8...... "| 000017f0 43 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 74 47 |ColourTrans_SetG| 00001800 43 4f 4c 22 2c a4 44 65 73 6b 74 6f 70 43 6f 6c |COL",.DesktopCol| 00001810 6f 75 72 28 37 29 0d 00 c5 2b 86 20 a4 44 72 61 |our(7)...+. .Dra| 00001820 77 44 78 3e 3e 38 2c a4 44 72 61 77 44 79 3e 3e |wDx>>8,.DrawDy>>| 00001830 38 2c 6d 61 78 25 2c a4 44 72 61 77 44 79 3e 3e |8,max%,.DrawDy>>| 00001840 38 0d 00 c6 2b 86 20 a4 44 72 61 77 44 78 3e 3e |8...+. .DrawDx>>| 00001850 38 2c a4 44 72 61 77 44 79 3e 3e 38 2c a4 44 72 |8,.DrawDy>>8,.Dr| 00001860 61 77 44 78 3e 3e 38 2c 6d 61 78 25 0d 00 c7 39 |awDx>>8,max%...9| 00001870 c8 99 20 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e |.. "Font_FindFon| 00001880 74 22 2c 2c 22 54 72 69 6e 69 74 79 2e 4d 65 64 |t",,"Trinity.Med| 00001890 69 75 6d 22 2b bd 30 2c 70 6f 69 6e 74 25 2c 70 |ium"+.0,point%,p| 000018a0 6f 69 6e 74 25 0d 00 c8 51 c8 99 20 22 43 6f 6c |oint%...Q.. "Col| 000018b0 6f 75 72 54 72 61 6e 73 5f 53 65 74 46 6f 6e 74 |ourTrans_SetFont| 000018c0 43 6f 6c 6f 75 72 73 22 2c 2c a4 44 65 73 6b 74 |Colours",,.Deskt| 000018d0 6f 70 43 6f 6c 6f 75 72 28 32 29 2c a4 44 65 73 |opColour(2),.Des| 000018e0 6b 74 6f 70 43 6f 6c 6f 75 72 28 63 6f 6c 6f 75 |ktopColour(colou| 000018f0 72 25 29 2c 31 34 0d 00 c9 05 e1 0d 00 ca 27 dd |r%),14........'.| 00001900 20 f2 44 72 61 77 50 72 65 76 69 65 77 54 69 74 | .DrawPreviewTit| 00001910 6c 65 28 70 6f 69 6e 74 25 2c 63 6f 6c 6f 75 72 |le(point%,colour| 00001920 25 29 0d 00 cb 10 ea 20 5f 6e 24 2c 5f 66 24 2c |%)..... _n$,_f$,| 00001930 69 25 0d 00 cc 30 5f 66 24 3d a4 52 65 61 64 53 |i%...0_f$=.ReadS| 00001940 79 73 74 65 6d 56 61 72 69 61 62 6c 65 28 22 44 |ystemVariable("D| 00001950 72 61 77 42 61 73 69 63 24 4f 70 74 69 6f 6e 73 |rawBasic$Options| 00001960 22 29 0d 00 cd 2d 69 25 3d a7 5f 66 24 2c 22 3a |")...-i%=._f$,":| 00001970 22 29 20 3a e7 20 69 25 3c 3e 30 20 8c 5f 66 24 |") :. i%<>0 ._f$| 00001980 3d c2 5f 66 24 2c a9 20 5f 66 24 2d 69 25 29 0d |=._f$,. _f$-i%).| 00001990 00 ce 14 70 6f 69 6e 74 25 3d 70 6f 69 6e 74 25 |...point%=point%| 000019a0 2a 31 36 0d 00 cf 20 5f 6e 24 3d 22 44 72 61 77 |*16... _n$="Draw| 000019b0 42 61 73 69 63 20 22 2b a4 4c 65 61 66 28 5f 66 |Basic "+.Leaf(_f| 000019c0 24 29 20 0d 00 d0 36 e7 20 a4 55 6e 69 74 73 3d |$) ...6. .Units=| 000019d0 32 35 36 2a 31 38 30 20 8c 5f 6e 24 2b 3d 22 20 |256*180 ._n$+=" | 000019e0 28 49 6e 63 68 65 73 29 22 20 20 8b 5f 6e 24 2b |(Inches)" ._n$+| 000019f0 3d 22 20 28 43 6d 73 29 22 0d 00 d1 39 c8 99 20 |=" (Cms)"...9.. | 00001a00 22 46 6f 6e 74 5f 46 69 6e 64 46 6f 6e 74 22 2c |"Font_FindFont",| 00001a10 2c 22 54 72 69 6e 69 74 79 2e 4d 65 64 69 75 6d |,"Trinity.Medium| 00001a20 22 2b bd 30 2c 70 6f 69 6e 74 25 2c 70 6f 69 6e |"+.0,point%,poin| 00001a30 74 25 0d 00 d2 51 c8 99 20 22 43 6f 6c 6f 75 72 |t%...Q.. "Colour| 00001a40 54 72 61 6e 73 5f 53 65 74 46 6f 6e 74 43 6f 6c |Trans_SetFontCol| 00001a50 6f 75 72 73 22 2c 2c a4 44 65 73 6b 74 6f 70 43 |ours",,.DesktopC| 00001a60 6f 6c 6f 75 72 28 32 29 2c a4 44 65 73 6b 74 6f |olour(2),.Deskto| 00001a70 70 43 6f 6c 6f 75 72 28 63 6f 6c 6f 75 72 25 29 |pColour(colour%)| 00001a80 2c 31 34 0d 00 d3 25 c8 99 20 22 46 6f 6e 74 5f |,14...%.. "Font_| 00001a90 50 61 69 6e 74 22 2c 2c 5f 6e 24 2c 25 31 30 30 |Paint",,_n$,%100| 00001aa0 30 30 2c 31 36 2c 31 32 0d 00 d4 08 e1 20 20 20 |00,16,12..... | 00001ab0 0d 00 d5 24 dd 20 a4 52 65 61 64 53 79 73 74 65 |...$. .ReadSyste| 00001ac0 6d 56 61 72 69 61 62 6c 65 28 76 61 72 69 61 62 |mVariable(variab| 00001ad0 6c 65 24 29 0d 00 d6 16 ea 20 5f 6c 65 6e 25 2c |le$)..... _len%,| 00001ae0 5f 76 61 72 69 61 62 6c 65 25 0d 00 d7 14 de 20 |_variable%..... | 00001af0 5f 76 61 72 69 61 62 6c 65 25 20 32 35 36 0d 00 |_variable% 256..| 00001b00 d8 3c c8 99 20 22 4f 53 5f 52 65 61 64 56 61 72 |.<.. "OS_ReadVar| 00001b10 56 61 6c 22 2c 76 61 72 69 61 62 6c 65 24 2c 5f |Val",variable$,_| 00001b20 76 61 72 69 61 62 6c 65 25 2c 32 35 36 2c 2c 33 |variable%,256,,3| 00001b30 20 b8 20 2c 2c 5f 6c 65 6e 25 0d 00 d9 17 5f 76 | . ,,_len%...._v| 00001b40 61 72 69 61 62 6c 65 25 3f 5f 6c 65 6e 25 3d 31 |ariable%?_len%=1| 00001b50 33 0d 00 da 10 3d 24 5f 76 61 72 69 61 62 6c 65 |3....=$_variable| 00001b60 25 0d 00 db 0f dd 20 a4 4c 65 61 66 28 78 24 29 |%..... .Leaf(x$)| 00001b70 0d 00 dc 17 ea 20 5f 69 25 20 3a 5f 69 25 3d a7 |..... _i% :_i%=.| 00001b80 78 24 2c 22 2e 22 29 0d 00 dd 27 e7 20 5f 69 25 |x$,".")...'. _i%| 00001b90 3d 30 20 8c 3d 78 24 20 8b 3d a4 4c 65 61 66 28 |=0 .=x$ .=.Leaf(| 00001ba0 c2 78 24 2c a9 20 78 24 2d 5f 69 25 29 29 0d 00 |.x$,. x$-_i%))..| 00001bb0 de 1f dd 20 f2 44 72 61 77 50 72 65 76 69 65 77 |... .DrawPreview| 00001bc0 48 53 63 61 6c 65 73 28 6d 61 78 25 29 0d 00 df |HScales(max%)...| 00001bd0 1a ea 20 5f 68 2c 5f 78 25 2c 5f 49 25 2c 5f 64 |.. _h,_x%,_I%,_d| 00001be0 78 25 2c 5f 64 79 25 0d 00 e0 3b 5f 49 25 3d 30 |x%,_dy%...;_I%=0| 00001bf0 20 20 3a 5f 68 25 3d a4 55 6e 69 74 73 3e 3e 38 | :_h%=.Units>>8| 00001c00 20 3a 5f 64 78 25 3d a4 44 72 61 77 44 78 3e 3e | :_dx%=.DrawDx>>| 00001c10 38 20 3a 5f 64 79 25 3d a4 44 72 61 77 44 79 3e |8 :_dy%=.DrawDy>| 00001c20 3e 38 0d 00 e1 21 f5 20 3a 5f 78 25 3d 5f 64 78 |>8...!. :_x%=_dx| 00001c30 25 2b 28 a4 44 72 61 77 5f 59 28 5f 49 25 29 3e |%+(.Draw_Y(_I%)>| 00001c40 3e 38 29 0d 00 e2 1b 86 20 5f 78 25 2c 5f 64 79 |>8)..... _x%,_dy| 00001c50 25 2c 5f 78 25 2c 33 2a 5f 64 79 25 2f 34 0d 00 |%,_x%,3*_dy%/4..| 00001c60 e3 27 86 20 5f 78 25 2b 5f 68 25 2f 32 2c 5f 64 |.'. _x%+_h%/2,_d| 00001c70 79 25 2c 5f 78 25 2b 5f 68 25 2f 32 2c 37 2a 5f |y%,_x%+_h%/2,7*_| 00001c80 64 79 25 2f 38 0d 00 e4 2f c8 99 20 22 46 6f 6e |dy%/8.../.. "Fon| 00001c90 74 5f 50 61 69 6e 74 22 2c 2c c3 28 5f 49 25 29 |t_Paint",,.(_I%)| 00001ca0 2c 25 31 30 30 30 30 2c 5f 78 25 2d 38 2c 5f 64 |,%10000,_x%-8,_d| 00001cb0 79 25 2f 32 0d 00 e5 0a 5f 49 25 2b 3d 31 0d 00 |y%/2...._I%+=1..| 00001cc0 e6 0e fd 20 5f 78 25 3e 6d 61 78 25 0d 00 e7 05 |... _x%>max%....| 00001cd0 e1 0d 00 e8 1f dd 20 f2 44 72 61 77 50 72 65 76 |...... .DrawPrev| 00001ce0 69 65 77 56 53 63 61 6c 65 73 28 6d 61 78 25 29 |iewVScales(max%)| 00001cf0 0d 00 e9 1a ea 20 5f 68 2c 5f 79 25 2c 5f 49 25 |..... _h,_y%,_I%| 00001d00 2c 5f 64 78 25 2c 5f 64 79 25 0d 00 ea 3a 5f 49 |,_dx%,_dy%...:_I| 00001d10 25 3d 30 20 3a 5f 68 25 3d a4 55 6e 69 74 73 3e |%=0 :_h%=.Units>| 00001d20 3e 38 20 3a 5f 64 78 25 3d a4 44 72 61 77 44 78 |>8 :_dx%=.DrawDx| 00001d30 3e 3e 38 20 3a 5f 64 79 25 3d a4 44 72 61 77 44 |>>8 :_dy%=.DrawD| 00001d40 79 3e 3e 38 0d 00 eb 21 f5 20 3a 5f 79 25 3d 5f |y>>8...!. :_y%=_| 00001d50 64 79 25 2b 28 a4 44 72 61 77 5f 58 28 5f 49 25 |dy%+(.Draw_X(_I%| 00001d60 29 3e 3e 38 29 0d 00 ec 1c 86 20 20 5f 64 78 25 |)>>8)..... _dx%| 00001d70 2c 5f 79 25 2c 33 2a 5f 64 78 25 2f 34 2c 5f 79 |,_y%,3*_dx%/4,_y| 00001d80 25 0d 00 ed 28 86 20 20 5f 64 78 25 2c 5f 79 25 |%...(. _dx%,_y%| 00001d90 2b 5f 68 25 2f 32 2c 37 2a 5f 64 78 25 2f 38 2c |+_h%/2,7*_dx%/8,| 00001da0 5f 79 25 2b 5f 68 25 2f 32 0d 00 ee 0d e7 20 5f |_y%+_h%/2..... _| 00001db0 49 25 3e 39 20 8c 0d 00 ef 2c c8 99 20 22 46 6f |I%>9 ....,.. "Fo| 00001dc0 6e 74 5f 50 61 69 6e 74 22 2c 2c c3 28 5f 49 25 |nt_Paint",,.(_I%| 00001dd0 29 2c 25 31 30 30 30 30 2c 33 36 2c 5f 79 25 2d |),%10000,36,_y%-| 00001de0 31 30 0d 00 f0 05 cc 0d 00 f1 2c c8 99 20 22 46 |10........,.. "F| 00001df0 6f 6e 74 5f 50 61 69 6e 74 22 2c 2c c3 28 5f 49 |ont_Paint",,.(_I| 00001e00 25 29 2c 25 31 30 30 30 30 2c 34 38 2c 5f 79 25 |%),%10000,48,_y%| 00001e10 2d 31 30 0d 00 f2 05 cd 0d 00 f3 0a 5f 49 25 2b |-10........._I%+| 00001e20 3d 31 0d 00 f4 0e fd 20 5f 79 25 3e 6d 61 78 25 |=1..... _y%>max%| 00001e30 0d 00 f5 05 e1 0d 00 f6 1a dd 20 a4 43 75 72 72 |.......... .Curr| 00001e40 65 6e 74 50 61 74 68 3d 21 28 93 2b 36 34 29 0d |entPath=!(.+64).| 00001e50 00 f7 19 dd 20 f2 43 75 72 72 65 6e 74 50 61 74 |.... .CurrentPat| 00001e60 68 28 70 61 74 68 25 29 0d 00 f8 11 21 28 93 2b |h(path%)....!(.+| 00001e70 36 34 29 3d 70 61 74 68 25 0d 00 f9 05 e1 0d 00 |64)=path%.......| 00001e80 fa 1d dd 20 a4 43 75 72 72 65 6e 74 53 75 62 70 |... .CurrentSubp| 00001e90 61 74 68 3d 21 28 93 2b 36 38 29 0d 00 fb 1c dd |ath=!(.+68).....| 00001ea0 20 f2 43 75 72 72 65 6e 74 53 75 62 70 61 74 68 | .CurrentSubpath| 00001eb0 28 70 61 74 68 25 29 0d 00 fc 11 21 28 93 2b 36 |(path%)....!(.+6| 00001ec0 38 29 3d 70 61 74 68 25 0d 00 fd 05 e1 0d 00 fe |8)=path%........| 00001ed0 18 dd 20 f2 50 61 74 68 42 65 67 69 6e 28 f8 20 |.. .PathBegin(. | 00001ee0 70 61 74 68 29 0d 00 ff 1f e7 20 a4 43 75 72 72 |path)..... .Curr| 00001ef0 65 6e 74 50 61 74 68 3c 3e 30 20 8c f2 50 61 74 |entPath<>0 ..Pat| 00001f00 68 45 6e 64 0d 01 00 14 f2 43 75 72 72 65 6e 74 |hEnd.....Current| 00001f10 50 61 74 68 28 21 93 29 0d 01 01 1c e7 20 a4 43 |Path(!.)..... .C| 00001f20 75 72 72 65 6e 74 50 61 74 68 3e 3d 21 28 93 2b |urrentPath>=!(.+| 00001f30 34 29 20 8c 0d 01 02 32 85 20 30 2c 22 4f 75 74 |4) ....2. 0,"Out| 00001f40 20 6f 66 20 6d 65 6d 6f 72 79 2e 20 49 6e 63 72 | of memory. Incr| 00001f50 65 61 73 65 20 74 68 65 20 27 46 72 65 65 27 20 |ease the 'Free' | 00001f60 73 6c 6f 74 2e 22 0d 01 03 05 cc 0d 01 04 0d 21 |slot.".........!| 00001f70 28 93 2b 34 29 2d 3d 34 0d 01 05 0f 70 61 74 68 |(.+4)-=4....path| 00001f80 3d 21 28 93 2b 34 29 0d 01 06 16 21 70 61 74 68 |=!(.+4)....!path| 00001f90 3d a4 43 75 72 72 65 6e 74 50 61 74 68 0d 01 07 |=.CurrentPath...| 00001fa0 14 f2 44 72 61 77 5f 50 61 74 68 48 65 61 64 65 |..Draw_PathHeade| 00001fb0 72 0d 01 08 22 e7 20 a4 44 61 73 68 3c 3e 30 20 |r...". .Dash<>0 | 00001fc0 8c f2 44 61 73 68 40 28 70 61 74 68 2c a4 44 61 |..Dash@(path,.Da| 00001fd0 73 68 29 0d 01 09 05 cd 0d 01 0a 05 e1 0d 01 0b |sh).............| 00001fe0 16 dd 20 f2 44 72 61 77 5f 50 61 74 68 48 65 61 |.. .Draw_PathHea| 00001ff0 64 65 72 0d 01 0c 14 f2 44 72 61 77 5f 41 64 64 |der.....Draw_Add| 00002000 57 6f 72 64 28 30 29 0d 01 0d 21 f2 44 72 61 77 |Word(0)...!.Draw| 00002010 5f 41 64 64 57 6f 72 64 28 34 34 29 20 20 20 20 |_AddWord(44) | 00002020 20 20 20 20 20 20 20 20 0d 01 0e 21 f2 44 72 61 | ...!.Dra| 00002030 77 5f 41 64 64 57 6f 72 64 28 2d 31 3c 3c 33 30 |w_AddWord(-1<<30| 00002040 29 20 20 20 20 20 20 20 20 0d 01 0f 21 f2 44 72 |) ...!.Dr| 00002050 61 77 5f 41 64 64 57 6f 72 64 28 2d 31 3c 3c 33 |aw_AddWord(-1<<3| 00002060 30 29 20 20 20 20 20 20 20 20 0d 01 10 21 f2 44 |0) ...!.D| 00002070 72 61 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c 33 |raw_AddWord(1<<3| 00002080 30 29 20 20 20 20 20 20 20 20 20 0d 01 11 21 f2 |0) ...!.| 00002090 44 72 61 77 5f 41 64 64 57 6f 72 64 28 31 3c 3c |Draw_AddWord(1<<| 000020a0 33 30 29 20 20 20 20 20 20 20 20 20 0d 01 12 20 |30) ... | 000020b0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 46 |.Draw_AddWord(.F| 000020c0 69 6c 6c 43 6f 6c 6f 75 72 29 20 20 0d 01 13 20 |illColour) ... | 000020d0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 4c |.Draw_AddWord(.L| 000020e0 69 6e 65 43 6f 6c 6f 75 72 29 20 20 0d 01 14 20 |ineColour) ... | 000020f0 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 4c |.Draw_AddWord(.L| 00002100 69 6e 65 57 69 64 74 68 29 20 20 20 0d 01 15 20 |ineWidth) ... | 00002110 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 a4 53 |.Draw_AddWord(.S| 00002120 74 79 6c 65 29 20 20 20 20 20 20 20 0d 01 16 05 |tyle) ....| 00002130 e1 0d 01 17 0e dd 20 f2 50 61 74 68 45 6e 64 0d |...... .PathEnd.| 00002140 01 18 16 e7 20 a4 43 75 72 72 65 6e 74 50 61 74 |.... .CurrentPat| 00002150 68 3d 30 20 e1 0d 01 19 2b e7 20 a4 43 75 72 72 |h=0 ....+. .Curr| 00002160 65 6e 74 53 75 62 70 61 74 68 3d 30 20 84 20 21 |entSubpath=0 . !| 00002170 a4 43 75 72 72 65 6e 74 50 61 74 68 3d 30 20 8c |.CurrentPath=0 .| 00002180 0d 01 1a 13 21 93 3d a4 43 75 72 72 65 6e 74 50 |....!.=.CurrentP| 00002190 61 74 68 0d 01 1b 42 f2 43 75 72 72 65 6e 74 50 |ath...B.CurrentP| 000021a0 61 74 68 28 30 29 20 20 20 20 20 20 20 20 20 20 |ath(0) | 000021b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a | :| 000021c0 f2 43 75 72 72 65 6e 74 53 75 62 70 61 74 68 28 |.CurrentSubpath(| 000021d0 30 29 20 20 20 0d 01 1c 08 cc 20 20 20 0d 01 1d |0) ..... ...| 000021e0 2c f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 30 |,.Draw_AddWord(0| 000021f0 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |) | 00002200 20 20 20 20 20 20 20 20 20 0d 01 1e 29 21 28 a4 | ...)!(.| 00002210 43 75 72 72 65 6e 74 50 61 74 68 2b 34 29 3d 28 |CurrentPath+4)=(| 00002220 21 93 29 2d a4 43 75 72 72 65 6e 74 50 61 74 68 |!.)-.CurrentPath| 00002230 20 20 0d 01 1f 2e 21 28 a4 43 75 72 72 65 6e 74 | ....!(.Current| 00002240 50 61 74 68 29 3d 32 20 20 20 20 20 20 20 20 20 |Path)=2 | 00002250 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002260 0d 01 20 2d f2 44 72 61 77 5f 52 65 6e 64 65 72 |.. -.Draw_Render| 00002270 50 61 74 68 28 a4 43 75 72 72 65 6e 74 50 61 74 |Path(.CurrentPat| 00002280 68 2c a4 44 72 61 77 54 72 61 6e 73 29 0d 01 21 |h,.DrawTrans)..!| 00002290 43 f2 43 75 72 72 65 6e 74 50 61 74 68 28 30 29 |C.CurrentPath(0)| 000022a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000022b0 20 20 20 20 20 20 20 20 20 3a f2 43 75 72 72 65 | :.Curre| 000022c0 6e 74 53 75 62 70 61 74 68 28 30 29 20 20 20 20 |ntSubpath(0) | 000022d0 0d 01 22 05 cd 0d 01 23 05 e1 0d 01 24 15 dd 20 |.."....#....$.. | 000022e0 a4 44 72 61 77 54 72 61 6e 73 3d 93 2b 39 36 0d |.DrawTrans=.+96.| 000022f0 01 25 10 dd 20 f2 4d 6f 76 65 28 78 2c 79 29 0d |.%.. .Move(x,y).| 00002300 01 26 0b ea 20 5f 70 61 74 68 0d 01 27 27 e7 20 |.&.. _path..''. | 00002310 a4 43 75 72 72 65 6e 74 50 61 74 68 3d 30 20 8c |.CurrentPath=0 .| 00002320 f2 50 61 74 68 42 65 67 69 6e 28 5f 70 61 74 68 |.PathBegin(_path| 00002330 29 0d 01 28 14 f2 44 72 61 77 5f 41 64 64 57 6f |)..(..Draw_AddWo| 00002340 72 64 28 32 29 0d 01 29 17 f2 43 75 72 72 65 6e |rd(2)..)..Curren| 00002350 74 53 75 62 70 61 74 68 28 21 93 29 0d 01 2a 18 |tSubpath(!.)..*.| 00002360 f2 44 72 61 77 5f 41 64 64 43 6f 6f 72 64 73 28 |.Draw_AddCoords(| 00002370 78 2c 79 29 0d 01 2b 37 ec 20 28 21 28 93 2b 31 |x,y)..+7. (!(.+1| 00002380 31 32 29 2b a4 44 72 61 77 5f 58 28 78 29 29 3e |12)+.Draw_X(x))>| 00002390 3e 38 2c 28 21 28 93 2b 31 31 36 29 2b a4 44 72 |>8,(!(.+116)+.Dr| 000023a0 61 77 5f 59 28 79 29 29 3e 3e 38 0d 01 2c 05 e1 |aw_Y(y))>>8..,..| 000023b0 0d 01 2d 1a dd 20 f2 42 65 7a 69 65 72 28 61 2c |..-.. .Bezier(a,| 000023c0 62 2c 63 2c 64 2c 78 2c 79 29 0d 01 2e 23 ea 20 |b,c,d,x,y)...#. | 000023d0 5f 70 61 74 68 25 2c 5f 73 74 6f 72 65 25 20 3a |_path%,_store% :| 000023e0 5f 70 61 74 68 25 3d 21 28 93 2b 34 29 0d 01 2f |_path%=!(.+4)../| 000023f0 41 e7 20 a4 43 75 72 72 65 6e 74 50 61 74 68 3d |A. .CurrentPath=| 00002400 30 20 20 20 20 85 20 a2 20 31 2c 22 43 61 6e 27 |0 . . 1,"Can'| 00002410 74 20 44 72 61 77 20 42 65 7a 69 65 72 20 69 66 |t Draw Bezier if| 00002420 20 4e 6f 20 50 61 74 68 42 65 67 75 6e 22 0d 01 | No PathBegun"..| 00002430 30 4a e7 20 a4 43 75 72 72 65 6e 74 53 75 62 70 |0J. .CurrentSubp| 00002440 61 74 68 3d 30 20 85 20 a2 20 30 2c 22 53 75 62 |ath=0 . . 0,"Sub| 00002450 70 61 74 68 20 6d 75 73 74 20 73 74 61 72 74 20 |path must start | 00002460 77 69 74 68 20 4d 6f 76 65 20 62 65 66 6f 72 65 |with Move before| 00002470 20 42 65 7a 69 65 72 22 0d 01 31 35 5f 70 61 74 | Bezier"..15_pat| 00002480 68 25 3d 21 93 20 3a 5f 70 61 74 68 25 2d 3d 31 |h%=!. :_path%-=1| 00002490 32 20 3a 5f 73 74 6f 72 65 25 3d 21 5f 70 61 74 |2 :_store%=!_pat| 000024a0 68 25 20 3a 21 5f 70 61 74 68 25 3d 32 0d 01 32 |h% :!_path%=2..2| 000024b0 14 f2 44 72 61 77 5f 41 64 64 57 6f 72 64 28 36 |..Draw_AddWord(6| 000024c0 29 0d 01 33 18 f2 44 72 61 77 5f 41 64 64 43 6f |)..3..Draw_AddCo| 000024d0 6f 72 64 73 28 61 2c 62 29 0d 01 34 18 f2 44 72 |ords(a,b)..4..Dr| 000024e0 61 77 5f 41 64 64 43 6f 6f 72 64 73 28 63 2c 64 |aw_AddCoords(c,d| 000024f0 29 0d 01 35 18 f2 44 72 61 77 5f 41 64 64 43 6f |)..5..Draw_AddCo| 00002500 6f 72 64 73 28 78 2c 79 29 0d 01 36 14 f2 44 72 |ords(x,y)..6..Dr| 00002510 61 77 5f 41 64 64 57 6f 72 64 28 30 29 0d 01 37 |aw_AddWord(0)..7| 00002520 09 21 93 2d 3d 34 0d 01 38 27 c8 99 20 22 44 72 |.!.-=4..8'.. "Dr| 00002530 61 77 5f 53 74 72 6f 6b 65 22 2c 5f 70 61 74 68 |aw_Stroke",_path| 00002540 25 2c 2c a4 44 72 61 77 54 72 61 6e 73 0d 01 39 |%,,.DrawTrans..9| 00002550 13 21 5f 70 61 74 68 25 3d 5f 73 74 6f 72 65 25 |.!_path%=_store%| 00002560 0d 01 3a 15 21 28 a4 43 75 72 72 65 6e 74 50 61 |..:.!(.CurrentPa| 00002570 74 68 29 3d b9 0d 01 3b 37 ec 20 28 21 28 93 2b |th)=...;7. (!(.+| 00002580 31 31 32 29 2b a4 44 72 61 77 5f 58 28 78 29 29 |112)+.Draw_X(x))| 00002590 3e 3e 38 2c 28 21 28 93 2b 31 31 36 29 2b a4 44 |>>8,(!(.+116)+.D| 000025a0 72 61 77 5f 59 28 79 29 29 3e 3e 38 0d 01 3c 05 |raw_Y(y))>>8..<.| 000025b0 e1 0d 01 3d 14 dd 20 f2 43 6c 6f 73 65 57 69 74 |...=.. .CloseWit| 000025c0 68 4c 69 6e 65 0d 01 3e 2a e7 20 20 a4 43 75 72 |hLine..>*. .Cur| 000025d0 72 65 6e 74 50 61 74 68 3c 3e 30 20 80 20 a4 43 |rentPath<>0 . .C| 000025e0 75 72 72 65 6e 74 50 61 74 68 3c 3e 30 20 8c 0d |urrentPath<>0 ..| 000025f0 01 3f 0d ea 20 5f 78 25 2c 5f 79 25 0d 01 40 31 |.?.. _x%,_y%..@1| 00002600 5f 78 25 3d 21 a4 43 75 72 72 65 6e 74 53 75 62 |_x%=!.CurrentSub| 00002610 70 61 74 68 3a 5f 79 25 3d 21 28 a4 43 75 72 72 |path:_y%=!(.Curr| 00002620 65 6e 74 53 75 62 70 61 74 68 2b 34 29 0d 01 41 |entSubpath+4)..A| 00002630 29 df 20 28 21 28 93 2b 31 31 32 29 2b 5f 78 25 |). (!(.+112)+_x%| 00002640 29 3e 3e 38 2c 28 21 28 93 2b 31 31 36 29 2b 5f |)>>8,(!(.+116)+_| 00002650 79 25 29 3e 3e 38 0d 01 42 14 f2 44 72 61 77 5f |y%)>>8..B..Draw_| 00002660 41 64 64 57 6f 72 64 28 35 29 0d 01 43 05 cd 0d |AddWord(5)..C...| 00002670 01 44 05 e1 0d 01 45 1a dd 20 f2 40 43 69 72 63 |.D....E.. .@Circ| 00002680 6c 65 28 78 2c 79 2c 72 61 64 69 75 73 29 0d 01 |le(x,y,radius)..| 00002690 46 1e ea 20 5f 61 20 3a 5f 61 3d 72 61 64 69 75 |F.. _a :_a=radiu| 000026a0 73 2a 34 2a 28 b6 32 2d 31 29 2f 33 0d 01 47 15 |s*4*(.2-1)/3..G.| 000026b0 f2 4d 6f 76 65 28 78 2c 79 2b 72 61 64 69 75 73 |.Move(x,y+radius| 000026c0 29 0d 01 48 33 f2 42 65 7a 69 65 72 28 78 2b 5f |)..H3.Bezier(x+_| 000026d0 61 2c 79 2b 72 61 64 69 75 73 2c 78 2b 72 61 64 |a,y+radius,x+rad| 000026e0 69 75 73 2c 79 2b 5f 61 2c 78 2b 72 61 64 69 75 |ius,y+_a,x+radiu| 000026f0 73 2c 79 29 0d 01 49 33 f2 42 65 7a 69 65 72 28 |s,y)..I3.Bezier(| 00002700 78 2b 72 61 64 69 75 73 2c 79 2d 5f 61 2c 78 2b |x+radius,y-_a,x+| 00002710 5f 61 2c 79 2d 72 61 64 69 75 73 2c 78 2c 79 2d |_a,y-radius,x,y-| 00002720 72 61 64 69 75 73 29 0d 01 4a 33 f2 42 65 7a 69 |radius)..J3.Bezi| 00002730 65 72 28 78 2d 5f 61 2c 79 2d 72 61 64 69 75 73 |er(x-_a,y-radius| 00002740 2c 78 2d 72 61 64 69 75 73 2c 79 2d 5f 61 2c 78 |,x-radius,y-_a,x| 00002750 2d 72 61 64 69 75 73 2c 79 29 0d 01 4b 33 f2 42 |-radius,y)..K3.B| 00002760 65 7a 69 65 72 28 78 2d 72 61 64 69 75 73 2c 79 |ezier(x-radius,y| 00002770 2b 5f 61 2c 78 2d 5f 61 2c 79 2b 72 61 64 69 75 |+_a,x-_a,y+radiu| 00002780 73 2c 78 2c 79 2b 72 61 64 69 75 73 29 0d 01 4c |s,x,y+radius)..L| 00002790 12 f2 43 6c 6f 73 65 57 69 74 68 4c 69 6e 65 0d |..CloseWithLine.| 000027a0 01 4d 05 e1 0d 01 4e 19 dd 20 a4 43 69 72 63 6c |.M....N.. .Circl| 000027b0 65 28 78 2c 79 2c 72 61 64 69 75 73 29 0d 01 4f |e(x,y,radius)..O| 000027c0 0c ea 20 5f 70 61 74 68 25 0d 01 50 16 f2 50 61 |.. _path%..P..Pa| 000027d0 74 68 42 65 67 69 6e 28 5f 70 61 74 68 25 29 0d |thBegin(_path%).| 000027e0 01 51 18 f2 40 43 69 72 63 6c 65 28 78 2c 79 2c |.Q..@Circle(x,y,| 000027f0 72 61 64 69 75 73 29 0d 01 52 0c f2 50 61 74 68 |radius)..R..Path| 00002800 45 6e 64 0d 01 53 0b 3d 5f 70 61 74 68 25 0d 01 |End..S.=_path%..| 00002810 54 19 dd 20 a4 4c 69 6e 65 57 69 64 74 68 3d 21 |T.. .LineWidth=!| 00002820 28 93 2b 32 33 32 29 0d 01 55 1a dd 20 a4 4c 69 |(.+232)..U.. .Li| 00002830 6e 65 43 6f 6c 6f 75 72 3d 21 28 93 2b 32 32 34 |neColour=!(.+224| 00002840 29 0d 01 56 1a dd 20 a4 46 69 6c 6c 43 6f 6c 6f |)..V.. .FillColo| 00002850 75 72 3d 21 28 93 2b 32 32 38 29 0d 01 57 42 dd |ur=!(.+228)..WB.| 00002860 20 a4 53 68 61 64 65 28 52 65 64 25 2c 47 72 65 | .Shade(Red%,Gre| 00002870 65 6e 25 2c 42 6c 75 65 25 29 3d 28 52 65 64 25 |en%,Blue%)=(Red%| 00002880 3c 3c 38 29 2b 28 47 72 65 65 6e 25 3c 3c 31 36 |<<8)+(Green%<<16| 00002890 29 2b 28 42 6c 75 65 25 3c 3c 32 34 29 0d 01 58 |)+(Blue%<<24)..X| 000028a0 1d dd 20 a4 44 65 73 6b 74 6f 70 43 6f 6c 6f 75 |.. .DesktopColou| 000028b0 72 28 63 6f 6c 6f 75 72 25 29 0d 01 59 2d e7 20 |r(colour%)..Y-. | 000028c0 94 20 63 6f 6c 6f 75 72 25 3c 32 35 36 20 8c 63 |. colour%<256 .c| 000028d0 6f 6c 6f 75 72 25 3d 28 94 20 63 6f 6c 6f 75 72 |olour%=(. colour| 000028e0 25 29 20 83 20 31 36 0d 01 5a 10 c8 8e 20 63 6f |%) . 16..Z... co| 000028f0 6c 6f 75 72 25 20 ca 0d 01 5b 24 c9 20 30 20 3a |lour% ...[$. 0 :| 00002900 63 6f 6c 6f 75 72 25 3d a4 53 68 61 64 65 28 32 |colour%=.Shade(2| 00002910 35 35 2c 32 35 35 2c 32 35 35 29 0d 01 5c 24 c9 |55,255,255)..\$.| 00002920 20 31 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 61 | 1 :colour%=.Sha| 00002930 64 65 28 32 32 31 2c 32 32 31 2c 32 32 31 29 0d |de(221,221,221).| 00002940 01 5d 24 c9 20 32 20 3a 63 6f 6c 6f 75 72 25 3d |.]$. 2 :colour%=| 00002950 a4 53 68 61 64 65 28 31 38 37 2c 31 38 37 2c 31 |.Shade(187,187,1| 00002960 38 37 29 0d 01 5e 24 c9 20 33 20 3a 63 6f 6c 6f |87)..^$. 3 :colo| 00002970 75 72 25 3d a4 53 68 61 64 65 28 31 35 33 2c 31 |ur%=.Shade(153,1| 00002980 35 33 2c 31 35 33 29 0d 01 5f 24 c9 20 34 20 3a |53,153).._$. 4 :| 00002990 63 6f 6c 6f 75 72 25 3d a4 53 68 61 64 65 28 31 |colour%=.Shade(1| 000029a0 31 39 2c 31 31 39 2c 31 31 39 29 0d 01 60 21 c9 |19,119,119)..`!.| 000029b0 20 35 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 61 | 5 :colour%=.Sha| 000029c0 64 65 28 38 35 2c 38 35 2c 38 35 29 0d 01 61 21 |de(85,85,85)..a!| 000029d0 c9 20 36 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 |. 6 :colour%=.Sh| 000029e0 61 64 65 28 35 31 2c 35 31 2c 35 31 29 0d 01 62 |ade(51,51,51)..b| 000029f0 1a c9 20 37 20 3a 63 6f 6c 6f 75 72 25 3d 25 31 |.. 7 :colour%=%1| 00002a00 31 31 31 31 31 31 31 0d 01 63 21 c9 20 38 20 3a |1111111..c!. 8 :| 00002a10 63 6f 6c 6f 75 72 25 3d a4 53 68 61 64 65 28 30 |colour%=.Shade(0| 00002a20 2c 36 38 2c 31 35 33 29 0d 01 64 22 c9 20 39 20 |,68,153)..d". 9 | 00002a30 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 61 64 65 28 |:colour%=.Shade(| 00002a40 32 33 38 2c 32 33 38 2c 30 29 0d 01 65 21 c9 20 |238,238,0)..e!. | 00002a50 31 30 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 61 |10 :colour%=.Sha| 00002a60 64 65 28 30 2c 32 30 34 2c 30 29 0d 01 66 21 c9 |de(0,204,0)..f!.| 00002a70 20 31 31 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 68 | 11 :colour%=.Sh| 00002a80 61 64 65 28 32 32 31 2c 30 2c 30 29 0d 01 67 25 |ade(221,0,0)..g%| 00002a90 c9 20 31 32 20 3a 63 6f 6c 6f 75 72 25 3d a4 53 |. 12 :colour%=.S| 00002aa0 68 61 64 65 28 32 33 38 2c 32 33 38 2c 31 38 37 |hade(238,238,187| 00002ab0 29 0d 01 68 22 c9 20 31 33 20 3a 63 6f 6c 6f 75 |)..h". 13 :colou| 00002ac0 72 25 3d a4 53 68 61 64 65 28 38 35 2c 31 33 36 |r%=.Shade(85,136| 00002ad0 2c 30 29 0d 01 69 23 c9 20 31 34 20 3a 63 6f 6c |,0)..i#. 14 :col| 00002ae0 6f 75 72 25 3d a4 53 68 61 64 65 28 32 35 35 2c |our%=.Shade(255,| 00002af0 31 38 37 2c 30 29 0d 01 6a 23 c9 20 31 35 20 3a |187,0)..j#. 15 :| 00002b00 63 6f 6c 6f 75 72 25 3d a4 53 68 61 64 65 28 30 |colour%=.Shade(0| 00002b10 2c 31 38 37 2c 32 35 35 29 0d 01 6b 05 cb 0d 01 |,187,255)..k....| 00002b20 6c 0c 3d 63 6f 6c 6f 75 72 25 0d 01 6d 15 dd 20 |l.=colour%..m.. | 00002b30 a4 53 74 79 6c 65 3d 21 28 93 2b 32 33 36 29 0d |.Style=!(.+236).| 00002b40 01 6e 13 dd 20 a4 44 61 73 68 3d 21 28 93 2b 37 |.n.. .Dash=!(.+7| 00002b50 36 29 0d 01 6f 21 dd 20 f2 44 61 73 68 40 28 44 |6)..o!. .Dash@(D| 00002b60 72 61 77 5f 50 61 74 68 25 2c 70 61 74 74 65 72 |raw_Path%,patter| 00002b70 6e 25 29 0d 01 70 1a ea 20 5f 50 61 74 68 25 2c |n%)..p.. _Path%,| 00002b80 5f 69 25 2c 5f 6e 25 2c 5f 6d 61 78 25 0d 01 71 |_i%,_n%,_max%..q| 00002b90 16 5f 50 61 74 68 25 3d 21 44 72 61 77 5f 50 61 |._Path%=!Draw_Pa| 00002ba0 74 68 25 0d 01 72 11 e7 20 5f 50 61 74 68 25 3c |th%..r.. _Path%<| 00002bb0 3e 30 20 8c 0d 01 73 12 5f 6e 25 3d 70 61 74 74 |>0 ...s._n%=patt| 00002bc0 65 72 6e 25 21 34 0d 01 74 17 5f 50 61 74 68 25 |ern%!4..t._Path%| 00002bd0 21 34 2b 3d 34 2a 28 5f 6e 25 2b 32 29 0d 01 75 |!4+=4*(_n%+2)..u| 00002be0 2e 5f 50 61 74 68 25 21 33 36 3d 28 28 5f 50 61 |._Path%!36=((_Pa| 00002bf0 74 68 25 21 33 36 29 20 80 20 ac 28 31 3c 3c 37 |th%!36) . .(1<<7| 00002c00 29 29 20 82 20 28 31 3c 3c 37 29 0d 01 76 10 5f |)) . (1<<7)..v._| 00002c10 6d 61 78 25 3d 21 28 93 2b 34 29 0d 01 77 20 f2 |max%=!(.+4)..w .| 00002c20 4d 6f 76 65 4d 65 6d 6f 72 79 28 5f 50 61 74 68 |MoveMemory(_Path| 00002c30 25 2b 34 30 2c 5f 6e 25 2b 32 29 0d 01 78 14 5f |%+40,_n%+2)..x._| 00002c40 69 25 3d 44 72 61 77 5f 50 61 74 68 25 2d 34 0d |i%=Draw_Path%-4.| 00002c50 01 79 2d c8 95 20 5f 69 25 3e 3d 5f 6d 61 78 25 |.y-.. _i%>=_max%| 00002c60 20 3a 21 5f 69 25 2b 3d 34 2a 28 5f 6e 25 2b 32 | :!_i%+=4*(_n%+2| 00002c70 29 20 3a 5f 69 25 2d 3d 34 20 3a ce 0d 01 7a 13 |) :_i%-=4 :...z.| 00002c80 e3 20 5f 69 25 3d 30 20 b8 20 5f 6e 25 2b 31 0d |. _i%=0 . _n%+1.| 00002c90 01 7b 2c 5f 50 61 74 68 25 21 28 34 30 2b 34 2a |.{,_Path%!(40+4*| 00002ca0 5f 69 25 29 3d 28 70 61 74 74 65 72 6e 25 21 28 |_i%)=(pattern%!(| 00002cb0 34 2a 5f 69 25 29 29 2a 36 34 30 0d 01 7c 05 ed |4*_i%))*640..|..| 00002cc0 0d 01 7d 11 5f 50 61 74 68 25 21 34 34 3d 5f 6e |..}._Path%!44=_n| 00002cd0 25 0d 01 7e 05 cd 0d 01 7f 05 e1 0d 01 80 27 dd |%..~..........'.| 00002ce0 20 f2 44 72 61 77 5f 52 65 6e 64 65 72 50 61 74 | .Draw_RenderPat| 00002cf0 68 28 70 61 74 68 25 2c 74 72 61 6e 73 66 6f 72 |h(path%,transfor| 00002d00 6d 29 0d 01 81 10 e7 20 70 61 74 68 25 3c 3e 30 |m)..... path%<>0| 00002d10 20 8c 0d 01 82 5e ea 20 5f 50 61 74 68 25 2c 5f | ....^. _Path%,_| 00002d20 44 61 73 68 25 2c 5f 54 68 69 63 6b 6e 65 73 73 |Dash%,_Thickness| 00002d30 25 2c 5f 53 74 79 6c 65 25 2c 5f 46 6c 61 74 6e |%,_Style%,_Flatn| 00002d40 65 73 73 25 2c 5f 46 69 6c 6c 5f 53 74 79 6c 65 |ess%,_Fill_Style| 00002d50 25 2c 5f 6c 65 6e 67 74 68 25 2c 5f 78 25 2c 5f |%,_length%,_x%,_| 00002d60 79 25 2c 5f 58 25 2c 5f 59 25 2c 5f 63 6f 6c 25 |y%,_X%,_Y%,_col%| 00002d70 0d 01 83 15 c8 99 20 22 48 6f 75 72 67 6c 61 73 |...... "Hourglas| 00002d80 73 5f 4f 6e 22 0d 01 84 10 5f 46 6c 61 74 6e 65 |s_On"...._Flatne| 00002d90 73 73 25 3d 30 0d 01 85 39 5f 78 25 3d 70 61 74 |ss%=0...9_x%=pat| 00002da0 68 25 21 38 20 3a 5f 79 25 3d 70 61 74 68 25 21 |h%!8 :_y%=path%!| 00002db0 31 32 20 3a 5f 58 25 3d 70 61 74 68 25 21 31 36 |12 :_X%=path%!16| 00002dc0 20 3a 5f 59 25 3d 70 61 74 68 25 21 32 30 0d 01 | :_Y%=path%!20..| 00002dd0 86 18 5f 54 68 69 63 6b 6e 65 73 73 25 3d 70 61 |.._Thickness%=pa| 00002de0 74 68 25 21 33 32 0d 01 87 14 5f 53 74 79 6c 65 |th%!32...._Style| 00002df0 25 3d 70 61 74 68 25 21 33 36 0d 01 88 13 5f 50 |%=path%!36...._P| 00002e00 61 74 68 25 3d 70 61 74 68 25 2b 34 30 0d 01 89 |ath%=path%+40...| 00002e10 1e e7 20 28 5f 53 74 79 6c 65 25 20 80 20 28 31 |.. (_Style% . (1| 00002e20 3c 3c 37 29 29 20 3d 20 30 20 8c 0d 01 8a 0c 5f |<<7)) = 0 ....._| 00002e30 44 61 73 68 25 3d 30 0d 01 8b 05 cc 0d 01 8c 11 |Dash%=0.........| 00002e40 5f 44 61 73 68 25 3d 5f 50 61 74 68 25 0d 01 8d |_Dash%=_Path%...| 00002e50 1a 5f 50 61 74 68 25 2b 3d 34 2a 28 5f 44 61 73 |._Path%+=4*(_Das| 00002e60 68 25 21 34 29 2b 38 0d 01 8e 05 cd 0d 01 8f 24 |h%!4)+8........$| 00002e70 70 61 74 68 25 3f 38 20 3d 20 5f 53 74 79 6c 65 |path%?8 = _Style| 00002e80 25 20 80 20 25 31 31 20 20 20 20 20 20 20 20 20 |% . %11 | 00002e90 0d 01 90 24 70 61 74 68 25 3f 39 20 3d 28 5f 53 |...$path%?9 =(_S| 00002ea0 74 79 6c 65 25 20 80 20 25 31 31 30 30 29 3e 3e |tyle% . %1100)>>| 00002eb0 32 20 20 20 0d 01 91 24 70 61 74 68 25 3f 31 30 |2 ...$path%?10| 00002ec0 3d 28 5f 53 74 79 6c 65 25 20 80 20 25 31 31 30 |=(_Style% . %110| 00002ed0 30 30 30 29 3e 3e 34 20 0d 01 92 0e 70 61 74 68 |000)>>4 ....path| 00002ee0 25 3f 31 31 3d 30 0d 01 93 1e 70 61 74 68 25 21 |%?11=0....path%!| 00002ef0 31 32 3d 31 30 3c 3c 31 36 20 20 20 20 20 20 20 |12=10<<16 | 00002f00 20 20 20 20 0d 01 94 20 5f 6c 65 6e 67 74 68 25 | ... _length%| 00002f10 3d 70 61 74 68 25 3f 33 38 20 20 20 20 20 20 20 |=path%?38 | 00002f20 20 20 20 20 0d 01 95 1e 70 61 74 68 25 3f 31 36 | ....path%?16| 00002f30 3d 28 5f 6c 65 6e 67 74 68 25 83 31 36 29 3c 3c |=(_length%.16)<<| 00002f40 34 20 0d 01 96 18 70 61 74 68 25 3f 31 37 3d 5f |4 ....path%?17=_| 00002f50 6c 65 6e 67 74 68 25 81 31 36 0d 01 97 1e 70 61 |length%.16....pa| 00002f60 74 68 25 3f 32 30 3d 28 5f 6c 65 6e 67 74 68 25 |th%?20=(_length%| 00002f70 83 31 36 29 3c 3c 34 20 0d 01 98 18 70 61 74 68 |.16)<<4 ....path| 00002f80 25 3f 32 31 3d 5f 6c 65 6e 67 74 68 25 81 31 36 |%?21=_length%.16| 00002f90 0d 01 99 20 5f 6c 65 6e 67 74 68 25 3d 70 61 74 |... _length%=pat| 00002fa0 68 25 3f 33 39 20 20 20 20 20 20 20 20 20 20 20 |h%?39 | 00002fb0 0d 01 9a 1e 70 61 74 68 25 3f 31 38 3d 28 5f 6c |....path%?18=(_l| 00002fc0 65 6e 67 74 68 25 83 31 36 29 3c 3c 34 20 0d 01 |ength%.16)<<4 ..| 00002fd0 9b 18 70 61 74 68 25 3f 31 39 3d 5f 6c 65 6e 67 |..path%?19=_leng| 00002fe0 74 68 25 81 31 36 0d 01 9c 1e 70 61 74 68 25 3f |th%.16....path%?| 00002ff0 32 32 3d 28 5f 6c 65 6e 67 74 68 25 83 31 36 29 |22=(_length%.16)| 00003000 3c 3c 34 20 0d 01 9d 18 70 61 74 68 25 3f 32 33 |<<4 ....path%?23| 00003010 3d 5f 6c 65 6e 67 74 68 25 81 31 36 0d 01 9e 3e |=_length%.16...>| 00003020 e7 20 28 5f 53 74 79 6c 65 25 20 80 20 28 31 3c |. (_Style% . (1<| 00003030 3c 36 29 29 3d 30 20 8c 5f 46 69 6c 6c 5f 53 74 |<6))=0 ._Fill_St| 00003040 79 6c 65 25 3d 26 33 30 20 8b 5f 46 69 6c 6c 5f |yle%=&30 ._Fill_| 00003050 53 74 79 6c 65 25 3d 26 33 32 0d 01 9f 11 c8 8e |Style%=&32......| 00003060 20 70 61 74 68 25 21 32 34 20 ca 0d 01 a0 08 c9 | path%!24 ......| 00003070 20 2d 31 0d 01 a1 05 7f 0d 01 a2 12 5f 63 6f 6c | -1........._col| 00003080 25 3d 70 61 74 68 25 21 32 34 0d 01 a3 3d e7 20 |%=path%!24...=. | 00003090 21 28 93 2b 32 30 29 3d 30 20 80 20 5f 63 6f 6c |!(.+20)=0 . _col| 000030a0 25 3d 30 20 8c 5f 63 6f 6c 25 3d 28 32 35 35 3c |%=0 ._col%=(255<| 000030b0 3c 38 29 2b 28 32 35 35 3c 3c 31 36 29 2b 28 32 |<8)+(255<<16)+(2| 000030c0 35 35 3c 3c 32 34 29 0d 01 a4 29 c8 99 20 22 43 |55<<24)...).. "C| 000030d0 6f 6c 6f 75 72 54 72 61 6e 73 5f 53 65 74 47 43 |olourTrans_SetGC| 000030e0 4f 4c 22 2c 5f 63 6f 6c 25 2c 2c 2c 31 3c 3c 38 |OL",_col%,,,1<<8| 000030f0 0d 01 a5 3b c8 99 20 22 44 72 61 77 5f 46 69 6c |...;.. "Draw_Fil| 00003100 6c 22 2c 5f 50 61 74 68 25 2c 5f 46 69 6c 6c 5f |l",_Path%,_Fill_| 00003110 53 74 79 6c 65 25 2c 74 72 61 6e 73 66 6f 72 6d |Style%,transform| 00003120 2c 5f 46 6c 61 74 6e 65 73 73 25 0d 01 a6 05 cb |,_Flatness%.....| 00003130 0d 01 a7 12 5f 63 6f 6c 25 3d 70 61 74 68 25 21 |...._col%=path%!| 00003140 32 38 0d 01 a8 3d e7 20 21 28 93 2b 32 30 29 3d |28...=. !(.+20)=| 00003150 30 20 80 20 5f 63 6f 6c 25 3d 30 20 8c 5f 63 6f |0 . _col%=0 ._co| 00003160 6c 25 3d 28 32 35 35 3c 3c 38 29 2b 28 32 35 35 |l%=(255<<8)+(255| 00003170 3c 3c 31 36 29 2b 28 32 35 35 3c 3c 32 34 29 0d |<<16)+(255<<24).| 00003180 01 a9 22 c8 99 20 22 43 6f 6c 6f 75 72 54 72 61 |..".. "ColourTra| 00003190 6e 73 5f 53 65 74 47 43 4f 4c 22 2c 5f 63 6f 6c |ns_SetGCOL",_col| 000031a0 25 0d 01 aa 4c c8 99 20 22 44 72 61 77 5f 53 74 |%...L.. "Draw_St| 000031b0 72 6f 6b 65 22 2c 5f 50 61 74 68 25 2c 2c 74 72 |roke",_Path%,,tr| 000031c0 61 6e 73 66 6f 72 6d 2c 5f 46 6c 61 74 6e 65 73 |ansform,_Flatnes| 000031d0 73 25 2c 5f 54 68 69 63 6b 6e 65 73 73 25 2c 70 |s%,_Thickness%,p| 000031e0 61 74 68 25 2b 38 2c 5f 44 61 73 68 25 0d 01 ab |ath%+8,_Dash%...| 000031f0 39 70 61 74 68 25 21 38 3d 5f 78 25 20 3a 70 61 |9path%!8=_x% :pa| 00003200 74 68 25 21 31 32 3d 5f 79 25 20 3a 70 61 74 68 |th%!12=_y% :path| 00003210 25 21 31 36 3d 5f 58 25 20 3a 70 61 74 68 25 21 |%!16=_X% :path%!| 00003220 32 30 3d 5f 59 25 0d 01 ac 16 c8 99 20 22 48 6f |20=_Y%...... "Ho| 00003230 75 72 67 6c 61 73 73 5f 4f 66 66 22 0d 01 ad 05 |urglass_Off"....| 00003240 cd 0d 01 ae 05 e1 0d ff |........| 00003248