home *** CD-ROM | disk | FTP | other *** search
Unknown | 1993-04-15 | 32.4 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was not able to be converted.
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| file
| data
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 0d 00 01 10 2a 7c 73 74 | 61 72 74 20 44 72 61 77 |....*|st|art Draw|
|00000010| 0d 00 02 13 2a 7c 21 44 | 72 61 77 20 4c 69 62 72 |....*|!D|raw Libr|
|00000020| 61 72 79 0d 00 03 07 2a | 7c 21 0d 00 04 34 2a 7c |ary....*||!...4*||
|00000030| 21 56 65 72 73 69 6f 6e | 20 32 2e 32 35 20 2d 20 |!Version| 2.25 - |
|00000040| 28 43 29 20 54 6f 6d 20 | 48 75 67 68 65 73 20 31 |(C) Tom |Hughes 1|
|00000050| 33 74 68 20 41 70 72 69 | 6c 20 31 39 39 33 0d 00 |3th Apri|l 1993..|
|00000060| 05 07 2a 7c 21 0d 00 06 | 47 2a 7c 21 54 68 69 73 |..*|!...|G*|!This|
|00000070| 20 6c 69 62 72 61 72 79 | 20 63 6f 6e 74 61 69 6e | library| contain|
|00000080| 73 20 72 6f 75 74 69 6e | 65 73 20 66 6f 72 20 68 |s routin|es for h|
|00000090| 61 6e 64 6c 69 6e 67 20 | 64 72 61 77 66 69 6c 65 |andling |drawfile|
|000000a0| 73 2e 20 49 74 20 61 6c | 6c 6f 77 73 0d 00 07 42 |s. It al|lows...B|
|000000b0| 2a 7c 21 79 6f 75 20 74 | 6f 20 6c 6f 61 64 20 64 |*|!you t|o load d|
|000000c0| 72 61 77 66 69 6c 65 73 | 2c 20 63 72 65 61 74 65 |rawfiles|, create|
|000000d0| 20 64 72 61 77 66 69 6c | 65 73 2c 20 65 64 69 74 | drawfil|es, edit|
|000000e0| 20 64 72 61 77 66 69 6c | 65 73 20 61 6e 64 0d 00 | drawfil|es and..|
|000000f0| 08 45 2a 7c 21 72 65 6e | 64 65 72 20 64 72 61 77 |.E*|!ren|der draw|
|00000100| 66 69 6c 65 73 20 6f 6e | 20 74 68 65 20 64 69 73 |files on| the dis|
|00000110| 70 6c 61 79 2e 20 54 68 | 65 20 6f 6e 6c 79 20 74 |play. Th|e only t|
|00000120| 79 70 65 20 6f 66 20 6f | 62 6a 65 63 74 20 77 68 |ype of o|bject wh|
|00000130| 69 63 68 0d 00 09 38 2a | 7c 21 74 68 69 73 20 6c |ich...8*||!this l|
|00000140| 69 62 72 61 72 79 20 63 | 61 6e 6e 6f 74 20 72 65 |ibrary c|annot re|
|00000150| 6e 64 65 72 20 69 73 20 | 61 20 74 65 78 74 20 61 |nder is |a text a|
|00000160| 72 65 61 20 6f 62 6a 65 | 63 74 2e 0d 00 0a 07 2a |rea obje|ct.....*|
|00000170| 7c 21 0d 00 0b 4a 2a 7c | 21 49 74 20 69 73 20 69 ||!...J*||!It is i|
|00000180| 6d 70 6f 72 74 61 6e 74 | 20 74 6f 20 72 65 6d 65 |mportant| to reme|
|00000190| 6d 62 65 72 20 74 68 61 | 74 20 74 68 65 20 64 72 |mber tha|t the dr|
|000001a0| 61 77 20 6c 69 62 72 61 | 72 79 20 77 6f 72 6b 73 |aw libra|ry works|
|000001b0| 20 69 6e 20 69 6e 74 65 | 72 6e 61 6c 0d 00 0c 45 | in inte|rnal...E|
|000001c0| 2a 7c 21 64 72 61 77 20 | 75 6e 69 74 73 2c 20 77 |*|!draw |units, w|
|000001d0| 68 69 63 68 20 61 72 65 | 20 31 2f 32 35 36 20 6f |hich are| 1/256 o|
|000001e0| 66 20 61 6e 20 6f 73 20 | 75 6e 69 74 20 69 6e 20 |f an os |unit in |
|000001f0| 73 69 7a 65 2e 20 54 68 | 65 20 6c 69 62 72 61 72 |size. Th|e librar|
|00000200| 79 0d 00 0d 47 2a 7c 21 | 64 65 66 69 6e 65 73 20 |y...G*|!|defines |
|00000210| 73 6f 6d 65 20 73 74 61 | 6e 64 61 72 64 20 63 6f |some sta|ndard co|
|00000220| 6e 73 74 61 6e 74 73 20 | 74 6f 20 68 65 6c 70 20 |nstants |to help |
|00000230| 79 6f 75 20 73 63 61 6c | 65 20 79 6f 75 72 20 64 |you scal|e your d|
|00000240| 72 61 77 69 6e 67 73 2e | 0d 00 0e 49 2a 7c 21 54 |rawings.|...I*|!T|
|00000250| 68 65 73 65 20 61 72 65 | 20 62 61 73 65 64 20 6f |hese are| based o|
|00000260| 6e 20 74 68 65 20 73 74 | 61 6e 64 61 72 64 20 62 |n the st|andard b|
|00000270| 61 73 69 73 20 6f 66 20 | 31 38 30 20 6f 73 20 75 |asis of |180 os u|
|00000280| 6e 69 74 73 20 74 6f 20 | 74 68 65 20 69 6e 63 68 |nits to |the inch|
|00000290| 2c 0d 00 0f 0f 2a 7c 21 | 61 6e 64 20 61 72 65 3a |,....*|!|and are:|
|000002a0| 0d 00 10 07 2a 7c 21 0d | 00 11 26 2a 7c 21 20 20 |....*|!.|..&*|! |
|000002b0| 20 20 20 6f 73 2c 20 6d | 6d 2c 20 63 6d 2c 20 70 | os, m|m, cm, p|
|000002c0| 6f 69 6e 74 20 61 6e 64 | 20 69 6e 63 68 0d 00 12 |oint and| inch...|
|000002d0| 07 2a 7c 21 0d 00 13 3d | 2a 7c 21 54 68 75 73 2c |.*|!...=|*|!Thus,|
|000002e0| 20 74 6f 20 73 65 74 20 | 74 68 65 20 6c 69 6e 65 | to set |the line|
|000002f0| 20 77 69 64 74 68 20 74 | 6f 20 34 20 70 6f 69 6e | width t|o 4 poin|
|00000300| 74 2c 20 79 6f 75 20 6d | 69 67 68 74 20 73 61 79 |t, you m|ight say|
|00000310| 3a 0d 00 14 07 2a 7c 21 | 0d 00 15 2a 2a 7c 21 20 |:....*|!|...**|! |
|00000320| 20 20 20 20 50 52 4f 43 | 64 72 61 77 5f 73 65 74 | PROC|draw_set|
|00000330| 6c 69 6e 65 77 69 64 74 | 68 28 34 2a 70 6f 69 6e |linewidt|h(4*poin|
|00000340| 74 29 0d 00 16 10 2a 7c | 73 74 6f 70 20 44 72 61 |t)....*||stop Dra|
|00000350| 77 20 0d 00 17 04 0d 00 | 18 19 2a 7c 73 74 61 72 |w ......|..*|star|
|00000360| 74 20 50 52 4f 43 64 72 | 61 77 5f 69 6e 69 74 0d |t PROCdr|aw_init.|
|00000370| 00 19 14 2a 7c 21 50 52 | 4f 43 64 72 61 77 5f 69 |...*|!PR|OCdraw_i|
|00000380| 6e 69 74 0d 00 1a 07 2a | 7c 21 0d 00 1b 49 2a 7c |nit....*||!...I*||
|00000390| 21 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 73 68 |!This ro|utine sh|
|000003a0| 6f 75 6c 64 20 62 65 20 | 63 61 6c 6c 65 64 20 62 |ould be |called b|
|000003b0| 65 66 6f 72 65 20 61 6e | 79 20 6f 74 68 65 72 73 |efore an|y others|
|000003c0| 20 69 6e 20 74 68 65 20 | 6c 69 62 72 61 72 79 2c | in the |library,|
|000003d0| 20 74 6f 0d 00 1c 46 2a | 7c 21 65 6e 73 75 72 65 | to...F*||!ensure|
|000003e0| 20 74 68 61 74 20 61 6c | 6c 20 69 6e 74 65 72 6e | that al|l intern|
|000003f0| 61 6c 20 64 61 74 61 20 | 73 74 72 75 63 74 75 72 |al data |structur|
|00000400| 65 73 20 68 61 76 65 20 | 62 65 65 6e 20 69 6e 69 |es have |been ini|
|00000410| 74 69 61 6c 69 73 65 64 | 2e 0d 00 1d 07 2a 7c 21 |tialised|.....*|!|
|00000420| 0d 00 1e 4a 2a 7c 21 49 | 74 20 69 73 20 65 73 73 |...J*|!I|t is ess|
|00000430| 65 6e 74 69 61 6c 20 74 | 68 61 74 20 74 68 65 20 |ential t|hat the |
|00000440| 6d 65 6d 6f 72 79 20 61 | 6c 6c 6f 63 61 74 69 6f |memory a|llocatio|
|00000450| 6e 20 6c 69 62 72 61 72 | 79 20 68 61 73 20 61 6c |n librar|y has al|
|00000460| 72 65 61 64 79 20 62 65 | 65 6e 0d 00 1f 4d 2a 7c |ready be|en...M*||
|00000470| 21 69 6e 69 74 69 61 6c | 69 73 65 64 20 62 65 66 |!initial|ised bef|
|00000480| 6f 72 65 20 74 68 69 73 | 20 72 6f 75 74 69 6e 65 |ore this| routine|
|00000490| 20 69 73 20 63 61 6c 6c | 65 64 2c 20 61 6e 64 20 | is call|ed, and |
|000004a0| 74 68 61 74 20 74 68 65 | 20 73 70 72 69 74 65 20 |that the| sprite |
|000004b0| 6c 69 62 72 61 72 79 0d | 00 20 4f 2a 7c 21 69 73 |library.|. O*|!is|
|000004c0| 20 69 6e 69 74 69 61 6c | 69 73 65 64 20 62 65 66 | initial|ised bef|
|000004d0| 6f 72 65 20 61 6e 79 20 | 61 74 74 65 6d 70 74 20 |ore any |attempt |
|000004e0| 69 73 20 6d 61 64 65 20 | 74 6f 20 68 61 6e 64 6c |is made |to handl|
|000004f0| 65 20 64 72 61 77 66 69 | 6c 65 73 20 63 6f 6e 74 |e drawfi|les cont|
|00000500| 61 69 6e 69 6e 67 0d 00 | 21 1e 2a 7c 21 73 70 72 |aining..|!.*|!spr|
|00000510| 69 74 65 73 20 6f 72 20 | 73 79 73 74 65 6d 20 74 |ites or |system t|
|00000520| 65 78 74 2e 0d 00 22 10 | dd 20 f2 64 72 61 77 5f |ext...".|. .draw_|
|00000530| 69 6e 69 74 0d 00 23 14 | 5f 64 72 61 77 5f 63 68 |init..#.|_draw_ch|
|00000540| 75 6e 6b 25 3d 32 35 36 | 0d 00 24 1b 5f 64 72 61 |unk%=256|..$._dra|
|00000550| 77 5f 62 69 67 6e 75 6d | 25 3d 26 37 46 46 46 46 |w_bignum|%=&7FFFF|
|00000560| 46 46 46 0d 00 25 16 5f | 64 72 61 77 5f 70 61 74 |FFF..%._|draw_pat|
|00000570| 68 73 74 79 6c 65 25 3d | 30 0d 00 26 14 5f 64 72 |hstyle%=|0..&._dr|
|00000580| 61 77 5f 6c 69 6e 65 63 | 6f 6c 25 3d 30 0d 00 27 |aw_linec|ol%=0..'|
|00000590| 15 5f 64 72 61 77 5f 66 | 69 6c 6c 63 6f 6c 25 3d |._draw_f|illcol%=|
|000005a0| 2d 31 0d 00 28 16 5f 64 | 72 61 77 5f 6c 69 6e 65 |-1..(._d|raw_line|
|000005b0| 77 69 64 74 68 25 3d 30 | 0d 00 29 17 de 20 5f 64 |width%=0|..).. _d|
|000005c0| 72 61 77 5f 64 61 73 68 | 70 61 74 25 20 32 34 0d |raw_dash|pat% 24.|
|000005d0| 00 2a 27 64 72 61 77 5f | 53 54 41 52 54 3d 30 3a |.*'draw_|START=0:|
|000005e0| 64 72 61 77 5f 4e 45 58 | 54 3d 31 3a 64 72 61 77 |draw_NEX|T=1:draw|
|000005f0| 5f 45 4e 44 3d 32 0d 00 | 2b 3f 64 72 61 77 5f 41 |_END=2..|+?draw_A|
|00000600| 30 3d 30 3a 64 72 61 77 | 5f 41 31 3d 31 3a 64 72 |0=0:draw|_A1=1:dr|
|00000610| 61 77 5f 41 32 3d 32 3a | 64 72 61 77 5f 41 33 3d |aw_A2=2:|draw_A3=|
|00000620| 34 3a 64 72 61 77 5f 41 | 34 3d 34 3a 64 72 61 77 |4:draw_A|4=4:draw|
|00000630| 5f 41 35 3d 35 0d 00 2c | 25 64 72 61 77 5f 50 4f |_A5=5..,|%draw_PO|
|00000640| 52 54 52 41 49 54 3d 30 | 3a 64 72 61 77 5f 4c 41 |RTRAIT=0|:draw_LA|
|00000650| 4e 44 53 43 41 50 45 3d | 31 36 0d 00 2d 1c 64 72 |NDSCAPE=|16..-.dr|
|00000660| 61 77 5f 47 41 50 3d 2d | 31 3a 64 72 61 77 5f 4e |aw_GAP=-|1:draw_N|
|00000670| 4f 47 41 50 3d 30 0d 00 | 2e 2e 64 72 61 77 5f 4d |OGAP=0..|..draw_M|
|00000680| 49 54 52 45 44 3d 30 3a | 64 72 61 77 5f 52 4f 55 |ITRED=0:|draw_ROU|
|00000690| 4e 44 3d 31 3a 64 72 61 | 77 5f 42 45 56 45 4c 4c |ND=1:dra|w_BEVELL|
|000006a0| 45 44 3d 32 0d 00 2f 2f | 64 72 61 77 5f 42 55 54 |ED=2..//|draw_BUT|
|000006b0| 54 3d 30 3a 64 72 61 77 | 5f 53 51 55 41 52 45 3d |T=0:draw|_SQUARE=|
|000006c0| 32 3a 64 72 61 77 5f 54 | 52 49 41 4e 47 55 4c 41 |2:draw_T|RIANGULA|
|000006d0| 52 3d 33 0d 00 30 21 64 | 72 61 77 5f 4e 4f 4e 5a |R=3..0!d|raw_NONZ|
|000006e0| 45 52 4f 3d 30 3a 64 72 | 61 77 5f 45 56 45 4e 4f |ERO=0:dr|aw_EVENO|
|000006f0| 44 44 3d 31 0d 00 31 43 | 64 72 61 77 5f 4c 45 46 |DD=1..1C|draw_LEF|
|00000700| 54 3d 30 3a 64 72 61 77 | 5f 54 4f 50 3d 30 3a 64 |T=0:draw|_TOP=0:d|
|00000710| 72 61 77 5f 43 45 4e 54 | 52 45 3d 31 3a 64 72 61 |raw_CENT|RE=1:dra|
|00000720| 77 5f 52 49 47 48 54 3d | 32 3a 64 72 61 77 5f 42 |w_RIGHT=|2:draw_B|
|00000730| 4f 54 54 4f 4d 3d 32 0d | 00 32 30 6f 73 3d 32 35 |OTTOM=2.|.20os=25|
|00000740| 36 3a 69 6e 63 68 3d 26 | 42 34 30 30 3a 70 6f 69 |6:inch=&|B400:poi|
|00000750| 6e 74 3d 36 34 30 3a 63 | 6d 3d 31 38 31 34 30 3a |nt=640:c|m=18140:|
|00000760| 6d 6d 3d 31 38 31 34 0d | 00 33 05 e1 0d 00 34 04 |mm=1814.|.3....4.|
|00000770| 0d 00 35 18 dd 20 f2 5f | 64 72 61 77 5f 70 75 74 |..5.. ._|draw_put|
|00000780| 77 28 77 6f 72 64 25 29 | 0d 00 36 53 e7 20 34 2b |w(word%)|..6S. 4+|
|00000790| 21 70 74 72 25 3e 3d a4 | 73 69 7a 65 5f 6f 66 28 |!ptr%>=.|size_of(|
|000007a0| 70 74 72 25 21 31 32 29 | 20 8c 20 f2 72 65 61 6c |ptr%!12)| . .real|
|000007b0| 6c 6f 63 28 70 74 72 25 | 21 31 32 2c 5f 64 72 61 |loc(ptr%|!12,_dra|
|000007c0| 77 5f 63 68 75 6e 6b 25 | 2b a4 73 69 7a 65 5f 6f |w_chunk%|+.size_o|
|000007d0| 66 28 70 74 72 25 21 31 | 32 29 29 0d 00 37 1a 21 |f(ptr%!1|2))..7.!|
|000007e0| 28 70 74 72 25 21 31 32 | 2b 21 70 74 72 25 29 3d |(ptr%!12|+!ptr%)=|
|000007f0| 77 6f 72 64 25 0d 00 38 | 0e 21 70 74 72 25 20 2b |word%..8|.!ptr% +|
|00000800| 3d 20 34 0d 00 39 05 e1 | 0d 00 3a 04 0d 00 3b 19 |= 4..9..|..:...;.|
|00000810| dd 20 f2 5f 64 72 61 77 | 5f 70 75 74 78 79 28 78 |. ._draw|_putxy(x|
|00000820| 25 2c 79 25 29 0d 00 3c | 53 e7 20 38 2b 21 70 74 |%,y%)..<|S. 8+!pt|
|00000830| 72 25 3e 3d a4 73 69 7a | 65 5f 6f 66 28 70 74 72 |r%>=.siz|e_of(ptr|
|00000840| 25 21 31 32 29 20 8c 20 | f2 72 65 61 6c 6c 6f 63 |%!12) . |.realloc|
|00000850| 28 70 74 72 25 21 31 32 | 2c 5f 64 72 61 77 5f 63 |(ptr%!12|,_draw_c|
|00000860| 68 75 6e 6b 25 2b a4 73 | 69 7a 65 5f 6f 66 28 70 |hunk%+.s|ize_of(p|
|00000870| 74 72 25 21 31 32 29 29 | 0d 00 3d 17 21 28 70 74 |tr%!12))|..=.!(pt|
|00000880| 72 25 21 31 32 2b 21 70 | 74 72 25 29 3d 78 25 0d |r%!12+!p|tr%)=x%.|
|00000890| 00 3e 19 21 28 70 74 72 | 25 21 31 32 2b 21 70 74 |.>.!(ptr|%!12+!pt|
|000008a0| 72 25 2b 34 29 3d 79 25 | 0d 00 3f 0e 21 70 74 72 |r%+4)=y%|..?.!ptr|
|000008b0| 25 20 2b 3d 20 38 0d 00 | 40 25 e7 20 78 25 3c 21 |% += 8..|@%. x%<!|
|000008c0| 28 70 74 72 25 21 31 32 | 2b 38 29 20 21 28 70 74 |(ptr%!12|+8) !(pt|
|000008d0| 72 25 21 31 32 2b 38 29 | 3d 78 25 0d 00 41 27 e7 |r%!12+8)|=x%..A'.|
|000008e0| 20 79 25 3c 21 28 70 74 | 72 25 21 31 32 2b 31 32 | y%<!(pt|r%!12+12|
|000008f0| 29 20 21 28 70 74 72 25 | 21 31 32 2b 31 32 29 3d |) !(ptr%|!12+12)=|
|00000900| 79 25 0d 00 42 27 e7 20 | 78 25 3e 21 28 70 74 72 |y%..B'. |x%>!(ptr|
|00000910| 25 21 31 32 2b 31 36 29 | 20 21 28 70 74 72 25 21 |%!12+16)| !(ptr%!|
|00000920| 31 32 2b 31 36 29 3d 78 | 25 0d 00 43 27 e7 20 79 |12+16)=x|%..C'. y|
|00000930| 25 3e 21 28 70 74 72 25 | 21 31 32 2b 32 30 29 20 |%>!(ptr%|!12+20) |
|00000940| 21 28 70 74 72 25 21 31 | 32 2b 32 30 29 3d 79 25 |!(ptr%!1|2+20)=y%|
|00000950| 0d 00 44 05 e1 0d 00 45 | 04 0d 00 46 25 dd 20 a4 |..D....E|...F%. .|
|00000960| 5f 64 72 61 77 5f 66 6f | 6e 74 68 61 6e 64 6c 65 |_draw_fo|nthandle|
|00000970| 28 66 6f 6e 74 24 2c 74 | 61 62 6c 65 25 29 0d 00 |(font$,t|able%)..|
|00000980| 47 1a ea 20 66 6f 6e 74 | 25 2c 70 74 72 25 2c 65 |G.. font|%,ptr%,e|
|00000990| 6e 64 25 2c 6d 61 78 25 | 0d 00 48 17 65 6e 64 25 |nd%,max%|..H.end%|
|000009a0| 3d 21 28 74 61 62 6c 65 | 25 21 31 32 2b 34 29 0d |=!(table|%!12+4).|
|000009b0| 00 49 14 70 74 72 25 3d | 38 2b 74 61 62 6c 65 25 |.I.ptr%=|8+table%|
|000009c0| 21 31 32 0d 00 4a 0c 66 | 6f 6e 74 25 3d 2d 31 0d |!12..J.f|ont%=-1.|
|000009d0| 00 4b 0a 6d 61 78 25 3d | 30 0d 00 4c 25 c8 95 20 |.K.max%=|0..L%.. |
|000009e0| 70 74 72 25 3c 65 6e 64 | 25 2b 74 61 62 6c 65 25 |ptr%<end|%+table%|
|000009f0| 21 31 32 20 80 20 66 6f | 6e 74 25 3d 2d 31 0d 00 |!12 . fo|nt%=-1..|
|00000a00| 4d 31 20 20 e7 20 66 6f | 6e 74 24 3d a4 6f 73 5f |M1 . fo|nt$=.os_|
|00000a10| 67 65 74 73 74 72 69 6e | 67 28 70 74 72 25 2b 31 |getstrin|g(ptr%+1|
|00000a20| 29 20 8c 20 66 6f 6e 74 | 25 3d 3f 70 74 72 25 0d |) . font|%=?ptr%.|
|00000a30| 00 4e 1f 20 20 e7 20 3f | 70 74 72 25 3e 6d 61 78 |.N. . ?|ptr%>max|
|00000a40| 25 20 8c 20 6d 61 78 25 | 3d 3f 70 74 72 25 0d 00 |% . max%|=?ptr%..|
|00000a50| 4f 24 20 20 70 74 72 25 | 2b 3d 32 2b a9 a4 6f 73 |O$ ptr%|+=2+..os|
|00000a60| 5f 67 65 74 73 74 72 69 | 6e 67 28 70 74 72 25 2b |_getstri|ng(ptr%+|
|00000a70| 31 29 0d 00 50 05 ce 0d | 00 51 10 e7 20 66 6f 6e |1)..P...|.Q.. fon|
|00000a80| 74 25 3d 2d 31 20 8c 0d | 00 52 27 20 20 f2 72 65 |t%=-1 ..|.R' .re|
|00000a90| 61 6c 6c 6f 63 28 74 61 | 62 6c 65 25 21 31 32 2c |alloc(ta|ble%!12,|
|00000aa0| 65 6e 64 25 2b 32 2b a9 | 66 6f 6e 74 24 29 0d 00 |end%+2+.|font$)..|
|00000ab0| 53 33 20 20 f2 6f 73 5f | 70 75 74 73 74 72 69 6e |S3 .os_|putstrin|
|00000ac0| 67 28 74 61 62 6c 65 25 | 21 31 32 2b 65 6e 64 25 |g(table%|!12+end%|
|00000ad0| 2c bd 28 6d 61 78 25 2b | 31 29 2b 66 6f 6e 74 24 |,.(max%+|1)+font$|
|00000ae0| 29 0d 00 54 12 20 20 66 | 6f 6e 74 25 3d 6d 61 78 |)..T. f|ont%=max|
|00000af0| 25 2b 31 0d 00 55 17 20 | 20 21 74 61 62 6c 65 25 |%+1..U. | !table%|
|00000b00| 2b 3d 32 2b a9 66 6f 6e | 74 24 0d 00 56 1e 20 20 |+=2+.fon|t$..V. |
|00000b10| 21 28 74 61 62 6c 65 25 | 21 31 32 2b 34 29 2b 3d |!(table%|!12+4)+=|
|00000b20| 32 2b a9 66 6f 6e 74 24 | 0d 00 57 05 cd 0d 00 58 |2+.font$|..W....X|
|00000b30| 0a 3d 66 6f 6e 74 25 0d | 00 59 04 0d 00 5a 18 2a |.=font%.|.Y...Z.*|
|00000b40| 7c 73 74 6f 70 20 50 52 | 4f 43 64 72 61 77 5f 69 ||stop PR|OCdraw_i|
|00000b50| 6e 69 74 0d 00 5b 1b 2a | 7c 73 74 61 72 74 20 46 |nit..[.*||start F|
|00000b60| 4e 64 72 61 77 5f 6c 6f | 61 64 66 69 6c 65 0d 00 |Ndraw_lo|adfile..|
|00000b70| 5c 23 2a 7c 21 46 4e 64 | 72 61 77 5f 6c 6f 61 64 |\#*|!FNd|raw_load|
|00000b80| 66 69 6c 65 28 20 66 69 | 6c 65 5f 6e 61 6d 65 20 |file( fi|le_name |
|00000b90| 29 0d 00 5d 07 2a 7c 21 | 0d 00 5e 46 2a 7c 21 54 |)..].*|!|..^F*|!T|
|00000ba0| 68 69 73 20 72 6f 75 74 | 69 6e 65 20 6c 6f 61 64 |his rout|ine load|
|00000bb0| 73 20 61 20 64 72 61 77 | 66 69 6c 65 20 61 6e 64 |s a draw|file and|
|00000bc0| 20 72 65 74 75 72 6e 73 | 20 61 20 70 6f 69 6e 74 | returns| a point|
|00000bd0| 65 72 20 74 6f 20 69 74 | 20 77 68 69 63 68 0d 00 |er to it| which..|
|00000be0| 5f 47 2a 7c 21 69 73 20 | 74 68 65 6e 20 70 61 73 |_G*|!is |then pas|
|00000bf0| 73 20 74 6f 20 6f 74 68 | 65 72 20 72 6f 75 74 69 |s to oth|er routi|
|00000c00| 6e 65 73 20 69 6e 20 74 | 68 69 73 20 6c 69 62 72 |nes in t|his libr|
|00000c10| 61 72 79 20 74 6f 20 6d | 61 6e 69 70 75 6c 61 74 |ary to m|anipulat|
|00000c20| 65 20 61 6e 64 0d 00 60 | 1b 2a 7c 21 72 65 6e 64 |e and..`|.*|!rend|
|00000c30| 65 72 20 74 68 65 20 64 | 72 61 77 66 69 6c 65 2e |er the d|rawfile.|
|00000c40| 0d 00 61 1b dd 20 a4 64 | 72 61 77 5f 6c 6f 61 64 |..a.. .d|raw_load|
|00000c50| 66 69 6c 65 28 66 69 6c | 65 24 29 0d 00 62 1c ea |file(fil|e$)..b..|
|00000c60| 20 74 79 70 65 25 2c 66 | 74 79 70 65 25 2c 65 78 | type%,f|type%,ex|
|00000c70| 74 25 2c 70 74 72 25 0d | 00 63 2e c8 99 20 22 4f |t%,ptr%.|.c... "O|
|00000c80| 53 5f 46 69 6c 65 22 2c | 35 2c 66 69 6c 65 24 20 |S_File",|5,file$ |
|00000c90| b8 20 74 79 70 65 25 2c | 2c 66 74 79 70 65 25 2c |. type%,|,ftype%,|
|00000ca0| 2c 65 78 74 25 0d 00 64 | 2a e7 20 74 79 70 65 25 |,ext%..d|*. type%|
|00000cb0| 3d 31 20 80 20 28 66 74 | 79 70 65 25 20 80 20 26 |=1 . (ft|ype% . &|
|00000cc0| 46 46 46 30 30 29 3d 26 | 41 46 46 30 30 20 8c 0d |FFF00)=&|AFF00 ..|
|00000cd0| 00 65 16 20 20 70 74 72 | 25 3d a4 6d 61 6c 6c 6f |.e. ptr|%=.mallo|
|00000ce0| 63 28 31 36 29 0d 00 66 | 10 20 20 21 70 74 72 25 |c(16)..f|. !ptr%|
|00000cf0| 3d 65 78 74 25 0d 00 67 | 0e 20 20 70 74 72 25 21 |=ext%..g|. ptr%!|
|00000d00| 34 3d 31 0d 00 68 11 20 | 20 70 74 72 25 21 38 3d |4=1..h. | ptr%!8=|
|00000d10| 65 78 74 25 0d 00 69 1b | 20 20 70 74 72 25 21 31 |ext%..i.| ptr%!1|
|00000d20| 32 3d a4 6d 61 6c 6c 6f | 63 28 65 78 74 25 29 0d |2=.mallo|c(ext%).|
|00000d30| 00 6a 26 20 20 c8 99 20 | 22 4f 53 5f 46 69 6c 65 |.j& .. |"OS_File|
|00000d40| 22 2c 32 35 35 2c 66 69 | 6c 65 24 2c 70 74 72 25 |",255,fi|le$,ptr%|
|00000d50| 21 31 32 2c 30 0d 00 6b | 1f 20 20 e7 20 21 28 70 |!12,0..k|. . !(p|
|00000d60| 74 72 25 21 31 32 29 3c | 3e 26 37 37 36 31 37 32 |tr%!12)<|>&776172|
|00000d70| 34 34 20 8c 0d 00 6c 13 | 20 20 20 20 f2 66 72 65 |44 ...l.| .fre|
|00000d80| 65 28 70 74 72 25 29 0d | 00 6d 2c 20 20 20 20 85 |e(ptr%).|.m, .|
|00000d90| 20 31 2c 22 27 22 2b 66 | 69 6c 65 24 2b 22 27 20 | 1,"'"+f|ile$+"' |
|00000da0| 69 73 20 6e 6f 74 20 61 | 20 64 72 61 77 20 66 69 |is not a| draw fi|
|00000db0| 6c 65 22 0d 00 6e 07 20 | 20 cc 0d 00 6f 1c 20 20 |le"..n. | ...o. |
|00000dc0| 20 20 e7 20 21 28 70 74 | 72 25 21 31 32 2b 34 29 | . !(pt|r%!12+4)|
|00000dd0| 3e 32 30 31 20 8c 0d 00 | 70 15 20 20 20 20 20 20 |>201 ...|p. |
|00000de0| f2 66 72 65 65 28 70 74 | 72 25 29 0d 00 71 47 20 |.free(pt|r%)..qG |
|00000df0| 20 20 20 20 20 85 20 31 | 2c 22 27 22 2b 66 69 6c | . 1|,"'"+fil|
|00000e00| 65 24 2b 22 27 20 68 61 | 73 20 61 20 6d 61 6a 6f |e$+"' ha|s a majo|
|00000e10| 72 20 76 65 72 73 69 6f | 6e 20 6e 75 6d 62 65 72 |r versio|n number|
|00000e20| 20 67 72 65 61 74 65 72 | 20 74 68 61 6e 20 32 30 | greater| than 20|
|00000e30| 31 22 0d 00 72 09 20 20 | 20 20 cd 0d 00 73 07 20 |1"..r. | ...s. |
|00000e40| 20 cd 0d 00 74 05 cc 0d | 00 75 2a 20 20 85 20 31 | ...t...|.u* . 1|
|00000e50| 2c 22 27 22 2b 66 69 6c | 65 24 2b 22 27 20 69 73 |,"'"+fil|e$+"' is|
|00000e60| 20 6e 6f 74 20 61 20 64 | 72 61 77 20 66 69 6c 65 | not a d|raw file|
|00000e70| 22 0d 00 76 05 cd 0d 00 | 77 09 3d 70 74 72 25 0d |"..v....|w.=ptr%.|
|00000e80| 00 78 04 0d 00 79 1a 2a | 7c 73 74 6f 70 20 46 4e |.x...y.*||stop FN|
|00000e90| 64 72 61 77 5f 6c 6f 61 | 64 66 69 6c 65 0d 00 7a |draw_loa|dfile..z|
|00000ea0| 1d 2a 7c 73 74 61 72 74 | 20 50 52 4f 43 64 72 61 |.*|start| PROCdra|
|00000eb0| 77 5f 73 61 76 65 66 69 | 6c 65 0d 00 7b 2f 2a 7c |w_savefi|le..{/*||
|00000ec0| 21 50 52 4f 43 64 72 61 | 77 5f 73 61 76 65 66 69 |!PROCdra|w_savefi|
|00000ed0| 6c 65 28 20 70 6f 69 6e | 74 65 72 20 2c 20 66 69 |le( poin|ter , fi|
|00000ee0| 6c 65 5f 6e 61 6d 65 20 | 29 0d 00 7c 07 2a 7c 21 |le_name |)..|.*|!|
|00000ef0| 0d 00 7d 4a 2a 7c 21 54 | 68 69 73 20 72 6f 75 74 |..}J*|!T|his rout|
|00000f00| 69 6e 65 20 73 61 76 65 | 73 20 61 20 64 72 61 77 |ine save|s a draw|
|00000f10| 66 69 6c 65 20 75 73 69 | 6e 67 20 74 68 65 20 67 |file usi|ng the g|
|00000f20| 69 76 65 6e 20 66 69 6c | 65 6e 61 6d 65 2e 20 49 |iven fil|ename. I|
|00000f30| 74 20 61 6c 73 6f 20 68 | 61 73 0d 00 7e 48 2a 7c |t also h|as..~H*||
|00000f40| 21 65 66 66 65 63 74 20 | 6f 66 20 27 66 69 6e 69 |!effect |of 'fini|
|00000f50| 73 68 69 6e 67 27 20 74 | 68 65 20 66 69 6c 65 2c |shing' t|he file,|
|00000f60| 20 73 6f 20 74 68 61 74 | 20 50 52 4f 43 64 72 61 | so that| PROCdra|
|00000f70| 77 5f 65 64 69 74 66 69 | 6c 65 20 6d 75 73 74 20 |w_editfi|le must |
|00000f80| 62 65 0d 00 7f 32 2a 7c | 21 62 65 66 6f 72 65 20 |be...2*||!before |
|00000f90| 61 6e 79 20 63 68 61 6e | 67 65 73 20 63 61 6e 20 |any chan|ges can |
|00000fa0| 62 65 20 6d 61 64 65 20 | 74 6f 20 74 68 65 20 66 |be made |to the f|
|00000fb0| 69 6c 65 2e 0d 00 80 20 | dd 20 f2 64 72 61 77 5f |ile.... |. .draw_|
|00000fc0| 73 61 76 65 66 69 6c 65 | 28 70 74 72 25 2c 66 69 |savefile|(ptr%,fi|
|00000fd0| 6c 65 24 29 0d 00 81 35 | c8 99 20 22 4f 53 5f 46 |le$)...5|.. "OS_F|
|00000fe0| 69 6c 65 22 2c 31 30 2c | 66 69 6c 65 24 2c 26 41 |ile",10,|file$,&A|
|00000ff0| 46 46 2c 2c 70 74 72 25 | 21 31 32 2c 70 74 72 25 |FF,,ptr%|!12,ptr%|
|00001000| 21 31 32 2b 21 70 74 72 | 25 0d 00 82 05 e1 0d 00 |!12+!ptr|%.......|
|00001010| 83 04 0d 00 84 1c 2a 7c | 73 74 6f 70 20 50 52 4f |......*||stop PRO|
|00001020| 43 64 72 61 77 5f 73 61 | 76 65 66 69 6c 65 0d 00 |Cdraw_sa|vefile..|
|00001030| 85 1b 2a 7c 73 74 61 72 | 74 20 46 4e 64 72 61 77 |..*|star|t FNdraw|
|00001040| 5f 66 69 6c 65 73 69 7a | 65 0d 00 86 21 2a 7c 21 |_filesiz|e...!*|!|
|00001050| 46 4e 64 72 61 77 5f 66 | 69 6c 65 73 69 7a 65 28 |FNdraw_f|ilesize(|
|00001060| 20 70 6f 69 6e 74 65 72 | 20 29 0d 00 87 07 2a 7c | pointer| )....*||
|00001070| 21 0d 00 88 4a 2a 7c 21 | 54 68 69 73 20 66 75 6e |!...J*|!|This fun|
|00001080| 63 74 69 6f 6e 20 72 65 | 74 75 72 6e 73 20 74 68 |ction re|turns th|
|00001090| 65 20 73 69 7a 65 20 6f | 66 20 74 68 65 20 73 70 |e size o|f the sp|
|000010a0| 65 63 69 66 69 65 64 20 | 64 72 61 77 66 69 6c 65 |ecified |drawfile|
|000010b0| 2c 20 69 6e 20 62 79 74 | 65 73 2e 0d 00 89 1a dd |, in byt|es......|
|000010c0| 20 a4 64 72 61 77 5f 66 | 69 6c 65 73 69 7a 65 28 | .draw_f|ilesize(|
|000010d0| 70 74 72 25 29 0d 00 8a | 0a 3d 21 70 74 72 25 0d |ptr%)...|.=!ptr%.|
|000010e0| 00 8b 1a 2a 7c 73 74 6f | 70 20 46 4e 64 72 61 77 |...*|sto|p FNdraw|
|000010f0| 5f 66 69 6c 65 73 69 7a | 65 0d 00 8c 04 0d 00 8d |_filesiz|e.......|
|00001100| 1e 2a 7c 73 74 61 72 74 | 20 46 4e 64 72 61 77 5f |.*|start| FNdraw_|
|00001110| 66 69 6c 65 70 6f 69 6e | 74 65 72 0d 00 8e 24 2a |filepoin|ter...$*|
|00001120| 7c 21 46 4e 64 72 61 77 | 5f 66 69 6c 65 70 6f 69 ||!FNdraw|_filepoi|
|00001130| 6e 74 65 72 28 20 70 6f | 69 6e 74 65 72 20 29 0d |nter( po|inter ).|
|00001140| 00 8f 07 2a 7c 21 0d 00 | 90 41 2a 7c 21 54 68 69 |...*|!..|.A*|!Thi|
|00001150| 73 20 66 75 6e 63 74 69 | 6f 6e 20 72 65 74 75 72 |s functi|on retur|
|00001160| 6e 73 20 61 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |ns a poi|nter to |
|00001170| 74 68 65 20 74 68 65 20 | 61 63 74 75 61 6c 20 64 |the the |actual d|
|00001180| 72 61 77 66 69 6c 65 0d | 00 91 34 2a 7c 21 61 73 |rawfile.|..4*|!as|
|00001190| 20 61 67 61 69 6e 73 74 | 20 74 68 65 20 44 72 61 | against| the Dra|
|000011a0| 77 20 6c 69 62 72 61 72 | 79 20 64 65 73 63 72 69 |w librar|y descri|
|000011b0| 70 74 6f 72 20 62 6c 6f | 63 6b 2e 0d 00 92 1d dd |ptor blo|ck......|
|000011c0| 20 a4 64 72 61 77 5f 66 | 69 6c 65 70 6f 69 6e 74 | .draw_f|ilepoint|
|000011d0| 65 72 28 70 74 72 25 29 | 0d 00 93 0c 3d 70 74 72 |er(ptr%)|....=ptr|
|000011e0| 25 21 31 32 0d 00 94 04 | 0d 00 95 1d 2a 7c 73 74 |%!12....|....*|st|
|000011f0| 6f 70 20 46 4e 64 72 61 | 77 5f 66 69 6c 65 70 6f |op FNdra|w_filepo|
|00001200| 69 6e 74 65 72 0d 00 96 | 23 2a 7c 73 74 61 72 74 |inter...|#*|start|
|00001210| 20 50 52 4f 43 64 72 61 | 77 5f 67 65 74 62 6f 75 | PROCdra|w_getbou|
|00001220| 6e 64 69 6e 67 62 6f 78 | 0d 00 97 48 2a 7c 21 50 |ndingbox|...H*|!P|
|00001230| 52 4f 43 64 72 61 77 5f | 67 65 74 62 6f 75 6e 64 |ROCdraw_|getbound|
|00001240| 69 6e 67 62 6f 78 28 20 | 70 6f 69 6e 74 65 72 20 |ingbox( |pointer |
|00001250| 2c 20 78 70 6f 73 20 2c | 20 79 70 6f 73 20 2c 20 |, xpos ,| ypos , |
|00001260| 77 69 64 74 68 20 2c 20 | 68 65 69 67 68 74 20 29 |width , |height )|
|00001270| 0d 00 98 07 2a 7c 21 0d | 00 99 4a 2a 7c 21 54 68 |....*|!.|..J*|!Th|
|00001280| 69 73 20 70 6f 63 65 64 | 75 72 65 20 63 61 6c 63 |is poced|ure calc|
|00001290| 75 6c 61 74 65 73 20 74 | 68 65 20 62 6f 75 6e 64 |ulates t|he bound|
|000012a0| 69 6e 67 20 62 6f 78 20 | 6f 66 20 74 68 65 20 73 |ing box |of the s|
|000012b0| 70 65 63 69 66 69 65 64 | 20 64 72 61 77 66 69 6c |pecified| drawfil|
|000012c0| 65 0d 00 9a 4c 2a 7c 21 | 61 6e 64 20 72 65 74 75 |e...L*|!|and retu|
|000012d0| 72 6e 73 20 69 74 73 20 | 70 6f 73 69 74 69 6f 6e |rns its |position|
|000012e0| 20 61 6e 64 20 73 69 7a | 65 20 69 6e 20 74 68 65 | and siz|e in the|
|000012f0| 20 78 70 6f 73 2c 20 79 | 70 6f 73 2c 20 77 69 64 | xpos, y|pos, wid|
|00001300| 74 68 20 61 6e 64 20 68 | 65 69 67 68 74 0d 00 9b |th and h|eight...|
|00001310| 49 2a 7c 21 70 61 72 61 | 6d 65 74 65 72 73 2e 20 |I*|!para|meters. |
|00001320| 54 68 69 73 20 72 6f 75 | 74 69 6e 65 20 6d 75 73 |This rou|tine mus|
|00001330| 74 20 6f 6e 6c 79 20 62 | 65 20 63 61 6c 6c 65 64 |t only b|e called|
|00001340| 20 6f 6e 20 61 20 27 66 | 69 6e 69 73 68 65 64 27 | on a 'f|inished'|
|00001350| 20 66 69 6c 65 2e 0d 00 | 9c 34 dd 20 f2 64 72 61 | file...|.4. .dra|
|00001360| 77 5f 67 65 74 62 6f 75 | 6e 64 69 6e 67 62 6f 78 |w_getbou|ndingbox|
|00001370| 28 70 74 72 25 2c f8 20 | 78 25 2c f8 20 79 25 2c |(ptr%,. |x%,. y%,|
|00001380| f8 20 77 25 2c f8 20 68 | 25 29 0d 00 9d 1b 78 25 |. w%,. h|%)....x%|
|00001390| 20 3d 20 21 28 32 34 2b | 70 74 72 25 21 31 32 29 | = !(24+|ptr%!12)|
|000013a0| 20 2f 20 6f 73 0d 00 9e | 1b 79 25 20 3d 20 21 28 | / os...|.y% = !(|
|000013b0| 32 38 2b 70 74 72 25 21 | 31 32 29 20 2f 20 6f 73 |28+ptr%!|12) / os|
|000013c0| 0d 00 9f 2d 77 25 20 3d | 20 28 21 28 33 32 2b 70 |...-w% =| (!(32+p|
|000013d0| 74 72 25 21 31 32 29 20 | 2d 20 21 28 32 34 2b 70 |tr%!12) |- !(24+p|
|000013e0| 74 72 25 21 31 32 29 29 | 20 2f 20 6f 73 0d 00 a0 |tr%!12))| / os...|
|000013f0| 2d 68 25 20 3d 20 28 21 | 28 33 36 2b 70 74 72 25 |-h% = (!|(36+ptr%|
|00001400| 21 31 32 29 20 2d 20 21 | 28 32 38 2b 70 74 72 25 |!12) - !|(28+ptr%|
|00001410| 21 31 32 29 29 20 2f 20 | 6f 73 0d 00 a1 05 e1 0d |!12)) / |os......|
|00001420| 00 a2 04 0d 00 a3 22 2a | 7c 73 74 6f 70 20 50 52 |......"*||stop PR|
|00001430| 4f 43 64 72 61 77 5f 67 | 65 74 62 6f 75 6e 64 69 |OCdraw_g|etboundi|
|00001440| 6e 67 62 6f 78 0d 00 a4 | 1d 2a 7c 73 74 61 72 74 |ngbox...|.*|start|
|00001450| 20 46 4e 64 72 61 77 5f | 63 72 65 61 74 65 66 69 | FNdraw_|createfi|
|00001460| 6c 65 0d 00 a5 28 2a 7c | 21 46 4e 64 72 61 77 5f |le...(*||!FNdraw_|
|00001470| 63 72 65 61 74 65 66 69 | 6c 65 28 20 70 72 6f 67 |createfi|le( prog|
|00001480| 72 61 6d 5f 6e 61 6d 65 | 20 29 0d 00 a6 07 2a 7c |ram_name| )....*||
|00001490| 21 0d 00 a7 4b 2a 7c 21 | 54 68 69 73 20 72 6f 75 |!...K*|!|This rou|
|000014a0| 74 69 6e 65 20 63 72 65 | 61 74 65 73 20 61 20 6e |tine cre|ates a n|
|000014b0| 65 77 20 64 72 61 77 66 | 69 6c 65 20 61 6e 64 20 |ew drawf|ile and |
|000014c0| 72 65 74 75 72 6e 73 20 | 61 20 70 6f 69 6e 74 65 |returns |a pointe|
|000014d0| 72 20 74 6f 20 69 74 2e | 20 54 68 65 0d 00 a8 4b |r to it.| The...K|
|000014e0| 2a 7c 21 66 69 6c 65 27 | 73 20 63 72 65 61 74 6f |*|!file'|s creato|
|000014f0| 72 20 77 69 6c 6c 20 62 | 65 20 6d 61 72 6b 65 64 |r will b|e marked|
|00001500| 20 61 73 20 74 68 65 20 | 70 72 6f 67 72 61 6d 20 | as the |program |
|00001510| 77 68 6f 73 65 20 6e 61 | 6d 65 20 69 73 20 70 61 |whose na|me is pa|
|00001520| 73 73 65 64 20 61 73 0d | 00 a9 13 2a 7c 21 61 20 |ssed as.|...*|!a |
|00001530| 70 61 72 61 6d 65 74 65 | 72 2e 0d 00 aa 20 dd 20 |paramete|r.... . |
|00001540| a4 64 72 61 77 5f 63 72 | 65 61 74 65 66 69 6c 65 |.draw_cr|eatefile|
|00001550| 28 63 72 65 61 74 6f 72 | 24 29 0d 00 ab 0f ea 20 |(creator|$)..... |
|00001560| 70 74 72 25 2c 70 25 2c | 49 0d 00 ac 14 70 74 72 |ptr%,p%,|I....ptr|
|00001570| 25 3d a4 6d 61 6c 6c 6f | 63 28 31 36 29 0d 00 ad |%=.mallo|c(16)...|
|00001580| 0c 21 70 74 72 25 3d 34 | 30 0d 00 ae 0c 70 74 72 |.!ptr%=4|0....ptr|
|00001590| 25 21 34 3d 30 0d 00 af | 0d 70 74 72 25 21 38 3d |%!4=0...|.ptr%!8=|
|000015a0| 34 30 0d 00 b0 17 70 74 | 72 25 21 31 32 3d a4 6d |40....pt|r%!12=.m|
|000015b0| 61 6c 6c 6f 63 28 34 30 | 29 0d 00 b1 0e 70 25 3d |alloc(40|)....p%=|
|000015c0| 70 74 72 25 21 31 32 0d | 00 b2 11 21 70 25 3d 26 |ptr%!12.|...!p%=&|
|000015d0| 37 37 36 31 37 32 34 34 | 0d 00 b3 0c 70 25 21 34 |77617244|....p%!4|
|000015e0| 3d 32 30 31 0d 00 b4 0a | 70 25 21 38 3d 30 0d 00 |=201....|p%!8=0..|
|000015f0| b5 23 63 72 65 61 74 6f | 72 24 3d c0 63 72 65 61 |.#creato|r$=.crea|
|00001600| 74 6f 72 24 2b c4 31 32 | 2c 22 20 22 29 2c 31 32 |tor$+.12|," "),12|
|00001610| 29 0d 00 b6 0e e3 20 49 | 3d 30 20 b8 20 31 31 0d |)..... I|=0 . 11.|
|00001620| 00 b7 24 20 20 3f 28 70 | 25 2b 31 32 2b 49 29 20 |..$ ?(p|%+12+I) |
|00001630| 3d 20 97 c1 63 72 65 61 | 74 6f 72 24 2c 49 2b 31 |= ..crea|tor$,I+1|
|00001640| 2c 31 29 0d 00 b8 07 ed | 20 49 0d 00 b9 17 70 25 |,1).....| I....p%|
|00001650| 21 32 34 3d 5f 64 72 61 | 77 5f 62 69 67 6e 75 6d |!24=_dra|w_bignum|
|00001660| 25 0d 00 ba 17 70 25 21 | 32 38 3d 5f 64 72 61 77 |%....p%!|28=_draw|
|00001670| 5f 62 69 67 6e 75 6d 25 | 0d 00 bb 18 70 25 21 33 |_bignum%|....p%!3|
|00001680| 32 3d 2d 5f 64 72 61 77 | 5f 62 69 67 6e 75 6d 25 |2=-_draw|_bignum%|
|00001690| 0d 00 bc 18 70 25 21 33 | 36 3d 2d 5f 64 72 61 77 |....p%!3|6=-_draw|
|000016a0| 5f 62 69 67 6e 75 6d 25 | 0d 00 bd 09 3d 70 74 72 |_bignum%|....=ptr|
|000016b0| 25 0d 00 be 04 0d 00 bf | 1c 2a 7c 73 74 6f 70 20 |%.......|.*|stop |
|000016c0| 46 4e 64 72 61 77 5f 63 | 72 65 61 74 65 66 69 6c |FNdraw_c|reatefil|
|000016d0| 65 0d 00 c0 1f 2a 7c 73 | 74 61 72 74 20 50 52 4f |e....*|s|tart PRO|
|000016e0| 43 64 72 61 77 5f 72 65 | 6d 6f 76 65 66 69 6c 65 |Cdraw_re|movefile|
|000016f0| 0d 00 c1 25 2a 7c 21 50 | 52 4f 43 64 72 61 77 5f |...%*|!P|ROCdraw_|
|00001700| 72 65 6d 6f 76 65 66 69 | 6c 65 28 20 70 6f 69 6e |removefi|le( poin|
|00001710| 74 65 72 20 29 0d 00 c2 | 07 2a 7c 21 0d 00 c3 26 |ter )...|.*|!...&|
|00001720| 2a 7c 21 52 65 6d 6f 76 | 65 73 20 61 20 64 72 61 |*|!Remov|es a dra|
|00001730| 77 66 69 6c 65 20 66 72 | 6f 6d 20 6d 65 6d 6f 72 |wfile fr|om memor|
|00001740| 79 2e 0d 00 c4 1c dd 20 | f2 64 72 61 77 5f 72 65 |y...... |.draw_re|
|00001750| 6d 6f 76 65 66 69 6c 65 | 28 70 74 72 25 29 0d 00 |movefile|(ptr%)..|
|00001760| c5 12 f2 66 72 65 65 28 | 70 74 72 25 21 31 32 29 |...free(|ptr%!12)|
|00001770| 0d 00 c6 0f f2 66 72 65 | 65 28 70 74 72 25 29 0d |.....fre|e(ptr%).|
|00001780| 00 c7 05 e1 0d 00 c8 04 | 0d 00 c9 1e 2a 7c 73 74 |........|....*|st|
|00001790| 6f 70 20 50 52 4f 43 64 | 72 61 77 5f 72 65 6d 6f |op PROCd|raw_remo|
|000017a0| 76 65 66 69 6c 65 0d 00 | ca 20 2a 7c 73 74 61 72 |vefile..|. *|star|
|000017b0| 74 20 50 52 4f 43 64 72 | 61 77 5f 6d 6f 76 65 70 |t PROCdr|aw_movep|
|000017c0| 6f 69 6e 74 65 72 0d 00 | cb 31 2a 7c 21 50 52 4f |ointer..|.1*|!PRO|
|000017d0| 43 64 72 61 77 5f 6d 6f | 76 65 70 6f 69 6e 74 65 |Cdraw_mo|vepointe|
|000017e0| 72 28 20 64 72 61 77 66 | 69 6c 65 20 2c 20 6d 6f |r( drawf|ile , mo|
|000017f0| 76 65 5f 74 6f 20 29 0d | 00 cc 07 2a 7c 21 0d 00 |ve_to ).|...*|!..|
|00001800| cd 4a 2a 7c 21 4d 6f 76 | 65 73 20 74 68 65 20 69 |.J*|!Mov|es the i|
|00001810| 6e 73 65 72 74 69 6f 6e | 20 70 6f 69 6e 74 65 72 |nsertion| pointer|
|00001820| 20 77 69 74 68 69 6e 20 | 61 20 64 72 61 77 66 69 | within |a drawfi|
|00001830| 6c 65 2e 20 54 68 65 20 | 76 61 6c 75 65 20 6f 66 |le. The |value of|
|00001840| 20 6d 6f 76 65 5f 74 6f | 0d 00 ce 18 2a 7c 21 73 | move_to|....*|!s|
|00001850| 68 6f 75 6c 64 20 62 65 | 20 6f 6e 65 20 6f 66 3a |hould be| one of:|
|00001860| 0d 00 cf 07 2a 7c 21 0d | 00 d0 2c 2a 7c 21 20 20 |....*|!.|..,*|! |
|00001870| 20 20 64 72 61 77 5f 53 | 54 41 52 54 2c 20 64 72 | draw_S|TART, dr|
|00001880| 61 77 5f 4e 45 58 54 20 | 6f 72 20 64 72 61 77 5f |aw_NEXT |or draw_|
|00001890| 45 4e 44 0d 00 d1 07 2a | 7c 21 0d 00 d2 4c 2a 7c |END....*||!...L*||
|000018a0| 21 49 6e 20 74 68 69 73 | 20 77 61 79 20 79 6f 75 |!In this| way you|
|000018b0| 20 63 61 6e 20 6d 6f 76 | 65 20 74 68 72 6f 75 67 | can mov|e throug|
|000018c0| 68 20 74 68 65 20 64 72 | 61 77 66 69 6c 65 2c 20 |h the dr|awfile, |
|000018d0| 69 6e 73 65 72 74 69 6e | 67 20 61 6e 64 20 64 65 |insertin|g and de|
|000018e0| 6c 65 74 69 6e 67 0d 00 | d3 4b 2a 7c 21 6f 62 6a |leting..|.K*|!obj|
|000018f0| 65 63 74 73 20 61 74 20 | 77 69 6c 6c 2e 20 4e 6f |ects at |will. No|
|00001900| 74 20 74 68 61 74 20 64 | 72 61 77 5f 4e 45 58 54 |t that d|raw_NEXT|
|00001910| 20 73 6b 69 70 73 20 6f | 76 65 72 20 67 72 6f 75 | skips o|ver grou|
|00001920| 70 73 2c 20 74 72 65 61 | 74 69 6e 67 20 74 68 65 |ps, trea|ting the|
|00001930| 6d 0d 00 d4 1a 2a 7c 21 | 61 73 20 61 20 73 69 6e |m....*|!|as a sin|
|00001940| 67 6c 65 20 6f 62 6a 65 | 63 74 2e 0d 00 d5 21 dd |gle obje|ct....!.|
|00001950| 20 f2 64 72 61 77 5f 6d | 6f 76 65 70 6f 69 6e 74 | .draw_m|ovepoint|
|00001960| 65 72 28 70 74 72 25 2c | 74 6f 25 29 0d 00 d6 0c |er(ptr%,|to%)....|
|00001970| c8 8e 20 74 6f 25 20 ca | 0d 00 d7 13 20 20 c9 20 |.. to% .|.... . |
|00001980| 64 72 61 77 5f 53 54 41 | 52 54 3a 0d 00 d8 11 20 |draw_STA|RT:.... |
|00001990| 20 20 20 70 74 72 25 21 | 38 3d 34 30 0d 00 d9 12 | ptr%!|8=40....|
|000019a0| 20 20 c9 20 64 72 61 77 | 5f 4e 45 58 54 3a 0d 00 | . draw|_NEXT:..|
|000019b0| da 36 20 20 20 20 e7 20 | 70 74 72 25 21 38 3c 21 |.6 . |ptr%!8<!|
|000019c0| 70 74 72 25 20 8c 20 70 | 74 72 25 21 38 20 2b 3d |ptr% . p|tr%!8 +=|
|000019d0| 20 21 28 70 74 72 25 21 | 31 32 2b 70 74 72 25 21 | !(ptr%!|12+ptr%!|
|000019e0| 38 2b 34 29 0d 00 db 11 | 20 20 c9 20 64 72 61 77 |8+4)....| . draw|
|000019f0| 5f 45 4e 44 3a 0d 00 dc | 16 20 20 20 20 70 74 72 |_END:...|. ptr|
|00001a00| 25 21 38 20 3d 20 21 70 | 74 72 25 0d 00 dd 05 cb |%!8 = !p|tr%.....|
|00001a10| 0d 00 de 05 e1 0d 00 df | 04 0d 00 e0 1f 2a 7c 73 |........|.....*|s|
|00001a20| 74 6f 70 20 50 52 4f 43 | 64 72 61 77 5f 6d 6f 76 |top PROC|draw_mov|
|00001a30| 65 70 6f 69 6e 74 65 72 | 0d 00 e1 1c 2a 7c 73 74 |epointer|....*|st|
|00001a40| 61 72 74 20 46 4e 64 72 | 61 77 5f 66 69 6e 64 67 |art FNdr|aw_findg|
|00001a50| 72 6f 75 70 0d 00 e2 2f | 2a 7c 21 46 4e 64 72 61 |roup.../|*|!FNdra|
|00001a60| 77 5f 66 69 6e 64 67 72 | 6f 75 70 28 20 64 72 61 |w_findgr|oup( dra|
|00001a70| 77 66 69 6c 65 20 2c 20 | 67 72 6f 75 70 5f 74 61 |wfile , |group_ta|
|00001a80| 67 20 29 0d 00 e3 07 2a | 7c 21 0d 00 e4 4b 2a 7c |g )....*||!...K*||
|00001a90| 21 50 6f 73 69 74 69 6f | 6e 73 20 74 68 65 20 69 |!Positio|ns the i|
|00001aa0| 6e 73 65 72 74 69 6f 6e | 20 70 6f 69 6e 74 65 72 |nsertion| pointer|
|00001ab0| 20 66 6f 72 20 61 20 64 | 72 61 77 66 69 6c 65 20 | for a d|rawfile |
|00001ac0| 61 74 20 74 68 65 20 66 | 69 72 73 74 20 67 72 6f |at the f|irst gro|
|00001ad0| 75 70 20 69 6e 0d 00 e5 | 4a 2a 7c 21 74 68 65 20 |up in...|J*|!the |
|00001ae0| 66 69 6c 65 20 74 6f 20 | 62 65 20 6d 61 72 6b 65 |file to |be marke|
|00001af0| 64 20 77 69 74 68 20 74 | 68 65 20 73 70 65 63 69 |d with t|he speci|
|00001b00| 66 69 65 64 20 74 61 67 | 20 73 74 72 69 6e 67 2e |fied tag| string.|
|00001b10| 20 49 66 20 6e 6f 20 67 | 72 6f 75 70 20 69 73 0d | If no g|roup is.|
|00001b20| 00 e6 4e 2a 7c 21 6d 61 | 72 6b 65 64 20 77 69 74 |..N*|!ma|rked wit|
|00001b30| 68 20 74 68 69 73 20 74 | 61 67 2c 20 74 68 65 20 |h this t|ag, the |
|00001b40| 70 6f 69 6e 74 65 72 20 | 69 73 20 70 6c 61 63 65 |pointer |is place|
|00001b50| 64 20 61 74 20 74 68 65 | 20 65 6e 64 20 6f 66 20 |d at the| end of |
|00001b60| 74 68 65 20 66 69 6c 65 | 2c 20 61 6e 64 0d 00 e7 |the file|, and...|
|00001b70| 3d 2a 7c 21 74 68 65 20 | 66 75 6e 63 74 69 6f 6e |=*|!the |function|
|00001b80| 20 72 65 74 75 72 6e 73 | 20 46 41 4c 53 45 2c 20 | returns| FALSE, |
|00001b90| 6f 74 68 65 72 77 69 73 | 65 20 69 74 20 72 65 74 |otherwis|e it ret|
|00001ba0| 75 72 6e 73 20 54 52 55 | 45 2e 0d 00 e8 20 dd 20 |urns TRU|E.... . |
|00001bb0| a4 64 72 61 77 5f 66 69 | 6e 64 67 72 6f 75 70 28 |.draw_fi|ndgroup(|
|00001bc0| 70 74 72 25 2c 74 61 67 | 24 29 0d 00 e9 0e ea 20 |ptr%,tag|$)..... |
|00001bd0| 70 25 2c 65 25 2c 74 24 | 0d 00 ea 22 70 25 3d 70 |p%,e%,t$|..."p%=p|
|00001be0| 74 72 25 21 31 32 2b 34 | 30 3a 65 25 3d 70 74 72 |tr%!12+4|0:e%=ptr|
|00001bf0| 25 21 31 32 2b 21 70 74 | 72 25 0d 00 eb 23 74 61 |%!12+!pt|r%...#ta|
|00001c00| 67 24 20 3d 20 c0 74 61 | 67 24 2b 22 20 20 20 20 |g$ = .ta|g$+" |
|00001c10| 20 20 20 20 20 20 20 20 | 22 2c 31 32 29 0d 00 ec | |",12)...|
|00001c20| 11 e7 20 70 25 3e 3d 65 | 25 20 8c 20 3d a3 0d 00 |.. p%>=e|% . =...|
|00001c30| ed 05 f5 0d 00 ee 0f 20 | 20 e7 20 21 70 25 3d 36 |....... | . !p%=6|
|00001c40| 20 8c 0d 00 ef 0d 20 20 | 20 20 74 24 3d 22 22 0d | ..... | t$="".|
|00001c50| 00 f0 13 20 20 20 20 e3 | 20 49 3d 32 34 20 b8 20 |... .| I=24 . |
|00001c60| 33 35 0d 00 f1 18 20 20 | 20 20 20 20 74 24 20 2b |35.... | t$ +|
|00001c70| 3d 20 bd 3f 28 70 25 2b | 49 29 0d 00 f2 0b 20 20 |= .?(p%+|I).... |
|00001c80| 20 20 ed 20 49 0d 00 f3 | 07 20 20 cc 0d 00 f4 0d | . I...|. .....|
|00001c90| 20 20 20 20 74 24 3d 22 | 22 0d 00 f5 07 20 20 cd | t$="|".... .|
|00001ca0| 0d 00 f6 1d 20 20 e7 20 | 74 24 3c 3e 74 61 67 24 |.... . |t$<>tag$|
|00001cb0| 20 8c 20 70 25 20 2b 3d | 20 70 25 21 34 0d 00 f7 | . p% +=| p%!4...|
|00001cc0| 16 fd 20 70 25 3e 3d 65 | 25 20 84 20 74 61 67 24 |.. p%>=e|% . tag$|
|00001cd0| 3d 74 24 0d 00 f8 15 70 | 74 72 25 21 38 3d 70 25 |=t$....p|tr%!8=p%|
|00001ce0| 2d 70 74 72 25 21 31 32 | 0d 00 f9 0e 3d 28 74 24 |-ptr%!12|....=(t$|
|00001cf0| 3d 74 61 67 24 29 0d 00 | fa 04 0d 00 fb 1b 2a 7c |=tag$)..|......*||
|00001d00| 73 74 6f 70 20 46 4e 64 | 72 61 77 5f 66 69 6e 64 |stop FNd|raw_find|
|00001d10| 67 72 6f 75 70 0d 00 fc | 1e 2a 7c 73 74 61 72 74 |group...|.*|start|
|00001d20| 20 50 52 4f 43 64 72 61 | 77 5f 61 64 64 74 6f 66 | PROCdra|w_addtof|
|00001d30| 69 6c 65 0d 00 fd 2e 2a | 7c 21 50 52 4f 43 64 72 |ile....*||!PROCdr|
|00001d40| 61 77 5f 61 64 64 74 6f | 66 69 6c 65 28 20 64 72 |aw_addto|file( dr|
|00001d50| 61 77 66 69 6c 65 20 2c | 20 6f 62 6a 65 63 74 20 |awfile ,| object |
|00001d60| 29 0d 00 fe 07 2a 7c 21 | 0d 00 ff 4a 2a 7c 21 41 |)....*|!|...J*|!A|
|00001d70| 64 64 73 20 61 6e 20 6f | 62 6a 65 63 74 20 74 6f |dds an o|bject to|
|00001d80| 20 61 20 64 72 61 77 66 | 69 6c 65 20 61 74 20 74 | a drawf|ile at t|
|00001d90| 68 65 20 73 70 6f 74 20 | 69 6e 64 69 63 61 74 65 |he spot |indicate|
|00001da0| 64 20 62 79 20 74 68 65 | 20 69 6e 73 65 72 74 69 |d by the| inserti|
|00001db0| 6f 6e 0d 01 00 49 2a 7c | 21 70 6f 69 6e 74 65 72 |on...I*||!pointer|
|00001dc0| 20 66 6f 72 20 74 68 61 | 74 20 66 69 6c 65 2e 20 | for tha|t file. |
|00001dd0| 54 68 65 20 64 65 66 61 | 75 6c 74 20 76 61 6c 75 |The defa|ult valu|
|00001de0| 65 20 66 6f 72 20 74 68 | 69 73 20 70 6f 69 6e 74 |e for th|is point|
|00001df0| 65 72 20 69 6e 20 6e 65 | 77 6c 79 0d 01 01 4a 2a |er in ne|wly...J*|
|00001e00| 7c 21 63 72 65 61 74 65 | 64 20 6f 72 20 6c 6f 61 ||!create|d or loa|
|00001e10| 64 65 64 20 66 69 6c 65 | 73 20 69 73 20 61 74 20 |ded file|s is at |
|00001e20| 74 68 65 20 65 6e 64 20 | 6f 66 20 74 68 65 20 66 |the end |of the f|
|00001e30| 69 6c 65 2e 20 41 66 74 | 65 72 20 61 64 64 69 6e |ile. Aft|er addin|
|00001e40| 67 20 74 68 65 0d 01 02 | 4c 2a 7c 21 6f 62 6a 65 |g the...|L*|!obje|
|00001e50| 63 74 2c 20 74 68 65 20 | 70 6f 69 6e 74 65 72 20 |ct, the |pointer |
|00001e60| 69 73 20 70 6f 73 69 74 | 69 6f 6e 65 64 20 61 66 |is posit|ioned af|
|00001e70| 74 65 72 20 69 74 2c 20 | 61 6e 64 20 74 68 65 20 |ter it, |and the |
|00001e80| 73 70 61 63 65 20 75 73 | 65 64 20 62 79 20 74 68 |space us|ed by th|
|00001e90| 65 0d 01 03 17 2a 7c 21 | 6f 62 6a 65 63 74 20 69 |e....*|!|object i|
|00001ea0| 73 20 66 72 65 65 64 2e | 0d 01 04 20 dd 20 f2 64 |s freed.|... . .d|
|00001eb0| 72 61 77 5f 61 64 64 74 | 6f 66 69 6c 65 28 70 74 |raw_addt|ofile(pt|
|00001ec0| 72 25 2c 6f 62 6a 25 29 | 0d 01 05 0b ea 20 70 25 |r%,obj%)|..... p%|
|00001ed0| 2c 6f 25 0d 01 06 28 f2 | 72 65 61 6c 6c 6f 63 28 |,o%...(.|realloc(|
|00001ee0| 70 74 72 25 21 31 32 2c | 21 70 74 72 25 2b 21 28 |ptr%!12,|!ptr%+!(|
|00001ef0| 6f 62 6a 25 21 31 32 2b | 34 29 29 0d 01 07 17 e7 |obj%!12+|4)).....|
|00001f00| 20 28 21 70 74 72 25 3c | 3e 70 74 72 25 21 38 29 | (!ptr%<|>ptr%!8)|
|00001f10| 20 8c 0d 01 08 48 20 20 | f2 6d 65 6d 5f 63 6f 70 | ....H |.mem_cop|
|00001f20| 79 28 21 70 74 72 25 2d | 70 74 72 25 21 38 2c 70 |y(!ptr%-|ptr%!8,p|
|00001f30| 74 72 25 21 31 32 2b 70 | 74 72 25 21 38 2c 70 74 |tr%!12+p|tr%!8,pt|
|00001f40| 72 25 21 31 32 2b 70 74 | 72 25 21 38 2b 21 28 6f |r%!12+pt|r%!8+!(o|
|00001f50| 62 6a 25 21 31 32 2b 34 | 29 29 0d 01 09 05 cd 0d |bj%!12+4|))......|
|00001f60| 01 0a 32 f2 6d 65 6d 5f | 63 6f 70 79 28 21 28 6f |..2.mem_|copy(!(o|
|00001f70| 62 6a 25 21 31 32 2b 34 | 29 2c 6f 62 6a 25 21 31 |bj%!12+4|),obj%!1|
|00001f80| 32 2c 70 74 72 25 21 31 | 32 2b 70 74 72 25 21 38 |2,ptr%!1|2+ptr%!8|
|00001f90| 29 0d 01 0b 17 21 70 74 | 72 25 2b 3d 21 28 6f 62 |)....!pt|r%+=!(ob|
|00001fa0| 6a 25 21 31 32 2b 34 29 | 0d 01 0c 18 70 74 72 25 |j%!12+4)|....ptr%|
|00001fb0| 21 38 2b 3d 21 28 6f 62 | 6a 25 21 31 32 2b 34 29 |!8+=!(ob|j%!12+4)|
|00001fc0| 0d 01 0d 19 70 25 3d 70 | 74 72 25 21 31 32 3a 6f |....p%=p|tr%!12:o|
|00001fd0| 25 3d 6f 62 6a 25 21 31 | 32 0d 01 0e 0f e7 20 28 |%=obj%!1|2..... (|
|00001fe0| 21 6f 25 3e 30 29 20 8c | 0d 01 0f 1d 20 20 e7 20 |!o%>0) .|.... . |
|00001ff0| 6f 25 21 38 3c 70 25 21 | 32 34 20 70 25 21 32 34 |o%!8<p%!|24 p%!24|
|00002000| 3d 6f 25 21 38 0d 01 10 | 1f 20 20 e7 20 6f 25 21 |=o%!8...|. . o%!|
|00002010| 31 32 3c 70 25 21 32 38 | 20 70 25 21 32 38 3d 6f |12<p%!28| p%!28=o|
|00002020| 25 21 31 32 0d 01 11 1f | 20 20 e7 20 6f 25 21 31 |%!12....| . o%!1|
|00002030| 36 3e 70 25 21 33 32 20 | 70 25 21 33 32 3d 6f 25 |6>p%!32 |p%!32=o%|
|00002040| 21 31 36 0d 01 12 1f 20 | 20 e7 20 6f 25 21 32 30 |!16.... | . o%!20|
|00002050| 3e 70 25 21 33 36 20 70 | 25 21 33 36 3d 6f 25 21 |>p%!36 p|%!36=o%!|
|00002060| 32 30 0d 01 13 05 cd 0d | 01 14 0d f2 66 72 65 65 |20......|....free|
|00002070| 28 6f 25 29 0d 01 15 0f | f2 66 72 65 65 28 6f 62 |(o%)....|.free(ob|
|00002080| 6a 25 29 0d 01 16 05 e1 | 0d 01 17 04 0d 01 18 1d |j%).....|........|
|00002090| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 64 72 61 77 5f |*|stop P|ROCdraw_|
|000020a0| 61 64 64 74 6f 66 69 6c | 65 0d 01 19 21 2a 7c 73 |addtofil|e...!*|s|
|000020b0| 74 61 72 74 20 46 4e 64 | 72 61 77 5f 72 65 6d 6f |tart FNd|raw_remo|
|000020c0| 76 65 66 72 6f 6d 66 69 | 6c 65 0d 01 1a 28 2a 7c |vefromfi|le...(*||
|000020d0| 21 46 4e 64 72 61 77 5f | 72 65 6d 6f 76 65 66 72 |!FNdraw_|removefr|
|000020e0| 6f 6d 66 69 6c 65 28 20 | 64 72 61 77 66 69 6c 65 |omfile( |drawfile|
|000020f0| 20 29 0d 01 1b 07 2a 7c | 21 0d 01 1c 46 2a 7c 21 | )....*||!...F*|!|
|00002100| 52 65 6d 6f 76 65 73 20 | 74 68 65 20 6f 62 6a 65 |Removes |the obje|
|00002110| 63 74 20 77 68 69 63 68 | 20 6c 69 65 73 20 61 74 |ct which| lies at|
|00002120| 20 74 68 65 20 69 6e 73 | 65 72 74 69 6f 6e 20 70 | the ins|ertion p|
|00002130| 6f 69 6e 74 65 72 20 66 | 72 6f 6d 20 74 68 65 0d |ointer f|rom the.|
|00002140| 01 1d 49 2a 7c 21 64 72 | 61 77 66 69 6c 65 20 61 |..I*|!dr|awfile a|
|00002150| 6e 64 20 72 65 74 75 72 | 6e 73 20 61 20 70 6f 69 |nd retur|ns a poi|
|00002160| 6e 74 65 72 20 74 6f 20 | 69 74 2e 20 49 66 20 74 |nter to |it. If t|
|00002170| 68 65 20 70 6f 69 6e 74 | 65 72 20 69 73 20 61 74 |he point|er is at|
|00002180| 20 74 68 65 20 65 6e 64 | 0d 01 1e 2e 2a 7c 21 6f | the end|....*|!o|
|00002190| 66 20 74 68 65 20 66 69 | 6c 65 2c 20 74 68 65 20 |f the fi|le, the |
|000021a0| 66 75 6e 63 74 69 6f 6e | 20 72 65 74 75 72 6e 73 |function| returns|
|000021b0| 20 7a 65 72 6f 2e 0d 01 | 1f 20 dd 20 a4 64 72 61 | zero...|. . .dra|
|000021c0| 77 5f 72 65 6d 6f 76 65 | 66 72 6f 6d 66 69 6c 65 |w_remove|fromfile|
|000021d0| 28 70 74 72 25 29 0d 01 | 20 0a ea 20 6f 62 6a 25 |(ptr%)..| .. obj%|
|000021e0| 0d 01 21 17 e7 20 21 70 | 74 72 25 3d 70 74 72 25 |..!.. !p|tr%=ptr%|
|000021f0| 21 38 20 8c 20 3d 30 0d | 01 22 14 6f 62 6a 25 3d |!8 . =0.|.".obj%=|
|00002200| a4 6d 61 6c 6c 6f 63 28 | 31 36 29 0d 01 23 1d 21 |.malloc(|16)..#.!|
|00002210| 6f 62 6a 25 3d 21 28 70 | 74 72 25 21 31 32 2b 70 |obj%=!(p|tr%!12+p|
|00002220| 74 72 25 21 38 2b 34 29 | 0d 01 24 0c 6f 62 6a 25 |tr%!8+4)|..$.obj%|
|00002230| 21 34 3d 30 0d 01 25 0c | 6f 62 6a 25 21 38 3d 30 |!4=0..%.|obj%!8=0|
|00002240| 0d 01 26 1a 6f 62 6a 25 | 21 31 32 3d a4 6d 61 6c |..&.obj%|!12=.mal|
|00002250| 6c 6f 63 28 21 6f 62 6a | 25 29 0d 01 27 2b f2 6d |loc(!obj|%)..'+.m|
|00002260| 65 6d 5f 63 6f 70 79 28 | 21 6f 62 6a 25 2c 70 74 |em_copy(|!obj%,pt|
|00002270| 72 25 21 31 32 2b 70 74 | 72 25 21 38 2c 6f 62 6a |r%!12+pt|r%!8,obj|
|00002280| 25 21 31 32 29 0d 01 28 | 45 f2 6d 65 6d 5f 63 6f |%!12)..(|E.mem_co|
|00002290| 70 79 28 21 70 74 72 25 | 2d 70 74 72 25 21 38 2d |py(!ptr%|-ptr%!8-|
|000022a0| 21 6f 62 6a 25 2c 70 74 | 72 25 21 31 32 2b 70 74 |!obj%,pt|r%!12+pt|
|000022b0| 72 25 21 38 2b 21 6f 62 | 6a 25 2c 70 74 72 25 21 |r%!8+!ob|j%,ptr%!|
|000022c0| 31 32 2b 70 74 72 25 21 | 38 29 0d 01 29 10 21 70 |12+ptr%!|8)..).!p|
|000022d0| 74 72 25 2d 3d 21 6f 62 | 6a 25 0d 01 2a 1b f2 72 |tr%-=!ob|j%..*..r|
|000022e0| 65 61 6c 6c 6f 63 28 70 | 74 72 25 21 31 32 2c 21 |ealloc(p|tr%!12,!|
|000022f0| 70 74 72 25 29 0d 01 2b | 09 3d 6f 62 6a 25 0d 01 |ptr%)..+|.=obj%..|
|00002300| 2c 04 0d 01 2d 20 2a 7c | 73 74 6f 70 20 46 4e 64 |,...- *||stop FNd|
|00002310| 72 61 77 5f 72 65 6d 6f | 76 65 66 72 6f 6d 66 69 |raw_remo|vefromfi|
|00002320| 6c 65 0d 01 2e 24 2a 7c | 73 74 61 72 74 20 50 52 |le...$*||start PR|
|00002330| 4f 43 64 72 61 77 5f 72 | 65 73 65 74 61 74 74 72 |OCdraw_r|esetattr|
|00002340| 69 62 75 74 65 73 0d 01 | 2f 2b 2a 7c 21 50 52 4f |ibutes..|/+*|!PRO|
|00002350| 43 64 72 61 77 5f 72 65 | 73 65 74 61 74 74 72 69 |Cdraw_re|setattri|
|00002360| 62 75 74 65 73 28 20 64 | 72 61 77 66 69 6c 65 20 |butes( d|rawfile |
|00002370| 29 0d 01 30 07 2a 7c 21 | 0d 01 31 46 2a 7c 21 52 |)..0.*|!|..1F*|!R|
|00002380| 65 73 65 74 73 20 74 68 | 65 20 61 74 74 72 69 62 |esets th|e attrib|
|00002390| 75 74 65 73 20 6f 66 20 | 74 68 65 20 6f 62 6a 65 |utes of |the obje|
|000023a0| 63 74 20 77 68 69 63 68 | 20 6c 69 65 73 20 61 74 |ct which| lies at|
|000023b0| 20 74 68 65 20 69 6e 73 | 65 72 74 69 6f 6e 0d 01 | the ins|ertion..|
|000023c0| 32 46 2a 7c 21 70 6f 69 | 6e 74 65 72 20 74 6f 20 |2F*|!poi|nter to |
|000023d0| 74 68 65 20 63 75 72 72 | 65 6e 74 20 76 61 6c 75 |the curr|ent valu|
|000023e0| 65 73 2e 20 54 68 69 73 | 20 69 6e 63 6c 75 64 65 |es. This| include|
|000023f0| 73 20 63 6f 6c 6f 75 72 | 2c 20 6c 69 6e 65 73 74 |s colour|, linest|
|00002400| 79 6c 65 2c 0d 01 33 26 | 2a 7c 21 6c 69 6e 65 77 |yle,..3&|*|!linew|
|00002410| 69 64 74 68 20 61 6e 64 | 20 6f 74 68 65 72 20 61 |idth and| other a|
|00002420| 74 74 72 69 62 75 74 65 | 73 2e 0d 01 34 21 dd 20 |ttribute|s...4!. |
|00002430| f2 64 72 61 77 5f 72 65 | 73 65 74 61 74 74 72 69 |.draw_re|setattri|
|00002440| 62 75 74 65 73 28 70 74 | 72 25 29 0d 01 35 0c ea |butes(pt|r%)..5..|
|00002450| 20 64 75 6d 6d 79 25 0d | 01 36 19 64 75 6d 6d 79 | dummy%.|.6.dummy|
|00002460| 25 3d 70 74 72 25 21 31 | 32 2b 70 74 72 25 21 38 |%=ptr%!1|2+ptr%!8|
|00002470| 0d 01 37 28 f2 5f 64 72 | 61 77 5f 72 65 73 65 74 |..7(._dr|aw_reset|
|00002480| 6f 62 6a 65 63 74 61 74 | 74 72 69 62 75 74 65 73 |objectat|tributes|
|00002490| 28 64 75 6d 6d 79 25 29 | 0d 01 38 05 e1 0d 01 39 |(dummy%)|..8....9|
|000024a0| 04 0d 01 3a 2a dd 20 f2 | 5f 64 72 61 77 5f 72 65 |...:*. .|_draw_re|
|000024b0| 73 65 74 6f 62 6a 65 63 | 74 61 74 74 72 69 62 75 |setobjec|tattribu|
|000024c0| 74 65 73 28 f8 20 6f 62 | 6a 25 29 0d 01 3b 16 ea |tes(. ob|j%)..;..|
|000024d0| 20 6c 65 6e 25 2c 6f 6c | 64 25 2c 67 72 6f 75 70 | len%,ol|d%,group|
|000024e0| 25 0d 01 3c 0e c8 8e 20 | 21 6f 62 6a 25 20 ca 0d |%..<... |!obj% ..|
|000024f0| 01 3d 0a 20 20 c9 20 31 | 3a 0d 01 3e 1e 20 20 20 |.=. . 1|:..>. |
|00002500| 20 6f 62 6a 25 21 32 34 | 3d 5f 64 72 61 77 5f 6c | obj%!24|=_draw_l|
|00002510| 69 6e 65 63 6f 6c 25 0d | 01 3f 1e 20 20 20 20 6f |inecol%.|.?. o|
|00002520| 62 6a 25 21 32 38 3d 5f | 64 72 61 77 5f 66 69 6c |bj%!28=_|draw_fil|
|00002530| 6c 63 6f 6c 25 0d 01 40 | 0a 20 20 c9 20 32 3a 0d |lcol%..@|. . 2:.|
|00002540| 01 41 35 20 20 20 20 e7 | 20 28 5f 64 72 61 77 5f |.A5 .| (_draw_|
|00002550| 70 61 74 68 73 74 79 6c | 65 25 20 80 20 26 38 30 |pathstyl|e% . &80|
|00002560| 29 3c 3e 28 6f 62 6a 25 | 21 33 36 20 80 20 26 38 |)<>(obj%|!36 . &8|
|00002570| 30 29 20 8c 0d 01 42 26 | 20 20 20 20 20 20 e7 20 |0) ...B&| . |
|00002580| 28 5f 64 72 61 77 5f 70 | 61 74 68 73 74 79 6c 65 |(_draw_p|athstyle|
|00002590| 25 20 80 20 26 38 30 29 | 20 8c 0d 01 43 18 20 20 |% . &80)| ...C. |
|000025a0| 20 20 20 20 20 20 6f 6c | 64 25 3d 70 74 72 25 21 | ol|d%=ptr%!|
|000025b0| 31 32 0d 01 44 26 20 20 | 20 20 20 20 20 20 f2 72 |12..D& | .r|
|000025c0| 65 61 6c 6c 6f 63 28 70 | 74 72 25 21 31 32 2c 21 |ealloc(p|tr%!12,!|
|000025d0| 70 74 72 25 2b 32 34 29 | 0d 01 45 20 20 20 20 20 |ptr%+24)|..E |
|000025e0| 20 20 20 20 6f 62 6a 25 | 2b 3d 28 70 74 72 25 21 | obj%|+=(ptr%!|
|000025f0| 31 32 2d 6f 6c 64 25 29 | 0d 01 46 36 20 20 20 20 |12-old%)|..F6 |
|00002600| 20 20 20 20 f2 6d 65 6d | 5f 63 6f 70 79 28 21 70 | .mem|_copy(!p|
|00002610| 74 72 25 2d 70 74 72 25 | 21 38 2d 34 30 2c 6f 62 |tr%-ptr%|!8-40,ob|
|00002620| 6a 25 2b 34 30 2c 6f 62 | 6a 25 2b 36 34 29 0d 01 |j%+40,ob|j%+64)..|
|00002630| 47 15 20 20 20 20 20 20 | 20 20 21 70 74 72 25 2b |G. | !ptr%+|
|00002640| 3d 32 34 0d 01 48 16 20 | 20 20 20 20 20 20 20 6f |=24..H. | o|
|00002650| 62 6a 25 21 34 2b 3d 32 | 34 0d 01 49 0b 20 20 20 |bj%!4+=2|4..I. |
|00002660| 20 20 20 cc 0d 01 4a 36 | 20 20 20 20 20 20 20 20 | ...J6| |
|00002670| f2 6d 65 6d 5f 63 6f 70 | 79 28 21 70 74 72 25 2d |.mem_cop|y(!ptr%-|
|00002680| 70 74 72 25 21 38 2d 36 | 34 2c 6f 62 6a 25 2b 36 |ptr%!8-6|4,obj%+6|
|00002690| 34 2c 6f 62 6a 25 2b 34 | 30 29 0d 01 4b 15 20 20 |4,obj%+4|0)..K. |
|000026a0| 20 20 20 20 20 20 21 70 | 74 72 25 2d 3d 32 34 0d | !p|tr%-=24.|
|000026b0| 01 4c 16 20 20 20 20 20 | 20 20 20 6f 62 6a 25 21 |.L. | obj%!|
|000026c0| 34 2d 3d 32 34 0d 01 4d | 0b 20 20 20 20 20 20 cd |4-=24..M|. .|
|000026d0| 0d 01 4e 09 20 20 20 20 | cd 0d 01 4f 1e 20 20 20 |..N. |...O. |
|000026e0| 20 6f 62 6a 25 21 32 34 | 3d 5f 64 72 61 77 5f 66 | obj%!24|=_draw_f|
|000026f0| 69 6c 6c 63 6f 6c 25 0d | 01 50 1e 20 20 20 20 6f |illcol%.|.P. o|
|00002700| 62 6a 25 21 32 38 3d 5f | 64 72 61 77 5f 6c 69 6e |bj%!28=_|draw_lin|
|00002710| 65 63 6f 6c 25 0d 01 51 | 20 20 20 20 20 6f 62 6a |ecol%..Q| obj|
|00002720| 25 21 33 32 3d 5f 64 72 | 61 77 5f 6c 69 6e 65 77 |%!32=_dr|aw_linew|
|00002730| 69 64 74 68 25 0d 01 52 | 20 20 20 20 20 6f 62 6a |idth%..R| obj|
|00002740| 25 21 33 36 3d 5f 64 72 | 61 77 5f 70 61 74 68 73 |%!36=_dr|aw_paths|
|00002750| 74 79 6c 65 25 0d 01 53 | 49 20 20 20 20 e7 20 28 |tyle%..S|I . (|
|00002760| 5f 64 72 61 77 5f 70 61 | 74 68 73 74 79 6c 65 25 |_draw_pa|thstyle%|
|00002770| 20 80 20 26 38 30 29 20 | 8c 20 f2 6d 65 6d 5f 63 | . &80) |. .mem_c|
|00002780| 6f 70 79 28 32 34 2c 5f | 64 72 61 77 5f 64 61 73 |opy(24,_|draw_das|
|00002790| 68 70 61 74 25 2c 6f 62 | 6a 25 2b 34 30 29 0d 01 |hpat%,ob|j%+40)..|
|000027a0| 54 0a 20 20 c9 20 36 3a | 0d 01 55 2b 20 20 20 20 |T. . 6:|..U+ |
|000027b0| 6c 65 6e 25 3d 6f 62 6a | 25 21 34 2d 33 36 3a 67 |len%=obj|%!4-36:g|
|000027c0| 72 6f 75 70 25 3d 6f 62 | 6a 25 3a 6f 62 6a 25 2b |roup%=ob|j%:obj%+|
|000027d0| 3d 33 36 0d 01 56 11 20 | 20 20 20 c8 95 20 6c 65 |=36..V. | .. le|
|000027e0| 6e 25 3e 30 0d 01 57 15 | 20 20 20 20 20 20 6f 6c |n%>0..W.| ol|
|000027f0| 64 25 3d 6f 62 6a 25 21 | 34 0d 01 58 2c 20 20 20 |d%=obj%!|4..X, |
|00002800| 20 20 20 f2 5f 64 72 61 | 77 5f 72 65 73 65 74 6f | ._dra|w_reseto|
|00002810| 62 6a 65 63 74 61 74 74 | 72 69 62 75 74 65 73 28 |bjectatt|ributes(|
|00002820| 6f 62 6a 25 29 0d 01 59 | 21 20 20 20 20 20 20 67 |obj%)..Y|! g|
|00002830| 72 6f 75 70 25 21 34 2b | 3d 28 6f 62 6a 25 21 34 |roup%!4+|=(obj%!4|
|00002840| 2d 6f 6c 64 25 29 0d 01 | 5a 16 20 20 20 20 20 20 |-old%)..|Z. |
|00002850| 6c 65 6e 25 2d 3d 6f 62 | 6a 25 21 34 0d 01 5b 16 |len%-=ob|j%!4..[.|
|00002860| 20 20 20 20 20 20 6f 62 | 6a 25 2b 3d 6f 62 6a 25 | ob|j%+=obj%|
|00002870| 21 34 0d 01 5c 0a 20 20 | 20 20 20 ce 0d 01 5d 0a |!4..\. | ...].|
|00002880| 20 20 c9 20 37 3a 0d 01 | 5e 28 20 20 20 20 67 72 | . 7:..|^( gr|
|00002890| 6f 75 70 25 3d 6f 62 6a | 25 3a 6f 62 6a 25 2b 3d |oup%=obj|%:obj%+=|
|000028a0| 32 38 3a 6f 6c 64 25 3d | 6f 62 6a 25 21 34 0d 01 |28:old%=|obj%!4..|
|000028b0| 5f 2a 20 20 20 20 f2 5f | 64 72 61 77 5f 72 65 73 |_* ._|draw_res|
|000028c0| 65 74 6f 62 6a 65 63 74 | 61 74 74 72 69 62 75 74 |etobject|attribut|
|000028d0| 65 73 28 6f 62 6a 25 29 | 0d 01 60 1f 20 20 20 20 |es(obj%)|..`. |
|000028e0| 67 72 6f 75 70 25 21 34 | 2b 3d 28 6f 62 6a 25 21 |group%!4|+=(obj%!|
|000028f0| 34 2d 6f 6c 64 25 29 0d | 01 61 0b 20 20 c9 20 31 |4-old%).|.a. . 1|
|00002900| 32 3a 0d 01 62 1e 20 20 | 20 20 6f 62 6a 25 21 34 |2:..b. | obj%!4|
|00002910| 38 3d 5f 64 72 61 77 5f | 6c 69 6e 65 63 6f 6c 25 |8=_draw_|linecol%|
|00002920| 0d 01 63 20 20 20 20 20 | 6f 62 6a 25 21 35 32 3d |..c |obj%!52=|
|00002930| 5f 64 72 61 77 5f 66 69 | 6c 6c 63 6f 6c 25 20 20 |_draw_fi|llcol% |
|00002940| 0d 01 64 05 cb 0d 01 65 | 05 e1 0d 01 66 04 0d 01 |..d....e|....f...|
|00002950| 67 23 2a 7c 73 74 6f 70 | 20 50 52 4f 43 64 72 61 |g#*|stop| PROCdra|
|00002960| 77 5f 72 65 73 65 74 61 | 74 74 72 69 62 75 74 65 |w_reseta|ttribute|
|00002970| 73 0d 01 68 22 2a 7c 73 | 74 61 72 74 20 46 4e 64 |s..h"*|s|tart FNd|
|00002980| 72 61 77 5f 63 72 65 61 | 74 65 66 6f 6e 74 74 61 |raw_crea|tefontta|
|00002990| 62 6c 65 0d 01 69 1d 2a | 7c 21 46 4e 64 72 61 77 |ble..i.*||!FNdraw|
|000029a0| 5f 63 72 65 61 74 65 66 | 6f 6e 74 74 61 62 6c 65 |_createf|onttable|
|000029b0| 0d 01 6a 07 2a 7c 21 0d | 01 6b 49 2a 7c 21 54 68 |..j.*|!.|.kI*|!Th|
|000029c0| 69 73 20 72 6f 75 74 69 | 6e 65 20 63 72 65 61 74 |is routi|ne creat|
|000029d0| 65 73 20 61 6e 20 65 6d | 70 74 79 20 66 6f 6e 74 |es an em|pty font|
|000029e0| 20 74 61 62 6c 65 20 6f | 62 6a 65 63 74 2e 20 54 | table o|bject. T|
|000029f0| 68 69 73 20 69 73 20 70 | 61 73 73 65 64 20 74 6f |his is p|assed to|
|00002a00| 0d 01 6c 47 2a 7c 21 6f | 74 68 65 72 20 72 6f 75 |..lG*|!o|ther rou|
|00002a10| 74 69 6e 65 73 20 77 68 | 65 6e 20 63 72 65 61 74 |tines wh|en creat|
|00002a20| 69 6e 67 20 74 65 78 74 | 20 6f 62 6a 65 63 74 73 |ing text| objects|
|00002a30| 2c 20 61 6e 64 20 74 68 | 65 6e 20 61 64 64 65 64 |, and th|en added|
|00002a40| 20 74 6f 20 74 68 65 0d | 01 6d 10 2a 7c 21 64 72 | to the.|.m.*|!dr|
|00002a50| 61 77 66 69 6c 65 2e 0d | 01 6e 1b dd 20 a4 64 72 |awfile..|.n.. .dr|
|00002a60| 61 77 5f 63 72 65 61 74 | 65 66 6f 6e 74 74 61 62 |aw_creat|efonttab|
|00002a70| 6c 65 0d 01 6f 0a ea 20 | 70 74 72 25 0d 01 70 14 |le..o.. |ptr%..p.|
|00002a80| 70 74 72 25 3d a4 6d 61 | 6c 6c 6f 63 28 31 36 29 |ptr%=.ma|lloc(16)|
|00002a90| 0d 01 71 0b 21 70 74 72 | 25 3d 38 0d 01 72 0c 70 |..q.!ptr|%=8..r.p|
|00002aa0| 74 72 25 21 34 3d 30 0d | 01 73 0c 70 74 72 25 21 |tr%!4=0.|.s.ptr%!|
|00002ab0| 38 3d 30 0d 01 74 16 70 | 74 72 25 21 31 32 3d a4 |8=0..t.p|tr%!12=.|
|00002ac0| 6d 61 6c 6c 6f 63 28 38 | 29 0d 01 75 10 21 28 70 |malloc(8|)..u.!(p|
|00002ad0| 74 72 25 21 31 32 29 3d | 30 0d 01 76 12 21 28 70 |tr%!12)=|0..v.!(p|
|00002ae0| 74 72 25 21 31 32 2b 34 | 29 3d 38 0d 01 77 09 3d |tr%!12+4|)=8..w.=|
|00002af0| 70 74 72 25 0d 01 78 04 | 0d 01 79 21 2a 7c 73 74 |ptr%..x.|..y!*|st|
|00002b00| 6f 70 20 46 4e 64 72 61 | 77 5f 63 72 65 61 74 65 |op FNdra|w_create|
|00002b10| 66 6f 6e 74 74 61 62 6c | 65 0d 01 7a 1f 2a 7c 73 |fonttabl|e..z.*|s|
|00002b20| 74 61 72 74 20 46 4e 64 | 72 61 77 5f 67 65 74 66 |tart FNd|raw_getf|
|00002b30| 6f 6e 74 74 61 62 6c 65 | 0d 01 7b 26 2a 7c 21 46 |onttable|..{&*|!F|
|00002b40| 4e 64 72 61 77 5f 67 65 | 74 66 6f 6e 74 74 61 62 |Ndraw_ge|tfonttab|
|00002b50| 6c 65 28 20 64 72 61 77 | 66 69 6c 65 20 29 0d 01 |le( draw|file )..|
|00002b60| 7c 07 2a 7c 21 0d 01 7d | 41 2a 7c 21 54 68 69 73 ||.*|!..}|A*|!This|
|00002b70| 20 72 6f 75 74 69 6e 65 | 20 65 78 74 72 61 63 74 | routine| extract|
|00002b80| 73 20 61 20 66 6f 6e 74 | 20 74 61 62 6c 65 20 66 |s a font| table f|
|00002b90| 72 6f 6d 20 61 20 66 69 | 6c 65 20 61 6e 64 20 72 |rom a fi|le and r|
|00002ba0| 65 74 75 72 6e 73 0d 01 | 7e 41 2a 7c 21 61 20 70 |eturns..|~A*|!a p|
|00002bb0| 6f 69 6e 74 65 72 20 74 | 6f 20 69 74 2e 20 54 68 |ointer t|o it. Th|
|00002bc0| 69 73 20 69 73 20 75 73 | 65 66 75 6c 20 77 68 65 |is is us|eful whe|
|00002bd0| 6e 20 65 64 69 74 69 6e | 67 20 61 20 64 72 61 77 |n editin|g a draw|
|00002be0| 66 69 6c 65 20 69 66 0d | 01 7f 42 2a 7c 21 79 6f |file if.|..B*|!yo|
|00002bf0| 75 20 77 69 73 68 20 74 | 6f 20 61 64 64 20 6e 65 |u wish t|o add ne|
|00002c00| 77 20 74 65 78 74 20 74 | 6f 20 69 74 2e 20 49 74 |w text t|o it. It|
|00002c10| 20 72 65 74 75 72 6e 73 | 20 7a 65 72 6f 20 69 66 | returns| zero if|
|00002c20| 20 74 68 65 20 66 69 6c | 65 0d 01 80 25 2a 7c 21 | the fil|e...%*|!|
|00002c30| 64 6f 65 73 20 6e 6f 74 | 20 63 6f 6e 74 61 69 6e |does not| contain|
|00002c40| 20 61 20 66 6f 6e 74 20 | 74 61 62 6c 65 2e 0d 01 | a font |table...|
|00002c50| 81 1e dd 20 a4 64 72 61 | 77 5f 67 65 74 66 6f 6e |... .dra|w_getfon|
|00002c60| 74 74 61 62 6c 65 28 70 | 74 72 25 29 0d 01 82 0c |ttable(p|tr%)....|
|00002c70| ea 20 74 61 62 6c 65 25 | 0d 01 83 1b e7 20 21 28 |. table%|..... !(|
|00002c80| 70 74 72 25 21 31 32 2b | 34 30 29 3c 3e 30 20 8c |ptr%!12+|40)<>0 .|
|00002c90| 20 3d 30 0d 01 84 16 74 | 61 62 6c 65 25 3d a4 6d | =0....t|able%=.m|
|00002ca0| 61 6c 6c 6f 63 28 31 36 | 29 0d 01 85 19 21 74 61 |alloc(16|)....!ta|
|00002cb0| 62 6c 65 25 3d 21 28 70 | 74 72 25 21 31 32 2b 34 |ble%=!(p|tr%!12+4|
|00002cc0| 34 29 0d 01 86 0e 74 61 | 62 6c 65 25 21 34 3d 30 |4)....ta|ble%!4=0|
|00002cd0| 0d 01 87 0e 74 61 62 6c | 65 25 21 38 3d 30 0d 01 |....tabl|e%!8=0..|
|00002ce0| 88 24 74 61 62 6c 65 25 | 21 31 32 3d a4 6d 61 6c |.$table%|!12=.mal|
|00002cf0| 6c 6f 63 28 21 28 70 74 | 72 25 21 31 32 2b 34 34 |loc(!(pt|r%!12+44|
|00002d00| 29 29 0d 01 89 33 f2 6d | 65 6d 5f 63 6f 70 79 28 |))...3.m|em_copy(|
|00002d10| 21 28 70 74 72 25 21 31 | 32 2b 34 34 29 2c 28 70 |!(ptr%!1|2+44),(p|
|00002d20| 74 72 25 21 31 32 29 2b | 34 30 2c 74 61 62 6c 65 |tr%!12)+|40,table|
|00002d30| 25 21 31 32 29 0d 01 8a | 49 f2 6d 65 6d 5f 63 6f |%!12)...|I.mem_co|
|00002d40| 70 79 28 21 70 74 72 25 | 2d 34 30 2d 21 28 70 74 |py(!ptr%|-40-!(pt|
|00002d50| 72 25 21 31 32 2b 34 34 | 29 2c 70 74 72 25 21 31 |r%!12+44|),ptr%!1|
|00002d60| 32 2b 34 30 2b 21 28 70 | 74 72 25 21 31 32 2b 34 |2+40+!(p|tr%!12+4|
|00002d70| 34 29 2c 70 74 72 25 21 | 31 32 2b 34 30 29 0d 01 |4),ptr%!|12+40)..|
|00002d80| 8b 12 21 70 74 72 25 2d | 3d 21 74 61 62 6c 65 25 |..!ptr%-|=!table%|
|00002d90| 0d 01 8c 13 70 74 72 25 | 21 38 2d 3d 21 74 61 62 |....ptr%|!8-=!tab|
|00002da0| 6c 65 25 0d 01 8d 1d 70 | 74 72 25 21 34 3d 70 74 |le%....p|tr%!4=pt|
|00002db0| 72 25 21 34 20 80 20 26 | 46 46 46 46 46 46 46 43 |r%!4 . &|FFFFFFFC|
|00002dc0| 0d 01 8e 0b 3d 74 61 62 | 6c 65 25 0d 01 8f 04 0d |....=tab|le%.....|
|00002dd0| 01 90 1e 2a 7c 73 74 6f | 70 20 46 4e 64 72 61 77 |...*|sto|p FNdraw|
|00002de0| 5f 67 65 74 66 6f 6e 74 | 74 61 62 6c 65 0d 01 91 |_getfont|table...|
|00002df0| 21 2a 7c 73 74 61 72 74 | 20 50 52 4f 43 64 72 61 |!*|start| PROCdra|
|00002e00| 77 5f 61 64 64 66 6f 6e | 74 74 61 62 6c 65 0d 01 |w_addfon|ttable..|
|00002e10| 92 35 2a 7c 21 50 52 4f | 43 64 72 61 77 5f 61 64 |.5*|!PRO|Cdraw_ad|
|00002e20| 64 66 6f 6e 74 74 61 62 | 6c 65 28 20 64 72 61 77 |dfonttab|le( draw|
|00002e30| 66 69 6c 65 20 2c 20 66 | 6f 6e 74 5f 74 61 62 6c |file , f|ont_tabl|
|00002e40| 65 20 29 0d 01 93 07 2a | 7c 21 0d 01 94 48 2a 7c |e )....*||!...H*||
|00002e50| 21 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 61 64 |!This ro|utine ad|
|00002e60| 64 73 20 61 20 66 6f 6e | 74 20 74 61 62 6c 65 20 |ds a fon|t table |
|00002e70| 74 6f 20 61 20 64 72 61 | 77 66 69 6c 65 2e 20 49 |to a dra|wfile. I|
|00002e80| 74 20 65 6e 73 75 72 65 | 73 20 74 68 61 74 20 74 |t ensure|s that t|
|00002e90| 68 65 0d 01 95 48 2a 7c | 21 74 61 62 6c 65 20 69 |he...H*||!table i|
|00002ea0| 73 20 74 68 65 20 66 69 | 72 73 74 20 6f 62 6a 65 |s the fi|rst obje|
|00002eb0| 63 74 20 69 6e 20 74 68 | 65 20 66 69 6c 65 20 28 |ct in th|e file (|
|00002ec0| 74 68 69 73 20 69 73 20 | 69 6d 70 6f 72 74 61 6e |this is |importan|
|00002ed0| 74 20 62 65 63 61 75 73 | 65 2c 0d 01 96 41 2a 7c |t becaus|e,...A*||
|00002ee0| 21 63 6f 6e 74 61 72 79 | 20 74 6f 20 77 68 61 74 |!contary| to what|
|00002ef0| 20 74 68 65 20 50 52 4d | 73 20 73 61 79 2c 20 21 | the PRM|s say, !|
|00002f00| 44 72 61 77 20 63 72 61 | 73 68 65 73 20 69 66 20 |Draw cra|shes if |
|00002f10| 69 74 20 69 73 20 6e 6f | 74 29 2e 0d 01 97 25 dd |it is no|t)....%.|
|00002f20| 20 f2 64 72 61 77 5f 61 | 64 64 66 6f 6e 74 74 61 | .draw_a|ddfontta|
|00002f30| 62 6c 65 28 70 74 72 25 | 2c 74 61 62 6c 65 25 29 |ble(ptr%|,table%)|
|00002f40| 0d 01 98 08 ea 20 6f 25 | 0d 01 99 31 21 28 74 61 |..... o%|...1!(ta|
|00002f50| 62 6c 65 25 21 31 32 2b | 34 29 3d 28 33 2b 21 28 |ble%!12+|4)=(3+!(|
|00002f60| 74 61 62 6c 65 25 21 31 | 32 2b 34 29 29 20 80 20 |table%!1|2+4)) . |
|00002f70| 26 46 46 46 46 46 46 46 | 43 0d 01 9a 0d 6f 25 3d |&FFFFFFF|C....o%=|
|00002f80| 70 74 72 25 21 38 0d 01 | 9b 0d 70 74 72 25 21 38 |ptr%!8..|..ptr%!8|
|00002f90| 3d 34 30 0d 01 9c 20 f2 | 64 72 61 77 5f 61 64 64 |=40... .|draw_add|
|00002fa0| 74 6f 66 69 6c 65 28 70 | 74 72 25 2c 74 61 62 6c |tofile(p|tr%,tabl|
|00002fb0| 65 25 29 0d 01 9d 1c 70 | 74 72 25 21 38 3d 6f 25 |e%)....p|tr%!8=o%|
|00002fc0| 2b 21 28 74 61 62 6c 65 | 25 21 31 32 2b 34 29 0d |+!(table|%!12+4).|
|00002fd0| 01 9e 24 70 74 72 25 21 | 34 3d 28 70 74 72 25 21 |..$ptr%!|4=(ptr%!|
|00002fe0| 34 20 80 20 26 46 46 46 | 46 46 46 46 43 29 20 84 |4 . &FFF|FFFFC) .|
|00002ff0| 20 34 30 0d 01 9f 05 e1 | 0d 01 a0 04 0d 01 a1 20 | 40.....|....... |
|00003000| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 64 72 61 77 5f |*|stop P|ROCdraw_|
|00003010| 61 64 64 66 6f 6e 74 74 | 61 62 6c 65 0d 01 a2 1d |addfontt|able....|
|00003020| 2a 7c 73 74 61 72 74 20 | 46 4e 64 72 61 77 5f 63 |*|start |FNdraw_c|
|00003030| 72 65 61 74 65 74 65 78 | 74 0d 01 a3 54 2a 7c 21 |reatetex|t...T*|!|
|00003040| 46 4e 64 72 61 77 5f 63 | 72 65 61 74 65 74 65 78 |FNdraw_c|reatetex|
|00003050| 74 28 20 74 65 78 74 20 | 2c 20 66 6f 6e 74 20 2c |t( text |, font ,|
|00003060| 20 66 6f 6e 74 5f 74 61 | 62 6c 65 20 2c 20 78 20 | font_ta|ble , x |
|00003070| 2c 20 79 20 2c 20 77 20 | 2c 20 68 20 2c 20 68 6a |, y , w |, h , hj|
|00003080| 75 73 74 20 2c 20 76 6a | 75 73 74 20 29 0d 01 a4 |ust , vj|ust )...|
|00003090| 07 2a 7c 21 0d 01 a5 4d | 2a 7c 21 54 68 69 73 20 |.*|!...M|*|!This |
|000030a0| 66 75 6e 63 74 69 6f 6e | 20 63 72 65 61 74 65 73 |function| creates|
|000030b0| 20 61 20 74 65 78 74 20 | 6f 62 6a 65 63 74 2e 20 | a text |object. |
|000030c0| 54 68 65 20 74 65 78 74 | 20 77 69 6c 6c 20 62 65 |The text| will be|
|000030d0| 20 69 6e 20 74 68 65 20 | 73 70 65 63 69 66 69 65 | in the |specifie|
|000030e0| 64 0d 01 a6 4c 2a 7c 21 | 66 6f 6e 74 20 28 75 73 |d...L*|!|font (us|
|000030f0| 65 20 22 22 20 66 6f 72 | 20 74 68 65 20 73 79 73 |e "" for| the sys|
|00003100| 74 65 6d 20 66 6f 6e 74 | 29 2c 20 61 6e 64 20 61 |tem font|), and a|
|00003110| 74 20 74 68 65 20 73 70 | 65 63 69 66 69 65 64 20 |t the sp|ecified |
|00003120| 73 69 7a 65 20 28 69 6e | 20 64 72 61 77 0d 01 a7 |size (in| draw...|
|00003130| 4a 2a 7c 21 75 6e 69 74 | 73 20 2d 20 31 2f 36 34 |J*|!unit|s - 1/64|
|00003140| 30 20 6f 66 20 61 20 70 | 6f 69 6e 74 29 20 61 6e |0 of a p|oint) an|
|00003150| 64 20 70 6f 73 69 74 69 | 6f 6e 2e 20 54 68 65 20 |d positi|on. The |
|00003160| 68 6f 72 69 7a 6f 6e 74 | 61 6c 20 61 6e 64 20 76 |horizont|al and v|
|00003170| 65 72 74 69 63 61 6c 0d | 01 a8 48 2a 7c 21 70 6f |ertical.|..H*|!po|
|00003180| 73 69 74 69 6f 6e 20 6f | 66 20 74 68 65 20 74 65 |sition o|f the te|
|00003190| 78 74 20 72 65 6c 61 74 | 69 76 65 20 74 6f 20 74 |xt relat|ive to t|
|000031a0| 68 65 20 67 69 76 65 6e | 20 78 20 61 6e 64 20 79 |he given| x and y|
|000031b0| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 20 69 73 0d | coordin|ates is.|
|000031c0| 01 a9 4a 2a 7c 21 73 70 | 65 63 69 66 69 65 64 20 |..J*|!sp|ecified |
|000031d0| 62 79 20 74 68 65 20 68 | 6a 75 73 74 20 61 6e 64 |by the h|just and|
|000031e0| 20 76 6a 75 73 74 20 70 | 61 72 61 6d 65 74 65 72 | vjust p|arameter|
|000031f0| 73 2c 20 77 68 65 72 65 | 20 74 68 65 73 65 20 76 |s, where| these v|
|00003200| 61 6c 75 65 73 20 61 72 | 65 0d 01 aa 13 2a 7c 21 |alues ar|e....*|!|
|00003210| 63 68 6f 73 65 6e 20 66 | 72 6f 6d 3a 0d 01 ab 07 |chosen f|rom:....|
|00003220| 2a 7c 21 0d 01 ac 40 2a | 7c 21 20 20 20 20 20 20 |*|!...@*||! |
|00003230| 20 20 64 72 61 77 5f 4c | 45 46 54 2c 20 64 72 61 | draw_L|EFT, dra|
|00003240| 77 5f 43 45 4e 54 52 45 | 2c 20 64 72 61 77 5f 52 |w_CENTRE|, draw_R|
|00003250| 49 47 48 54 20 28 68 6f | 72 69 7a 6f 6e 74 61 6c |IGHT (ho|rizontal|
|00003260| 6c 79 29 0d 01 ad 3e 2a | 7c 21 20 20 20 20 20 20 |ly)...>*||! |
|00003270| 20 20 64 72 61 77 5f 54 | 4f 50 2c 20 64 72 61 77 | draw_T|OP, draw|
|00003280| 5f 43 45 4e 54 52 45 2c | 20 64 72 61 77 5f 42 4f |_CENTRE,| draw_BO|
|00003290| 54 54 4f 4d 20 28 76 65 | 72 74 69 63 61 6c 6c 79 |TTOM (ve|rtically|
|000032a0| 29 0d 01 ae 07 2a 7c 21 | 0d 01 af 50 2a 7c 21 54 |)....*|!|...P*|!T|
|000032b0| 68 65 20 66 6f 6e 74 20 | 77 69 6c 6c 20 62 65 20 |he font |will be |
|000032c0| 61 64 64 65 64 20 74 6f | 20 74 68 65 20 73 70 65 |added to| the spe|
|000032d0| 63 69 66 69 65 64 20 66 | 6f 6e 74 20 74 61 62 6c |cified f|ont tabl|
|000032e0| 65 20 69 66 20 6e 65 63 | 65 73 73 61 72 79 2c 20 |e if nec|essary, |
|000032f0| 61 6e 64 20 74 68 69 73 | 0d 01 b0 2e 2a 7c 21 74 |and this|....*|!t|
|00003300| 61 62 6c 65 20 6d 61 79 | 20 6c 61 74 65 72 20 62 |able may| later b|
|00003310| 65 20 61 64 64 65 64 20 | 74 6f 20 61 20 64 72 61 |e added |to a dra|
|00003320| 77 66 69 6c 65 2e 0d 01 | b1 44 dd 20 a4 64 72 61 |wfile...|.D. .dra|
|00003330| 77 5f 63 72 65 61 74 65 | 74 65 78 74 28 74 65 78 |w_create|text(tex|
|00003340| 74 24 2c 66 6f 6e 74 24 | 2c 74 61 62 6c 65 25 2c |t$,font$|,table%,|
|00003350| 78 25 2c 79 25 2c 77 25 | 2c 68 25 2c 68 6a 75 73 |x%,y%,w%|,h%,hjus|
|00003360| 74 25 2c 76 6a 75 73 74 | 25 29 0d 01 b2 26 ea 20 |t%,vjust|%)...&. |
|00003370| 66 6f 6e 74 25 2c 66 78 | 25 2c 66 79 25 2c 66 77 |font%,fx|%,fy%,fw|
|00003380| 25 2c 66 68 25 2c 66 25 | 2c 70 74 72 25 2c 70 25 |%,fh%,f%|,ptr%,p%|
|00003390| 0d 01 b3 14 70 74 72 25 | 3d a4 6d 61 6c 6c 6f 63 |....ptr%|=.malloc|
|000033a0| 28 31 36 29 0d 01 b4 0b | 21 70 74 72 25 3d 30 0d |(16)....|!ptr%=0.|
|000033b0| 01 b5 0c 70 74 72 25 21 | 34 3d 30 0d 01 b6 0c 70 |...ptr%!|4=0....p|
|000033c0| 74 72 25 21 38 3d 30 0d | 01 b7 2e 70 74 72 25 21 |tr%!8=0.|...ptr%!|
|000033d0| 31 32 3d a4 6d 61 6c 6c | 6f 63 28 28 35 36 2b a9 |12=.mall|oc((56+.|
|000033e0| 28 74 65 78 74 24 29 29 | 20 80 20 26 46 46 46 46 |(text$))| . &FFFF|
|000033f0| 46 46 46 43 29 0d 01 b8 | 0e 70 25 3d 70 74 72 25 |FFFC)...|.p%=ptr%|
|00003400| 21 31 32 0d 01 b9 09 21 | 70 25 3d 31 0d 01 ba 22 |!12....!|p%=1..."|
|00003410| 70 25 21 34 3d 28 35 36 | 2b a9 28 74 65 78 74 24 |p%!4=(56|+.(text$|
|00003420| 29 29 20 80 20 26 46 46 | 46 46 46 46 46 43 0d 01 |)) . &FF|FFFFFC..|
|00003430| bb 29 66 6f 6e 74 25 3d | a4 5f 64 72 61 77 5f 66 |.)font%=|._draw_f|
|00003440| 6f 6e 74 68 61 6e 64 6c | 65 28 66 6f 6e 74 24 2c |onthandl|e(font$,|
|00003450| 74 61 62 6c 65 25 29 0d | 01 bc 0f e7 20 66 6f 6e |table%).|.... fon|
|00003460| 74 25 3d 30 20 8c 0d 01 | bd 15 20 20 66 77 25 3d |t%=0 ...|.. fw%=|
|00003470| 77 25 2a a9 28 74 65 78 | 74 24 29 0d 01 be 0c 20 |w%*.(tex|t$).... |
|00003480| 20 66 68 25 3d 68 25 0d | 01 bf 05 cc 0d 01 c0 2d | fh%=h%.|.......-|
|00003490| 20 20 66 25 3d a4 66 6f | 6e 74 5f 67 65 74 68 61 | f%=.fo|nt_getha|
|000034a0| 6e 64 6c 65 28 66 6f 6e | 74 24 2c 77 25 2f 36 34 |ndle(fon|t$,w%/64|
|000034b0| 30 2c 68 25 2f 36 34 30 | 29 0d 01 c1 2d 20 20 f2 |0,h%/640|)...- .|
|000034c0| 66 6f 6e 74 5f 67 65 74 | 62 62 6f 78 28 74 65 78 |font_get|bbox(tex|
|000034d0| 74 24 2c 66 25 2c 66 78 | 25 2c 66 79 25 2c 66 77 |t$,f%,fx|%,fy%,fw|
|000034e0| 25 2c 66 68 25 29 0d 01 | c2 1a 20 20 f2 66 6f 6e |%,fh%)..|.. .fon|
|000034f0| 74 5f 66 6f 72 67 65 74 | 66 6f 6e 74 28 66 25 29 |t_forget|font(f%)|
|00003500| 0d 01 c3 12 20 20 66 77 | 25 20 3d 20 66 77 25 2a |.... fw|% = fw%*|
|00003510| 6f 73 0d 01 c4 12 20 20 | 66 68 25 20 3d 20 66 68 |os.... |fh% = fh|
|00003520| 25 2a 6f 73 0d 01 c5 05 | cd 0d 01 c6 0f c8 8e 20 |%*os....|....... |
|00003530| 68 6a 75 73 74 25 20 ca | 0d 01 c7 20 20 20 c9 20 |hjust% .|... . |
|00003540| 64 72 61 77 5f 43 45 4e | 54 52 45 3a 20 78 25 20 |draw_CEN|TRE: x% |
|00003550| 2d 3d 20 66 77 25 2f 32 | 0d 01 c8 1e 20 20 c9 20 |-= fw%/2|.... . |
|00003560| 64 72 61 77 5f 52 49 47 | 48 54 3a 20 20 78 25 20 |draw_RIG|HT: x% |
|00003570| 2d 3d 20 66 77 25 0d 01 | c9 05 cb 0d 01 ca 0f c8 |-= fw%..|........|
|00003580| 8e 20 76 6a 75 73 74 25 | 20 ca 0d 01 cb 20 20 20 |. vjust%| .... |
|00003590| c9 20 64 72 61 77 5f 43 | 45 4e 54 52 45 3a 20 79 |. draw_C|ENTRE: y|
|000035a0| 25 20 2d 3d 20 66 68 25 | 2f 32 0d 01 cc 1e 20 20 |% -= fh%|/2.... |
|000035b0| c9 20 64 72 61 77 5f 52 | 49 47 48 54 3a 20 20 79 |. draw_R|IGHT: y|
|000035c0| 25 20 2d 3d 20 66 68 25 | 0d 01 cd 05 cb 0d 01 ce |% -= fh%|........|
|000035d0| 0b 70 25 21 38 3d 78 25 | 0d 01 cf 0c 70 25 21 31 |.p%!8=x%|....p%!1|
|000035e0| 32 3d 79 25 0d 01 d0 10 | 70 25 21 31 36 3d 78 25 |2=y%....|p%!16=x%|
|000035f0| 2b 66 77 25 0d 01 d1 10 | 70 25 21 32 30 3d 79 25 |+fw%....|p%!20=y%|
|00003600| 2b 66 68 25 0d 01 d2 18 | 70 25 21 32 34 3d 5f 64 |+fh%....|p%!24=_d|
|00003610| 72 61 77 5f 6c 69 6e 65 | 63 6f 6c 25 0d 01 d3 18 |raw_line|col%....|
|00003620| 70 25 21 32 38 3d 5f 64 | 72 61 77 5f 66 69 6c 6c |p%!28=_d|raw_fill|
|00003630| 63 6f 6c 25 0d 01 d4 0f | 70 25 21 33 32 3d 66 6f |col%....|p%!32=fo|
|00003640| 6e 74 25 0d 01 d5 0c 70 | 25 21 33 36 3d 77 25 0d |nt%....p|%!36=w%.|
|00003650| 01 d6 0c 70 25 21 34 30 | 3d 68 25 0d 01 d7 10 70 |...p%!40|=h%....p|
|00003660| 25 21 34 34 3d 78 25 2d | 66 78 25 0d 01 d8 10 70 |%!44=x%-|fx%....p|
|00003670| 25 21 34 38 3d 79 25 2d | 66 79 25 0d 01 d9 1e f2 |%!48=y%-|fy%.....|
|00003680| 6f 73 5f 70 75 74 73 74 | 72 69 6e 67 28 70 25 2b |os_putst|ring(p%+|
|00003690| 35 32 2c 74 65 78 74 24 | 29 0d 01 da 09 3d 70 74 |52,text$|)....=pt|
|000036a0| 72 25 0d 01 db 04 0d 01 | dc 1c 2a 7c 73 74 6f 70 |r%......|..*|stop|
|000036b0| 20 46 4e 64 72 61 77 5f | 63 72 65 61 74 65 74 65 | FNdraw_|createte|
|000036c0| 78 74 0d 01 dd 1c 2a 7c | 73 74 61 72 74 20 46 4e |xt....*||start FN|
|000036d0| 64 72 61 77 5f 73 74 61 | 72 74 70 61 74 68 0d 01 |draw_sta|rtpath..|
|000036e0| de 17 2a 7c 21 46 4e 64 | 72 61 77 5f 73 74 61 72 |..*|!FNd|raw_star|
|000036f0| 74 70 61 74 68 0d 01 df | 07 2a 7c 21 0d 01 e0 44 |tpath...|.*|!...D|
|00003700| 2a 7c 21 54 68 69 73 20 | 66 75 6e 63 74 69 6f 6e |*|!This |function|
|00003710| 20 73 74 61 72 74 73 20 | 61 20 70 61 74 68 20 6f | starts |a path o|
|00003720| 62 6a 65 63 74 20 61 6e | 64 20 72 65 74 75 72 6e |bject an|d return|
|00003730| 73 20 61 20 68 61 6e 64 | 6c 65 20 74 6f 20 69 74 |s a hand|le to it|
|00003740| 0d 01 e1 2a 2a 7c 21 66 | 6f 72 20 75 73 65 20 69 |...**|!f|or use i|
|00003750| 6e 20 63 61 6c 6c 73 20 | 74 6f 20 6f 74 68 65 72 |n calls |to other|
|00003760| 20 72 6f 75 74 69 6e 65 | 73 2e 0d 01 e2 15 dd 20 | routine|s...... |
|00003770| a4 64 72 61 77 5f 73 74 | 61 72 74 70 61 74 68 0d |.draw_st|artpath.|
|00003780| 01 e3 0f ea 20 49 2c 70 | 74 72 25 2c 70 25 0d 01 |.... I,p|tr%,p%..|
|00003790| e4 14 70 74 72 25 3d a4 | 6d 61 6c 6c 6f 63 28 31 |..ptr%=.|malloc(1|
|000037a0| 36 29 0d 01 e5 2f 21 70 | 74 72 25 3d 34 30 2b 32 |6).../!p|tr%=40+2|
|000037b0| 34 2a 28 28 5f 64 72 61 | 77 5f 70 61 74 68 73 74 |4*((_dra|w_pathst|
|000037c0| 79 6c 65 25 20 80 20 26 | 38 30 29 20 3e 3e 20 37 |yle% . &|80) >> 7|
|000037d0| 29 0d 01 e6 0c 70 74 72 | 25 21 34 3d 30 0d 01 e7 |)....ptr|%!4=0...|
|000037e0| 0c 70 74 72 25 21 38 3d | 30 0d 01 e8 21 70 74 72 |.ptr%!8=|0...!ptr|
|000037f0| 25 21 31 32 3d a4 6d 61 | 6c 6c 6f 63 28 5f 64 72 |%!12=.ma|lloc(_dr|
|00003800| 61 77 5f 63 68 75 6e 6b | 25 29 0d 01 e9 0e 70 25 |aw_chunk|%)....p%|
|00003810| 3d 70 74 72 25 21 31 32 | 0d 01 ea 09 21 70 25 3d |=ptr%!12|....!p%=|
|00003820| 32 0d 01 eb 0a 70 25 21 | 34 3d 30 0d 01 ec 16 70 |2....p%!|4=0....p|
|00003830| 25 21 38 3d 5f 64 72 61 | 77 5f 62 69 67 6e 75 6d |%!8=_dra|w_bignum|
|00003840| 25 0d 01 ed 17 70 25 21 | 31 32 3d 5f 64 72 61 77 |%....p%!|12=_draw|
|00003850| 5f 62 69 67 6e 75 6d 25 | 0d 01 ee 18 70 25 21 31 |_bignum%|....p%!1|
|00003860| 36 3d 2d 5f 64 72 61 77 | 5f 62 69 67 6e 75 6d 25 |6=-_draw|_bignum%|
|00003870| 0d 01 ef 18 70 25 21 32 | 30 3d 2d 5f 64 72 61 77 |....p%!2|0=-_draw|
|00003880| 5f 62 69 67 6e 75 6d 25 | 0d 01 f0 18 70 25 21 32 |_bignum%|....p%!2|
|00003890| 34 3d 5f 64 72 61 77 5f | 66 69 6c 6c 63 6f 6c 25 |4=_draw_|fillcol%|
|000038a0| 0d 01 f1 18 70 25 21 32 | 38 3d 5f 64 72 61 77 5f |....p%!2|8=_draw_|
|000038b0| 6c 69 6e 65 63 6f 6c 25 | 0d 01 f2 1a 70 25 21 33 |linecol%|....p%!3|
|000038c0| 32 3d 5f 64 72 61 77 5f | 6c 69 6e 65 77 69 64 74 |2=_draw_|linewidt|
|000038d0| 68 25 0d 01 f3 1a 70 25 | 21 33 36 3d 5f 64 72 61 |h%....p%|!36=_dra|
|000038e0| 77 5f 70 61 74 68 73 74 | 79 6c 65 25 0d 01 f4 20 |w_pathst|yle%... |
|000038f0| e7 20 28 5f 64 72 61 77 | 5f 70 61 74 68 73 74 79 |. (_draw|_pathsty|
|00003900| 6c 65 25 20 80 20 26 38 | 30 29 20 8c 0d 01 f5 14 |le% . &8|0) .....|
|00003910| 20 20 e3 20 49 3d 30 20 | b8 20 32 30 20 88 20 34 | . I=0 |. 20 . 4|
|00003920| 0d 01 f6 23 20 20 20 20 | 21 28 70 25 2b 34 30 2b |...# |!(p%+40+|
|00003930| 49 29 3d 5f 64 72 61 77 | 5f 64 61 73 68 70 61 74 |I)=_draw|_dashpat|
|00003940| 25 21 49 0d 01 f7 09 20 | 20 ed 20 49 0d 01 f8 05 |%!I.... | . I....|
|00003950| cd 0d 01 f9 09 3d 70 74 | 72 25 0d 01 fa 04 0d 01 |.....=pt|r%......|
|00003960| fb 1b 2a 7c 73 74 6f 70 | 20 46 4e 64 72 61 77 5f |..*|stop| FNdraw_|
|00003970| 73 74 61 72 74 70 61 74 | 68 0d 01 fc 1d 2a 7c 73 |startpat|h....*|s|
|00003980| 74 61 72 74 20 50 52 4f | 43 64 72 61 77 5f 70 61 |tart PRO|Cdraw_pa|
|00003990| 74 68 6d 6f 76 65 0d 01 | fd 28 2a 7c 21 50 52 4f |thmove..|.(*|!PRO|
|000039a0| 43 64 72 61 77 5f 70 61 | 74 68 6d 6f 76 65 28 20 |Cdraw_pa|thmove( |
|000039b0| 70 61 74 68 20 2c 20 78 | 20 2c 20 79 20 29 0d 01 |path , x| , y )..|
|000039c0| fe 07 2a 7c 21 0d 01 ff | 4a 2a 7c 21 54 68 69 73 |..*|!...|J*|!This|
|000039d0| 20 72 6f 75 74 69 6e 65 | 20 61 64 64 73 20 61 20 | routine| adds a |
|000039e0| 6d 6f 76 65 20 73 65 67 | 6d 65 6e 74 20 74 6f 20 |move seg|ment to |
|000039f0| 61 20 70 61 74 68 2e 20 | 54 68 65 20 63 6f 6f 72 |a path. |The coor|
|00003a00| 64 69 6e 61 74 65 73 20 | 74 6f 20 6d 6f 76 65 0d |dinates |to move.|
|00003a10| 02 00 26 2a 7c 21 74 6f | 20 61 72 65 20 73 70 65 |..&*|!to| are spe|
|00003a20| 63 69 66 69 65 64 20 69 | 6e 20 64 72 61 77 20 75 |cified i|n draw u|
|00003a30| 6e 69 74 73 2e 0d 02 01 | 20 dd 20 f2 64 72 61 77 |nits....| . .draw|
|00003a40| 5f 70 61 74 68 6d 6f 76 | 65 28 70 74 72 25 2c 78 |_pathmov|e(ptr%,x|
|00003a50| 25 2c 79 25 29 0d 02 02 | 12 f2 5f 64 72 61 77 5f |%,y%)...|.._draw_|
|00003a60| 70 75 74 77 28 32 29 0d | 02 03 17 f2 5f 64 72 61 |putw(2).|...._dra|
|00003a70| 77 5f 70 75 74 78 79 28 | 78 25 2c 79 25 29 0d 02 |w_putxy(|x%,y%)..|
|00003a80| 04 05 e1 0d 02 05 04 0d | 02 06 1c 2a 7c 73 74 6f |........|...*|sto|
|00003a90| 70 20 50 52 4f 43 64 72 | 61 77 5f 70 61 74 68 6d |p PROCdr|aw_pathm|
|00003aa0| 6f 76 65 0d 02 07 1e 2a | 7c 73 74 61 72 74 20 50 |ove....*||start P|
|00003ab0| 52 4f 43 64 72 61 77 5f | 70 61 74 68 63 6c 6f 73 |ROCdraw_|pathclos|
|00003ac0| 65 0d 02 08 2a 2a 7c 21 | 50 52 4f 43 64 72 61 77 |e...**|!|PROCdraw|
|00003ad0| 5f 70 61 74 68 63 6c 6f | 73 65 28 20 70 6f 69 6e |_pathclo|se( poin|
|00003ae0| 74 65 72 20 2c 20 67 61 | 70 20 29 0d 02 09 07 2a |ter , ga|p )....*|
|00003af0| 7c 21 0d 02 0a 4c 2a 7c | 21 54 68 69 73 20 72 6f ||!...L*||!This ro|
|00003b00| 75 74 69 6e 65 20 63 6c | 6f 73 65 73 20 61 20 70 |utine cl|oses a p|
|00003b10| 61 74 68 20 73 65 67 6d | 65 6e 74 2c 20 62 75 74 |ath segm|ent, but|
|00003b20| 20 64 6f 65 73 20 6e 6f | 74 20 66 69 6e 69 73 68 | does no|t finish|
|00003b30| 20 74 68 65 20 70 61 74 | 68 2e 20 54 68 65 0d 02 | the pat|h. The..|
|00003b40| 0b 4c 2a 7c 21 70 61 72 | 61 6d 65 74 65 72 20 67 |.L*|!par|ameter g|
|00003b50| 61 70 20 69 73 20 75 73 | 65 64 20 74 6f 20 64 65 |ap is us|ed to de|
|00003b60| 74 65 72 6d 69 6e 65 20 | 77 68 65 74 68 65 72 20 |termine |whether |
|00003b70| 74 6f 20 64 72 61 77 20 | 61 20 6c 69 6e 65 20 62 |to draw |a line b|
|00003b80| 61 63 6b 20 74 6f 20 74 | 68 65 0d 02 0c 36 2a 7c |ack to t|he...6*||
|00003b90| 21 73 74 61 72 74 20 6f | 72 20 6e 6f 74 2c 20 61 |!start o|r not, a|
|00003ba0| 6e 64 20 74 61 6b 65 73 | 20 65 69 74 68 65 72 20 |nd takes| either |
|00003bb0| 6f 66 20 74 68 65 73 65 | 20 76 61 6c 75 65 73 3a |of these| values:|
|00003bc0| 0d 02 0d 07 2a 7c 21 0d | 02 0e 20 2a 7c 21 20 20 |....*|!.|.. *|! |
|00003bd0| 20 64 72 61 77 5f 47 41 | 50 20 6f 72 20 64 72 61 | draw_GA|P or dra|
|00003be0| 77 5f 4e 4f 47 41 50 0d | 02 0f 20 dd 20 f2 64 72 |w_NOGAP.|.. . .dr|
|00003bf0| 61 77 5f 70 61 74 68 63 | 6c 6f 73 65 28 70 74 72 |aw_pathc|lose(ptr|
|00003c00| 25 2c 67 61 70 25 29 0d | 02 10 17 f2 5f 64 72 61 |%,gap%).|...._dra|
|00003c10| 77 5f 70 75 74 77 28 35 | 2b 67 61 70 25 29 0d 02 |w_putw(5|+gap%)..|
|00003c20| 11 05 e1 0d 02 12 04 0d | 02 13 1d 2a 7c 73 74 6f |........|...*|sto|
|00003c30| 70 20 50 52 4f 43 64 72 | 61 77 5f 70 61 74 68 63 |p PROCdr|aw_pathc|
|00003c40| 6c 6f 73 65 0d 02 14 1f | 2a 7c 73 74 61 72 74 20 |lose....|*|start |
|00003c50| 50 52 4f 43 64 72 61 77 | 5f 70 61 74 68 62 65 7a |PROCdraw|_pathbez|
|00003c60| 69 65 72 0d 02 15 45 2a | 7c 21 50 52 4f 43 64 72 |ier...E*||!PROCdr|
|00003c70| 61 77 5f 70 61 74 68 62 | 65 7a 69 65 72 28 20 70 |aw_pathb|ezier( p|
|00003c80| 6f 69 6e 74 65 72 20 2c | 20 78 20 2c 20 79 20 2c |ointer ,| x , y ,|
|00003c90| 20 63 78 31 20 2c 20 63 | 79 31 20 2c 20 63 78 32 | cx1 , c|y1 , cx2|
|00003ca0| 20 2c 20 63 79 32 20 29 | 0d 02 16 07 2a 7c 21 0d | , cy2 )|....*|!.|
|00003cb0| 02 17 4d 2a 7c 21 54 68 | 69 73 20 72 6f 75 74 69 |..M*|!Th|is routi|
|00003cc0| 6e 65 20 61 64 64 73 20 | 61 20 62 65 7a 69 65 72 |ne adds |a bezier|
|00003cd0| 20 63 75 72 76 65 20 73 | 65 67 6d 65 6e 74 20 74 | curve s|egment t|
|00003ce0| 6f 20 61 20 70 61 74 68 | 2e 20 54 68 65 20 63 6f |o a path|. The co|
|00003cf0| 6f 72 64 69 6e 61 74 65 | 73 20 74 6f 0d 02 18 4d |ordinate|s to...M|
|00003d00| 2a 7c 21 6d 6f 76 65 20 | 74 6f 20 61 72 65 20 73 |*|!move |to are s|
|00003d10| 70 65 63 69 66 69 65 64 | 20 69 6e 20 64 72 61 77 |pecified| in draw|
|00003d20| 20 75 6e 69 74 73 2c 20 | 61 73 20 61 72 65 20 74 | units, |as are t|
|00003d30| 68 65 20 63 6f 6f 72 64 | 69 6e 61 74 65 73 20 6f |he coord|inates o|
|00003d40| 66 20 74 68 65 20 74 77 | 6f 0d 02 19 16 2a 7c 21 |f the tw|o....*|!|
|00003d50| 63 6f 6e 74 72 6f 6c 20 | 70 6f 69 6e 74 73 2e 0d |control |points..|
|00003d60| 02 1a 36 dd 20 f2 64 72 | 61 77 5f 70 61 74 68 62 |..6. .dr|aw_pathb|
|00003d70| 65 7a 69 65 72 28 70 74 | 72 25 2c 78 25 2c 79 25 |ezier(pt|r%,x%,y%|
|00003d80| 2c 63 78 31 25 2c 63 79 | 31 25 2c 63 78 32 25 2c |,cx1%,cy|1%,cx2%,|
|00003d90| 63 79 32 25 29 0d 02 1b | 12 f2 5f 64 72 61 77 5f |cy2%)...|.._draw_|
|00003da0| 70 75 74 77 28 36 29 0d | 02 1c 1b f2 5f 64 72 61 |putw(6).|...._dra|
|00003db0| 77 5f 70 75 74 78 79 28 | 63 78 31 25 2c 63 79 31 |w_putxy(|cx1%,cy1|
|00003dc0| 25 29 0d 02 1d 1b f2 5f | 64 72 61 77 5f 70 75 74 |%)....._|draw_put|
|00003dd0| 78 79 28 63 78 32 25 2c | 63 79 32 25 29 0d 02 1e |xy(cx2%,|cy2%)...|
|00003de0| 17 f2 5f 64 72 61 77 5f | 70 75 74 78 79 28 78 25 |.._draw_|putxy(x%|
|00003df0| 2c 79 25 29 0d 02 1f 05 | e1 0d 02 20 04 0d 02 21 |,y%)....|... ...!|
|00003e00| 1e 2a 7c 73 74 6f 70 20 | 50 52 4f 43 64 72 61 77 |.*|stop |PROCdraw|
|00003e10| 5f 70 61 74 68 62 65 7a | 69 65 72 0d 02 22 1d 2a |_pathbez|ier..".*|
|00003e20| 7c 73 74 61 72 74 20 50 | 52 4f 43 64 72 61 77 5f ||start P|ROCdraw_|
|00003e30| 70 61 74 68 64 72 61 77 | 0d 02 23 2b 2a 7c 21 50 |pathdraw|..#+*|!P|
|00003e40| 52 4f 43 64 72 61 77 5f | 70 61 74 68 64 72 61 77 |ROCdraw_|pathdraw|
|00003e50| 28 20 70 6f 69 6e 74 65 | 72 20 2c 20 78 20 2c 20 |( pointe|r , x , |
|00003e60| 79 20 29 0d 02 24 07 2a | 7c 21 0d 02 25 4a 2a 7c |y )..$.*||!..%J*||
|00003e70| 21 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 61 64 |!This ro|utine ad|
|00003e80| 64 73 20 61 20 6c 69 6e | 65 20 73 65 67 6d 65 6e |ds a lin|e segmen|
|00003e90| 74 20 74 6f 20 61 20 70 | 61 74 68 2e 20 54 68 65 |t to a p|ath. The|
|00003ea0| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 20 74 6f 20 | coordin|ates to |
|00003eb0| 64 72 61 77 0d 02 26 26 | 2a 7c 21 74 6f 20 61 72 |draw..&&|*|!to ar|
|00003ec0| 65 20 73 70 65 63 69 66 | 69 65 64 20 69 6e 20 64 |e specif|ied in d|
|00003ed0| 72 61 77 20 75 6e 69 74 | 73 2e 0d 02 27 20 dd 20 |raw unit|s...' . |
|00003ee0| f2 64 72 61 77 5f 70 61 | 74 68 64 72 61 77 28 70 |.draw_pa|thdraw(p|
|00003ef0| 74 72 25 2c 78 25 2c 79 | 25 29 0d 02 28 12 f2 5f |tr%,x%,y|%)..(.._|
|00003f00| 64 72 61 77 5f 70 75 74 | 77 28 38 29 0d 02 29 17 |draw_put|w(8)..).|
|00003f10| f2 5f 64 72 61 77 5f 70 | 75 74 78 79 28 78 25 2c |._draw_p|utxy(x%,|
|00003f20| 79 25 29 0d 02 2a 05 e1 | 0d 02 2b 04 0d 02 2c 1c |y%)..*..|..+...,.|
|00003f30| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 64 72 61 77 5f |*|stop P|ROCdraw_|
|00003f40| 70 61 74 68 64 72 61 77 | 0d 02 2d 1c 2a 7c 73 74 |pathdraw|..-.*|st|
|00003f50| 61 72 74 20 50 52 4f 43 | 64 72 61 77 5f 65 6e 64 |art PROC|draw_end|
|00003f60| 70 61 74 68 0d 02 2e 22 | 2a 7c 21 50 52 4f 43 64 |path..."|*|!PROCd|
|00003f70| 72 61 77 5f 65 6e 64 70 | 61 74 68 28 20 70 6f 69 |raw_endp|ath( poi|
|00003f80| 6e 74 65 72 20 29 0d 02 | 2f 07 2a 7c 21 0d 02 30 |nter )..|/.*|!..0|
|00003f90| 2d 2a 7c 21 54 68 69 73 | 20 70 72 6f 63 65 64 75 |-*|!This| procedu|
|00003fa0| 72 65 20 66 69 6e 69 73 | 68 65 73 20 61 20 70 61 |re finis|hes a pa|
|00003fb0| 74 68 20 6f 62 6a 65 63 | 74 2e 0d 02 31 19 dd 20 |th objec|t...1.. |
|00003fc0| f2 64 72 61 77 5f 65 6e | 64 70 61 74 68 28 70 74 |.draw_en|dpath(pt|
|00003fd0| 72 25 29 0d 02 32 12 f2 | 5f 64 72 61 77 5f 70 75 |r%)..2..|_draw_pu|
|00003fe0| 74 77 28 30 29 0d 02 33 | 16 21 28 70 74 72 25 21 |tw(0)..3|.!(ptr%!|
|00003ff0| 31 32 2b 34 29 3d 21 70 | 74 72 25 0d 02 34 05 e1 |12+4)=!p|tr%..4..|
|00004000| 0d 02 35 04 0d 02 36 1b | 2a 7c 73 74 6f 70 20 50 |..5...6.|*|stop P|
|00004010| 52 4f 43 64 72 61 77 5f | 65 6e 64 70 61 74 68 0d |ROCdraw_|endpath.|
|00004020| 02 37 1f 2a 7c 73 74 61 | 72 74 20 46 4e 64 72 61 |.7.*|sta|rt FNdra|
|00004030| 77 5f 63 72 65 61 74 65 | 73 70 72 69 74 65 0d 02 |w_create|sprite..|
|00004040| 38 4b 2a 7c 21 46 4e 64 | 72 61 77 5f 63 72 65 61 |8K*|!FNd|raw_crea|
|00004050| 74 65 73 70 72 69 74 65 | 28 20 73 70 72 69 74 65 |tesprite|( sprite|
|00004060| 5f 61 72 65 61 20 2c 20 | 73 70 72 69 74 65 5f 6e |_area , |sprite_n|
|00004070| 61 6d 65 20 2c 20 78 31 | 20 2c 20 79 31 20 2c 20 |ame , x1| , y1 , |
|00004080| 78 32 20 2c 20 79 32 20 | 29 0d 02 39 07 2a 7c 21 |x2 , y2 |)..9.*|!|
|00004090| 0d 02 3a 44 2a 7c 21 54 | 68 69 73 20 72 6f 75 74 |..:D*|!T|his rout|
|000040a0| 69 6e 65 20 63 72 65 61 | 74 65 73 20 61 20 73 70 |ine crea|tes a sp|
|000040b0| 72 69 74 65 20 6f 62 6a | 65 63 74 2e 20 54 68 65 |rite obj|ect. The|
|000040c0| 20 73 70 65 63 69 66 69 | 65 64 20 73 70 72 69 74 | specifi|ed sprit|
|000040d0| 65 20 69 73 0d 02 3b 48 | 2a 7c 21 73 63 61 6c 65 |e is..;H|*|!scale|
|000040e0| 64 20 74 6f 20 66 69 6c | 6c 20 74 68 65 20 73 70 |d to fil|l the sp|
|000040f0| 65 63 69 66 69 65 64 20 | 62 6f 75 6e 64 69 6e 67 |ecified |bounding|
|00004100| 20 62 6f 78 2e 20 41 6c | 6c 20 63 6f 6f 72 64 69 | box. Al|l coordi|
|00004110| 6e 61 74 65 73 20 61 72 | 65 20 69 6e 0d 02 3c 12 |nates ar|e in..<.|
|00004120| 2a 7c 21 64 72 61 77 20 | 75 6e 69 74 73 2e 0d 02 |*|!draw |units...|
|00004130| 3d 37 dd 20 a4 64 72 61 | 77 5f 63 72 65 61 74 65 |=7. .dra|w_create|
|00004140| 73 70 72 69 74 65 28 61 | 72 65 61 25 2c 73 70 72 |sprite(a|rea%,spr|
|00004150| 69 74 65 24 2c 78 31 25 | 2c 79 31 25 2c 78 32 25 |ite$,x1%|,y1%,x2%|
|00004160| 2c 79 32 25 29 0d 02 3e | 13 ea 20 73 70 25 2c 49 |,y2%)..>|.. sp%,I|
|00004170| 2c 70 74 72 25 2c 70 25 | 0d 02 3f 29 73 70 25 3d |,ptr%,p%|..?)sp%=|
|00004180| a4 73 70 72 69 74 65 5f | 67 65 74 70 6f 69 6e 74 |.sprite_|getpoint|
|00004190| 65 72 28 61 72 65 61 25 | 2c 73 70 72 69 74 65 24 |er(area%|,sprite$|
|000041a0| 29 0d 02 40 14 70 74 72 | 25 3d a4 6d 61 6c 6c 6f |)..@.ptr|%=.mallo|
|000041b0| 63 28 31 36 29 0d 02 41 | 11 21 70 74 72 25 3d 32 |c(16)..A|.!ptr%=2|
|000041c0| 30 2b 21 73 70 25 0d 02 | 42 0c 70 74 72 25 21 34 |0+!sp%..|B.ptr%!4|
|000041d0| 3d 30 0d 02 43 0c 70 74 | 72 25 21 38 3d 30 0d 02 |=0..C.pt|r%!8=0..|
|000041e0| 44 1c 70 74 72 25 21 31 | 32 3d a4 6d 61 6c 6c 6f |D.ptr%!1|2=.mallo|
|000041f0| 63 28 32 30 2b 21 73 70 | 25 29 0d 02 45 0c 70 25 |c(20+!sp|%)..E.p%|
|00004200| 3d 21 70 74 72 25 0d 02 | 46 09 21 70 25 3d 35 0d |=!ptr%..|F.!p%=5.|
|00004210| 02 47 10 70 25 21 34 3d | 32 30 2b 21 73 70 25 0d |.G.p%!4=|20+!sp%.|
|00004220| 02 48 0c 70 25 21 38 3d | 78 31 25 0d 02 49 0d 70 |.H.p%!8=|x1%..I.p|
|00004230| 25 21 31 32 3d 79 31 25 | 0d 02 4a 0d 70 25 21 31 |%!12=y1%|..J.p%!1|
|00004240| 36 3d 78 32 25 0d 02 4b | 0d 70 25 21 32 30 3d 79 |6=x2%..K|.p%!20=y|
|00004250| 32 25 0d 02 4c 18 e3 20 | 49 3d 30 20 b8 20 28 21 |2%..L.. |I=0 . (!|
|00004260| 73 70 25 29 2d 34 20 88 | 20 34 0d 02 4d 19 20 20 |sp%)-4 .| 4..M. |
|00004270| 21 28 70 25 2b 32 34 2b | 49 29 3d 21 28 73 70 25 |!(p%+24+|I)=!(sp%|
|00004280| 2b 49 29 0d 02 4e 07 ed | 20 49 0d 02 4f 09 3d 70 |+I)..N..| I..O.=p|
|00004290| 74 72 25 0d 02 50 04 0d | 02 51 1e 2a 7c 73 74 6f |tr%..P..|.Q.*|sto|
|000042a0| 70 20 46 4e 64 72 61 77 | 5f 63 72 65 61 74 65 73 |p FNdraw|_creates|
|000042b0| 70 72 69 74 65 0d 02 52 | 1e 2a 7c 73 74 61 72 74 |prite..R|.*|start|
|000042c0| 20 46 4e 64 72 61 77 5f | 63 72 65 61 74 65 67 72 | FNdraw_|creategr|
|000042d0| 6f 75 70 0d 02 53 2d 2a | 7c 21 50 52 4f 43 64 72 |oup..S-*||!PROCdr|
|000042e0| 61 77 5f 63 72 65 61 74 | 65 67 72 6f 75 70 28 20 |aw_creat|egroup( |
|000042f0| 67 72 6f 75 70 5f 74 61 | 67 5f 6e 61 6d 65 20 29 |group_ta|g_name )|
|00004300| 0d 02 54 07 2a 7c 21 0d | 02 55 46 2a 7c 21 54 68 |..T.*|!.|.UF*|!Th|
|00004310| 69 73 20 70 72 6f 63 65 | 64 75 72 65 20 63 72 65 |is proce|dure cre|
|00004320| 61 74 65 73 20 61 20 67 | 72 6f 75 70 20 6f 62 6a |ates a g|roup obj|
|00004330| 65 63 74 2e 20 54 68 65 | 20 67 72 6f 75 70 20 77 |ect. The| group w|
|00004340| 69 6c 6c 20 62 65 20 6d | 61 72 6b 65 64 0d 02 56 |ill be m|arked..V|
|00004350| 47 2a 7c 21 77 69 74 68 | 20 74 68 65 20 73 70 65 |G*|!with| the spe|
|00004360| 63 69 66 69 65 64 20 74 | 61 67 20 6e 61 6d 65 2c |cified t|ag name,|
|00004370| 20 77 68 69 63 68 20 73 | 68 6f 75 6c 64 20 62 65 | which s|hould be|
|00004380| 20 75 70 20 74 6f 20 31 | 32 20 63 68 61 72 61 63 | up to 1|2 charac|
|00004390| 74 65 72 73 0d 02 57 38 | 2a 7c 21 69 6e 20 6c 65 |ters..W8|*|!in le|
|000043a0| 6e 67 74 68 2e 20 47 72 | 6f 75 70 73 20 6d 61 79 |ngth. Gr|oups may|
|000043b0| 20 62 65 20 6e 65 73 74 | 65 64 20 77 69 74 68 20 | be nest|ed with |
|000043c0| 6e 6f 20 70 72 6f 62 6c | 65 6d 73 2e 0d 02 58 1d |no probl|ems...X.|
|000043d0| dd 20 a4 64 72 61 77 5f | 63 72 65 61 74 65 67 72 |. .draw_|creategr|
|000043e0| 6f 75 70 28 74 61 67 24 | 29 0d 02 59 0f ea 20 70 |oup(tag$|)..Y.. p|
|000043f0| 74 72 25 2c 70 25 2c 49 | 0d 02 5a 14 70 74 72 25 |tr%,p%,I|..Z.ptr%|
|00004400| 3d a4 6d 61 6c 6c 6f 63 | 28 31 36 29 0d 02 5b 0c |=.malloc|(16)..[.|
|00004410| 21 70 74 72 25 3d 33 36 | 0d 02 5c 0c 70 74 72 25 |!ptr%=36|..\.ptr%|
|00004420| 21 34 3d 30 0d 02 5d 0c | 70 74 72 25 21 38 3d 30 |!4=0..].|ptr%!8=0|
|00004430| 0d 02 5e 17 70 74 72 25 | 21 31 32 3d a4 6d 61 6c |..^.ptr%|!12=.mal|
|00004440| 6c 6f 63 28 33 36 29 0d | 02 5f 0e 70 25 3d 70 74 |loc(36).|._.p%=pt|
|00004450| 72 25 21 31 32 0d 02 60 | 09 21 70 25 3d 36 0d 02 |r%!12..`|.!p%=6..|
|00004460| 61 0b 70 25 21 34 3d 33 | 36 0d 02 62 16 70 25 21 |a.p%!4=3|6..b.p%!|
|00004470| 38 3d 5f 64 72 61 77 5f | 62 69 67 6e 75 6d 25 0d |8=_draw_|bignum%.|
|00004480| 02 63 17 70 25 21 31 32 | 3d 5f 64 72 61 77 5f 62 |.c.p%!12|=_draw_b|
|00004490| 69 67 6e 75 6d 25 0d 02 | 64 18 70 25 21 31 36 3d |ignum%..|d.p%!16=|
|000044a0| 2d 5f 64 72 61 77 5f 62 | 69 67 6e 75 6d 25 0d 02 |-_draw_b|ignum%..|
|000044b0| 65 18 70 25 21 32 30 3d | 2d 5f 64 72 61 77 5f 62 |e.p%!20=|-_draw_b|
|000044c0| 69 67 6e 75 6d 25 0d 02 | 66 12 74 61 67 24 3d c0 |ignum%..|f.tag$=.|
|000044d0| 74 61 67 24 2c 31 32 29 | 0d 02 67 18 74 61 67 24 |tag$,12)|..g.tag$|
|000044e0| 2b 3d c4 31 32 2d a9 74 | 61 67 24 2c 22 20 22 29 |+=.12-.t|ag$," ")|
|000044f0| 0d 02 68 0e e3 20 49 3d | 31 20 b8 20 31 32 0d 02 |..h.. I=|1 . 12..|
|00004500| 69 1c 20 20 3f 28 70 25 | 2b 32 33 2b 49 29 3d 97 |i. ?(p%|+23+I)=.|
|00004510| c1 74 61 67 24 2c 49 2c | 31 29 0d 02 6a 07 ed 20 |.tag$,I,|1)..j.. |
|00004520| 49 0d 02 6b 09 3d 70 74 | 72 25 0d 02 6c 04 0d 02 |I..k.=pt|r%..l...|
|00004530| 6d 1d 2a 7c 73 74 6f 70 | 20 46 4e 64 72 61 77 5f |m.*|stop| FNdraw_|
|00004540| 63 72 65 61 74 65 67 72 | 6f 75 70 0d 02 6e 1f 2a |creategr|oup..n.*|
|00004550| 7c 73 74 61 72 74 20 50 | 52 4f 43 64 72 61 77 5f ||start P|ROCdraw_|
|00004560| 61 64 64 74 6f 67 72 6f | 75 70 0d 02 6f 2c 2a 7c |addtogro|up..o,*||
|00004570| 21 50 52 4f 43 64 72 61 | 77 5f 61 64 64 74 6f 67 |!PROCdra|w_addtog|
|00004580| 72 6f 75 70 28 20 67 72 | 6f 75 70 20 2c 20 6f 62 |roup( gr|oup , ob|
|00004590| 6a 65 63 74 20 29 0d 02 | 70 07 2a 7c 21 0d 02 71 |ject )..|p.*|!..q|
|000045a0| 4a 2a 7c 21 41 64 64 73 | 20 61 6e 20 6f 62 6a 65 |J*|!Adds| an obje|
|000045b0| 63 74 20 74 6f 20 61 20 | 67 72 6f 75 70 2c 20 61 |ct to a |group, a|
|000045c0| 6e 64 20 66 72 65 65 73 | 20 74 68 65 20 73 70 61 |nd frees| the spa|
|000045d0| 63 65 20 75 73 65 64 20 | 62 79 20 74 68 61 74 20 |ce used |by that |
|000045e0| 6f 62 6a 65 63 74 2e 0d | 02 72 21 dd 20 f2 64 72 |object..|.r!. .dr|
|000045f0| 61 77 5f 61 64 64 74 6f | 67 72 6f 75 70 28 70 74 |aw_addto|group(pt|
|00004600| 72 25 2c 6f 62 6a 25 29 | 0d 02 73 0d ea 20 49 2c |r%,obj%)|..s.. I,|
|00004610| 70 25 2c 6f 25 0d 02 74 | 2f f2 72 65 61 6c 6c 6f |p%,o%..t|/.reallo|
|00004620| 63 28 70 74 72 25 21 31 | 32 2c 21 28 70 74 72 25 |c(ptr%!1|2,!(ptr%|
|00004630| 21 31 32 2b 34 29 2b 21 | 28 6f 62 6a 25 21 31 32 |!12+4)+!|(obj%!12|
|00004640| 2b 34 29 29 0d 02 75 19 | 70 25 3d 70 74 72 25 21 |+4))..u.|p%=ptr%!|
|00004650| 31 32 3a 6f 25 3d 6f 62 | 6a 25 21 31 32 0d 02 76 |12:o%=ob|j%!12..v|
|00004660| 1e f2 6d 65 6d 5f 63 6f | 70 79 28 6f 25 21 34 2c |..mem_co|py(o%!4,|
|00004670| 6f 25 2c 70 25 2b 70 25 | 21 34 29 0d 02 77 0e 70 |o%,p%+p%|!4)..w.p|
|00004680| 25 21 34 2b 3d 6f 25 21 | 34 0d 02 78 0f 21 70 74 |%!4+=o%!|4..x.!pt|
|00004690| 72 25 2b 3d 6f 25 21 34 | 0d 02 79 19 e7 20 6f 25 |r%+=o%!4|..y.. o%|
|000046a0| 21 38 3c 70 25 21 38 20 | 70 25 21 38 3d 6f 25 21 |!8<p%!8 |p%!8=o%!|
|000046b0| 38 0d 02 7a 1d e7 20 6f | 25 21 31 32 3c 70 25 21 |8..z.. o|%!12<p%!|
|000046c0| 31 32 20 70 25 21 31 32 | 3d 6f 25 21 31 32 0d 02 |12 p%!12|=o%!12..|
|000046d0| 7b 1d e7 20 6f 25 21 31 | 36 3e 70 25 21 31 36 20 |{.. o%!1|6>p%!16 |
|000046e0| 70 25 21 31 36 3d 6f 25 | 21 31 36 0d 02 7c 1d e7 |p%!16=o%|!16..|..|
|000046f0| 20 6f 25 21 32 30 3e 70 | 25 21 32 30 20 70 25 21 | o%!20>p|%!20 p%!|
|00004700| 32 30 3d 6f 25 21 32 30 | 0d 02 7d 0d f2 66 72 65 |20=o%!20|..}..fre|
|00004710| 65 28 6f 25 29 0d 02 7e | 0f f2 66 72 65 65 28 6f |e(o%)..~|..free(o|
|00004720| 62 6a 25 29 0d 02 7f 05 | e1 0d 02 80 04 0d 02 81 |bj%)....|........|
|00004730| 1e 2a 7c 73 74 6f 70 20 | 50 52 4f 43 64 72 61 77 |.*|stop |PROCdraw|
|00004740| 5f 61 64 64 74 6f 67 72 | 6f 75 70 0d 02 82 20 2a |_addtogr|oup... *|
|00004750| 7c 73 74 61 72 74 20 46 | 4e 64 72 61 77 5f 63 72 ||start F|Ndraw_cr|
|00004760| 65 61 74 65 6f 70 74 69 | 6f 6e 73 0d 02 83 3d 2a |eateopti|ons...=*|
|00004770| 7c 21 46 4e 64 72 61 77 | 5f 63 72 65 61 74 65 6f ||!FNdraw|_createo|
|00004780| 70 74 69 6f 6e 73 28 20 | 70 61 70 65 72 5f 73 69 |ptions( |paper_si|
|00004790| 7a 65 20 2c 20 70 61 70 | 65 72 5f 6f 72 69 65 6e |ze , pap|er_orien|
|000047a0| 74 61 74 69 6f 6e 20 29 | 0d 02 84 07 2a 7c 21 0d |tation )|....*|!.|
|000047b0| 02 85 50 2a 7c 21 54 68 | 69 73 20 72 6f 75 74 69 |..P*|!Th|is routi|
|000047c0| 6e 65 20 63 72 65 61 74 | 65 73 20 61 6e 20 6f 70 |ne creat|es an op|
|000047d0| 74 69 6f 6e 73 20 6f 62 | 6a 65 63 74 20 77 68 69 |tions ob|ject whi|
|000047e0| 63 68 20 69 73 20 75 6e | 64 65 72 73 74 6f 6f 64 |ch is un|derstood|
|000047f0| 20 62 79 20 74 68 65 20 | 76 65 72 73 69 6f 6e 0d | by the |version.|
|00004800| 02 86 48 2a 7c 21 6f 66 | 20 21 44 72 61 77 20 73 |..H*|!of| !Draw s|
|00004810| 75 70 70 6c 69 65 64 20 | 77 69 74 68 20 52 69 73 |upplied |with Ris|
|00004820| 63 4f 53 20 33 2e 20 54 | 68 65 20 70 61 70 65 72 |cOS 3. T|he paper|
|00004830| 20 73 69 7a 65 20 73 68 | 6f 75 6c 64 20 62 65 20 | size sh|ould be |
|00004840| 6f 6e 65 20 6f 66 3a 0d | 02 87 07 2a 7c 21 0d 02 |one of:.|...*|!..|
|00004850| 88 3f 2a 7c 21 20 20 64 | 72 61 77 5f 41 30 2c 20 |.?*|! d|raw_A0, |
|00004860| 64 72 61 77 5f 41 31 2c | 20 64 72 61 77 5f 41 32 |draw_A1,| draw_A2|
|00004870| 2c 20 64 72 61 77 5f 41 | 33 2c 20 64 72 61 77 5f |, draw_A|3, draw_|
|00004880| 41 34 20 6f 72 20 64 72 | 61 77 5f 41 35 0d 02 89 |A4 or dr|aw_A5...|
|00004890| 07 2a 7c 21 0d 02 8a 2a | 2a 7c 21 61 6e 64 20 74 |.*|!...*|*|!and t|
|000048a0| 68 65 20 6f 72 69 65 6e | 74 61 74 69 6f 6e 20 69 |he orien|tation i|
|000048b0| 73 20 63 68 6f 73 65 6e | 20 66 72 6f 6d 3a 0d 02 |s chosen| from:..|
|000048c0| 8b 07 2a 7c 21 0d 02 8c | 29 2a 7c 21 20 20 64 72 |..*|!...|)*|! dr|
|000048d0| 61 77 5f 50 4f 52 54 52 | 41 49 54 20 61 6e 64 20 |aw_PORTR|AIT and |
|000048e0| 64 72 61 77 5f 4c 41 4e | 44 53 43 41 50 45 0d 02 |draw_LAN|DSCAPE..|
|000048f0| 8d 2e dd 20 a4 64 72 61 | 77 5f 63 72 65 61 74 65 |... .dra|w_create|
|00004900| 6f 70 74 69 6f 6e 73 28 | 70 61 70 65 72 25 2c 6f |options(|paper%,o|
|00004910| 72 69 65 6e 74 61 74 69 | 6f 6e 25 29 0d 02 8e 0d |rientati|on%)....|
|00004920| ea 20 70 74 72 25 2c 70 | 25 0d 02 8f 14 70 74 72 |. ptr%,p|%....ptr|
|00004930| 25 3d a4 6d 61 6c 6c 6f | 63 28 31 36 29 0d 02 90 |%=.mallo|c(16)...|
|00004940| 0c 21 70 74 72 25 3d 38 | 38 0d 02 91 0c 70 74 72 |.!ptr%=8|8....ptr|
|00004950| 25 21 34 3d 30 0d 02 92 | 0c 70 74 72 25 21 38 3d |%!4=0...|.ptr%!8=|
|00004960| 30 0d 02 93 17 70 74 72 | 25 21 31 32 3d a4 6d 61 |0....ptr|%!12=.ma|
|00004970| 6c 6c 6f 63 28 38 38 29 | 0d 02 94 0e 70 25 3d 70 |lloc(88)|....p%=p|
|00004980| 74 72 25 21 31 32 0d 02 | 95 0a 21 70 25 3d 31 31 |tr%!12..|..!p%=11|
|00004990| 0d 02 96 0b 70 25 21 34 | 3d 38 38 0d 02 97 12 70 |....p%!4|=88....p|
|000049a0| 25 21 38 3d 30 3a 70 25 | 21 31 32 3d 30 0d 02 98 |%!8=0:p%|!12=0...|
|000049b0| 13 70 25 21 31 36 3d 30 | 3a 70 25 21 32 30 3d 30 |.p%!16=0|:p%!20=0|
|000049c0| 0d 02 99 19 70 25 21 32 | 34 3d 28 70 61 70 65 72 |....p%!2|4=(paper|
|000049d0| 25 2b 31 29 2a 26 31 30 | 30 0d 02 9a 1b 70 25 21 |%+1)*&10|0....p%!|
|000049e0| 32 38 3d 26 31 30 30 2b | 6f 72 69 65 6e 74 61 74 |28=&100+|orientat|
|000049f0| 69 6f 6e 25 0d 02 9b 1b | 70 25 21 33 32 3d 26 33 |ion%....|p%!32=&3|
|00004a00| 46 46 30 30 30 30 30 3a | 70 25 21 33 36 3d 30 0d |FF00000:|p%!36=0.|
|00004a10| 02 9c 0b 70 25 21 34 30 | 3d 32 0d 02 9d 0b 70 25 |...p%!40|=2....p%|
|00004a20| 21 34 34 3d 30 0d 02 9e | 0b 70 25 21 34 38 3d 30 |!44=0...|.p%!48=0|
|00004a30| 0d 02 9f 0b 70 25 21 35 | 32 3d 30 0d 02 a0 0b 70 |....p%!5|2=0....p|
|00004a40| 25 21 35 36 3d 30 0d 02 | a1 0b 70 25 21 36 30 3d |%!56=0..|..p%!60=|
|00004a50| 31 0d 02 a2 0b 70 25 21 | 36 34 3d 31 0d 02 a3 0b |1....p%!|64=1....|
|00004a60| 70 25 21 36 38 3d 31 0d | 02 a4 0b 70 25 21 37 32 |p%!68=1.|...p%!72|
|00004a70| 3d 30 0d 02 a5 0b 70 25 | 21 37 36 3d 31 0d 02 a6 |=0....p%|!76=1...|
|00004a80| 0b 70 25 21 38 30 3d 32 | 0d 02 a7 0b 70 25 21 38 |.p%!80=2|....p%!8|
|00004a90| 34 3d 30 0d 02 a8 09 3d | 70 74 72 25 0d 02 a9 04 |4=0....=|ptr%....|
|00004aa0| 0d 02 aa 1f 2a 7c 73 74 | 6f 70 20 46 4e 64 72 61 |....*|st|op FNdra|
|00004ab0| 77 5f 63 72 65 61 74 65 | 6f 70 74 69 6f 6e 73 0d |w_create|options.|
|00004ac0| 02 ab 22 2a 7c 73 74 61 | 72 74 20 46 4e 64 72 61 |.."*|sta|rt FNdra|
|00004ad0| 77 5f 63 72 65 61 74 65 | 72 65 63 74 61 6e 67 6c |w_create|rectangl|
|00004ae0| 65 0d 02 ac 32 2a 7c 21 | 46 4e 64 72 61 77 5f 63 |e...2*|!|FNdraw_c|
|00004af0| 72 65 61 74 65 72 65 63 | 74 61 6e 67 6c 65 28 20 |reaterec|tangle( |
|00004b00| 78 31 20 2c 20 79 31 20 | 2c 20 78 32 20 2c 20 79 |x1 , y1 |, x2 , y|
|00004b10| 32 20 29 0d 02 ad 07 2a | 7c 21 0d 02 ae 31 2a 7c |2 )....*||!...1*||
|00004b20| 21 54 68 69 73 20 70 72 | 6f 63 65 64 75 72 65 20 |!This pr|ocedure |
|00004b30| 63 72 65 61 74 65 73 20 | 61 20 72 65 63 74 61 6e |creates |a rectan|
|00004b40| 67 75 6c 61 72 20 70 61 | 74 68 2e 0d 02 af 2c dd |gular pa|th....,.|
|00004b50| 20 a4 64 72 61 77 5f 63 | 72 65 61 74 65 72 65 63 | .draw_c|reaterec|
|00004b60| 74 61 6e 67 6c 65 28 78 | 31 25 2c 79 31 25 2c 78 |tangle(x|1%,y1%,x|
|00004b70| 32 25 2c 79 32 25 29 0d | 02 b0 0a ea 20 70 74 72 |2%,y2%).|.... ptr|
|00004b80| 25 0d 02 b1 18 70 74 72 | 25 3d a4 64 72 61 77 5f |%....ptr|%=.draw_|
|00004b90| 73 74 61 72 74 70 61 74 | 68 0d 02 b2 20 f2 64 72 |startpat|h... .dr|
|00004ba0| 61 77 5f 70 61 74 68 6d | 6f 76 65 28 70 74 72 25 |aw_pathm|ove(ptr%|
|00004bb0| 2c 78 31 25 2c 79 31 25 | 29 0d 02 b3 20 f2 64 72 |,x1%,y1%|)... .dr|
|00004bc0| 61 77 5f 70 61 74 68 64 | 72 61 77 28 70 74 72 25 |aw_pathd|raw(ptr%|
|00004bd0| 2c 78 31 25 2c 79 32 25 | 29 0d 02 b4 20 f2 64 72 |,x1%,y2%|)... .dr|
|00004be0| 61 77 5f 70 61 74 68 64 | 72 61 77 28 70 74 72 25 |aw_pathd|raw(ptr%|
|00004bf0| 2c 78 32 25 2c 79 32 25 | 29 0d 02 b5 20 f2 64 72 |,x2%,y2%|)... .dr|
|00004c00| 61 77 5f 70 61 74 68 64 | 72 61 77 28 70 74 72 25 |aw_pathd|raw(ptr%|
|00004c10| 2c 78 32 25 2c 79 31 25 | 29 0d 02 b6 24 f2 64 72 |,x2%,y1%|)...$.dr|
|00004c20| 61 77 5f 70 61 74 68 63 | 6c 6f 73 65 28 70 74 72 |aw_pathc|lose(ptr|
|00004c30| 25 2c 64 72 61 77 5f 4e | 4f 47 41 50 29 0d 02 b7 |%,draw_N|OGAP)...|
|00004c40| 17 f2 64 72 61 77 5f 65 | 6e 64 70 61 74 68 28 70 |..draw_e|ndpath(p|
|00004c50| 74 72 25 29 0d 02 b8 09 | 3d 70 74 72 25 0d 02 b9 |tr%)....|=ptr%...|
|00004c60| 04 0d 02 ba 21 2a 7c 73 | 74 6f 70 20 46 4e 64 72 |....!*|s|top FNdr|
|00004c70| 61 77 5f 63 72 65 61 74 | 65 72 65 63 74 61 6e 67 |aw_creat|erectang|
|00004c80| 6c 65 0d 02 bb 20 2a 7c | 73 74 61 72 74 20 46 4e |le... *||start FN|
|00004c90| 64 72 61 77 5f 63 72 65 | 61 74 65 65 6c 6c 69 70 |draw_cre|ateellip|
|00004ca0| 73 65 0d 02 bc 30 2a 7c | 21 46 4e 64 72 61 77 5f |se...0*||!FNdraw_|
|00004cb0| 63 72 65 61 74 65 65 6c | 6c 69 70 73 65 28 20 78 |createel|lipse( x|
|00004cc0| 31 20 2c 20 79 31 20 2c | 20 78 32 20 2c 20 79 32 |1 , y1 ,| x2 , y2|
|00004cd0| 20 29 0d 02 bd 07 2a 7c | 21 0d 02 be 31 2a 7c 21 | )....*||!...1*|!|
|00004ce0| 54 68 69 73 20 70 72 6f | 63 65 64 75 72 65 20 63 |This pro|cedure c|
|00004cf0| 72 65 61 74 65 73 20 61 | 6e 20 65 6c 6c 69 70 74 |reates a|n ellipt|
|00004d00| 69 63 61 6c 20 70 61 74 | 68 2e 0d 02 bf 2a dd 20 |ical pat|h....*. |
|00004d10| a4 64 72 61 77 5f 63 72 | 65 61 74 65 65 6c 6c 69 |.draw_cr|eateelli|
|00004d20| 70 73 65 28 78 31 25 2c | 79 31 25 2c 78 32 25 2c |pse(x1%,|y1%,x2%,|
|00004d30| 79 32 25 29 0d 02 c0 1d | ea 20 45 46 2c 78 72 25 |y2%)....|. EF,xr%|
|00004d40| 2c 79 72 25 2c 63 78 25 | 2c 63 79 25 2c 70 74 72 |,yr%,cx%|,cy%,ptr|
|00004d50| 25 0d 02 c1 12 45 46 3d | 30 2e 35 35 32 32 35 36 |%....EF=|0.552256|
|00004d60| 39 34 34 0d 02 c2 23 78 | 72 25 3d 28 78 32 25 2d |944...#x|r%=(x2%-|
|00004d70| 78 31 25 29 2f 32 3a 79 | 72 25 3d 28 79 32 25 2d |x1%)/2:y|r%=(y2%-|
|00004d80| 79 31 25 29 2f 32 0d 02 | c3 1b 63 78 25 3d 78 31 |y1%)/2..|..cx%=x1|
|00004d90| 25 2b 78 72 25 3a 63 79 | 25 3d 79 31 25 2b 79 72 |%+xr%:cy|%=y1%+yr|
|00004da0| 25 0d 02 c4 18 70 74 72 | 25 3d a4 64 72 61 77 5f |%....ptr|%=.draw_|
|00004db0| 73 74 61 72 74 70 61 74 | 68 0d 02 c5 24 f2 64 72 |startpat|h...$.dr|
|00004dc0| 61 77 5f 70 61 74 68 6d | 6f 76 65 28 70 74 72 25 |aw_pathm|ove(ptr%|
|00004dd0| 2c 63 78 25 2c 63 79 25 | 2d 79 72 25 29 0d 02 c6 |,cx%,cy%|-yr%)...|
|00004de0| 4c f2 64 72 61 77 5f 70 | 61 74 68 62 65 7a 69 65 |L.draw_p|athbezie|
|00004df0| 72 28 70 74 72 25 2c 63 | 78 25 2b 78 72 25 2c 63 |r(ptr%,c|x%+xr%,c|
|00004e00| 79 25 2c 63 78 25 2b 78 | 72 25 2a 45 46 2c 63 79 |y%,cx%+x|r%*EF,cy|
|00004e10| 25 2d 79 72 25 2c 63 78 | 25 2b 78 72 25 2c 63 79 |%-yr%,cx|%+xr%,cy|
|00004e20| 25 2d 79 72 25 2a 45 46 | 29 0d 02 c7 4c f2 64 72 |%-yr%*EF|)...L.dr|
|00004e30| 61 77 5f 70 61 74 68 62 | 65 7a 69 65 72 28 70 74 |aw_pathb|ezier(pt|
|00004e40| 72 25 2c 63 78 25 2c 63 | 79 25 2b 79 72 25 2c 63 |r%,cx%,c|y%+yr%,c|
|00004e50| 78 25 2b 78 72 25 2c 63 | 79 25 2b 79 72 25 2a 45 |x%+xr%,c|y%+yr%*E|
|00004e60| 46 2c 63 78 25 2b 78 72 | 25 2a 45 46 2c 63 79 25 |F,cx%+xr|%*EF,cy%|
|00004e70| 2b 79 72 25 29 0d 02 c8 | 4c f2 64 72 61 77 5f 70 |+yr%)...|L.draw_p|
|00004e80| 61 74 68 62 65 7a 69 65 | 72 28 70 74 72 25 2c 63 |athbezie|r(ptr%,c|
|00004e90| 78 25 2d 78 72 25 2c 63 | 79 25 2c 63 78 25 2d 78 |x%-xr%,c|y%,cx%-x|
|00004ea0| 72 25 2a 45 46 2c 63 79 | 25 2b 79 72 25 2c 63 78 |r%*EF,cy|%+yr%,cx|
|00004eb0| 25 2d 78 72 25 2c 63 79 | 25 2b 79 72 25 2a 45 46 |%-xr%,cy|%+yr%*EF|
|00004ec0| 29 0d 02 c9 4c f2 64 72 | 61 77 5f 70 61 74 68 62 |)...L.dr|aw_pathb|
|00004ed0| 65 7a 69 65 72 28 70 74 | 72 25 2c 63 78 25 2c 63 |ezier(pt|r%,cx%,c|
|00004ee0| 79 25 2d 79 72 25 2c 63 | 78 25 2d 78 72 25 2c 63 |y%-yr%,c|x%-xr%,c|
|00004ef0| 79 25 2d 79 72 25 2a 45 | 46 2c 63 78 25 2d 78 72 |y%-yr%*E|F,cx%-xr|
|00004f00| 25 2a 45 46 2c 63 79 25 | 2d 79 72 25 29 0d 02 ca |%*EF,cy%|-yr%)...|
|00004f10| 24 f2 64 72 61 77 5f 70 | 61 74 68 63 6c 6f 73 65 |$.draw_p|athclose|
|00004f20| 28 70 74 72 25 2c 64 72 | 61 77 5f 4e 4f 47 41 50 |(ptr%,dr|aw_NOGAP|
|00004f30| 29 0d 02 cb 17 f2 64 72 | 61 77 5f 65 6e 64 70 61 |).....dr|aw_endpa|
|00004f40| 74 68 28 70 74 72 25 29 | 0d 02 cc 09 3d 70 74 72 |th(ptr%)|....=ptr|
|00004f50| 25 0d 02 cd 04 0d 02 ce | 1f 2a 7c 73 74 6f 70 20 |%.......|.*|stop |
|00004f60| 46 4e 64 72 61 77 5f 63 | 72 65 61 74 65 65 6c 6c |FNdraw_c|reateell|
|00004f70| 69 70 73 65 0d 02 cf 1f | 2a 7c 73 74 61 72 74 20 |ipse....|*|start |
|00004f80| 50 52 4f 43 64 72 61 77 | 5f 73 65 74 6c 69 6e 65 |PROCdraw|_setline|
|00004f90| 63 6f 6c 0d 02 d0 30 2a | 7c 21 50 52 4f 43 64 72 |col...0*||!PROCdr|
|00004fa0| 61 77 5f 73 65 74 6c 69 | 6e 65 63 6f 6c 28 20 72 |aw_setli|necol( r|
|00004fb0| 65 64 20 2c 20 67 72 65 | 65 6e 20 2c 20 62 6c 75 |ed , gre|en , blu|
|00004fc0| 65 20 29 0d 02 d1 07 2a | 7c 21 0d 02 d2 4a 2a 7c |e )....*||!...J*||
|00004fd0| 21 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 73 65 |!This ro|utine se|
|00004fe0| 74 73 20 74 68 65 20 66 | 6f 72 65 67 72 6f 75 6e |ts the f|oregroun|
|00004ff0| 64 20 63 6f 6c 6f 75 72 | 20 75 73 65 64 20 66 6f |d colour| used fo|
|00005000| 72 20 61 6c 6c 20 70 61 | 74 68 73 20 61 6e 64 20 |r all pa|ths and |
|00005010| 74 65 78 74 0d 02 d3 47 | 2a 7c 21 61 64 64 65 64 |text...G|*|!added|
|00005020| 20 74 6f 20 74 68 65 20 | 64 72 61 77 20 6c 69 62 | to the |draw lib|
|00005030| 72 61 72 79 2e 20 45 61 | 63 68 20 63 6f 6c 6f 75 |rary. Ea|ch colou|
|00005040| 72 20 63 6f 6d 70 6f 6e | 65 6e 74 20 69 73 20 61 |r compon|ent is a|
|00005050| 20 70 65 72 63 65 6e 74 | 61 67 65 0d 02 d4 0d 2a | percent|age....*|
|00005060| 7c 21 76 61 6c 75 65 2e | 0d 02 d5 29 dd 20 f2 64 ||!value.|...). .d|
|00005070| 72 61 77 5f 73 65 74 6c | 69 6e 65 63 6f 6c 28 72 |raw_setl|inecol(r|
|00005080| 65 64 25 2c 67 72 65 65 | 6e 25 2c 62 6c 75 65 25 |ed%,gree|n%,blue%|
|00005090| 29 0d 02 d6 34 5f 64 72 | 61 77 5f 6c 69 6e 65 63 |)...4_dr|aw_linec|
|000050a0| 6f 6c 25 20 3d 20 a4 64 | 72 61 77 5f 63 6f 6c 6f |ol% = .d|raw_colo|
|000050b0| 75 72 28 72 65 64 25 2c | 67 72 65 65 6e 25 2c 62 |ur(red%,|green%,b|
|000050c0| 6c 75 65 25 29 0d 02 d7 | 05 e1 0d 02 d8 04 0d 02 |lue%)...|........|
|000050d0| d9 1e 2a 7c 73 74 6f 70 | 20 50 52 4f 43 64 72 61 |..*|stop| PROCdra|
|000050e0| 77 5f 73 65 74 6c 69 6e | 65 63 6f 6c 0d 02 da 1f |w_setlin|ecol....|
|000050f0| 2a 7c 73 74 61 72 74 20 | 50 52 4f 43 64 72 61 77 |*|start |PROCdraw|
|00005100| 5f 73 65 74 66 69 6c 6c | 63 6f 6c 0d 02 db 30 2a |_setfill|col...0*|
|00005110| 7c 21 50 52 4f 43 64 72 | 61 77 5f 73 65 74 66 69 ||!PROCdr|aw_setfi|
|00005120| 6c 6c 63 6f 6c 28 20 72 | 65 64 20 2c 20 67 72 65 |llcol( r|ed , gre|
|00005130| 65 6e 20 2c 20 62 6c 75 | 65 20 29 0d 02 dc 07 2a |en , blu|e )....*|
|00005140| 7c 21 0d 02 dd 47 2a 7c | 21 54 68 69 73 20 72 6f ||!...G*||!This ro|
|00005150| 75 74 69 6e 65 20 73 65 | 74 73 20 74 68 65 20 66 |utine se|ts the f|
|00005160| 69 6c 6c 20 63 6f 6c 6f | 75 72 20 75 73 65 64 20 |ill colo|ur used |
|00005170| 66 6f 72 20 61 6c 6c 20 | 70 61 74 68 73 2e 20 49 |for all |paths. I|
|00005180| 74 20 69 73 20 61 6c 73 | 6f 0d 02 de 49 2a 7c 21 |t is als|o...I*|!|
|00005190| 74 68 65 20 62 61 63 6b | 67 72 6f 75 6e 64 20 63 |the back|ground c|
|000051a0| 6f 6c 6f 75 72 20 75 73 | 65 64 20 66 6f 72 20 74 |olour us|ed for t|
|000051b0| 65 78 74 20 6f 62 6a 65 | 63 74 73 2e 20 45 61 63 |ext obje|cts. Eac|
|000051c0| 68 20 63 6f 6c 6f 75 72 | 20 63 6f 6d 70 6f 6e 65 |h colour| compone|
|000051d0| 6e 74 0d 02 df 1d 2a 7c | 21 69 73 20 61 20 70 65 |nt....*||!is a pe|
|000051e0| 72 63 65 6e 74 61 67 65 | 20 76 61 6c 75 65 2e 0d |rcentage| value..|
|000051f0| 02 e0 29 dd 20 f2 64 72 | 61 77 5f 73 65 74 66 69 |..). .dr|aw_setfi|
|00005200| 6c 6c 63 6f 6c 28 72 65 | 64 25 2c 67 72 65 65 6e |llcol(re|d%,green|
|00005210| 25 2c 62 6c 75 65 25 29 | 0d 02 e1 34 5f 64 72 61 |%,blue%)|...4_dra|
|00005220| 77 5f 66 69 6c 6c 63 6f | 6c 25 20 3d 20 a4 64 72 |w_fillco|l% = .dr|
|00005230| 61 77 5f 63 6f 6c 6f 75 | 72 28 72 65 64 25 2c 67 |aw_colou|r(red%,g|
|00005240| 72 65 65 6e 25 2c 62 6c | 75 65 25 29 0d 02 e2 05 |reen%,bl|ue%)....|
|00005250| e1 0d 02 e3 04 0d 02 e4 | 1e 2a 7c 73 74 6f 70 20 |........|.*|stop |
|00005260| 50 52 4f 43 64 72 61 77 | 5f 73 65 74 66 69 6c 6c |PROCdraw|_setfill|
|00005270| 63 6f 6c 0d 02 e5 21 2a | 7c 73 74 61 72 74 20 50 |col...!*||start P|
|00005280| 52 4f 43 64 72 61 77 5f | 73 65 74 6e 6f 6c 69 6e |ROCdraw_|setnolin|
|00005290| 65 63 6f 6c 0d 02 e6 1c | 2a 7c 21 50 52 4f 43 64 |ecol....|*|!PROCd|
|000052a0| 72 61 77 5f 73 65 74 6e | 6f 6c 69 6e 65 63 6f 6c |raw_setn|olinecol|
|000052b0| 0d 02 e7 07 2a 7c 21 0d | 02 e8 4a 2a 7c 21 54 68 |....*|!.|..J*|!Th|
|000052c0| 69 73 20 72 6f 75 74 69 | 6e 65 20 73 65 74 73 20 |is routi|ne sets |
|000052d0| 74 68 65 20 66 6f 72 65 | 67 72 6f 75 6e 64 20 63 |the fore|ground c|
|000052e0| 6f 6c 6f 75 72 20 75 73 | 65 64 20 66 6f 72 20 61 |olour us|ed for a|
|000052f0| 6c 6c 20 70 61 74 68 73 | 20 61 6e 64 20 74 65 78 |ll paths| and tex|
|00005300| 74 0d 02 e9 3a 2a 7c 21 | 61 64 64 65 64 20 74 6f |t...:*|!|added to|
|00005310| 20 74 68 65 20 64 72 61 | 77 20 6c 69 62 72 61 72 | the dra|w librar|
|00005320| 79 20 74 6f 20 6e 6f 6e | 65 20 2d 20 69 65 20 74 |y to non|e - ie t|
|00005330| 72 61 6e 73 70 61 72 65 | 6e 74 2e 0d 02 ea 18 dd |ranspare|nt......|
|00005340| 20 f2 64 72 61 77 5f 73 | 65 74 6e 6f 6c 69 6e 65 | .draw_s|etnoline|
|00005350| 63 6f 6c 0d 02 eb 15 5f | 64 72 61 77 5f 6c 69 6e |col...._|draw_lin|
|00005360| 65 63 6f 6c 25 3d 2d 31 | 0d 02 ec 05 e1 0d 02 ed |ecol%=-1|........|
|00005370| 04 0d 02 ee 20 2a 7c 73 | 74 6f 70 20 50 52 4f 43 |.... *|s|top PROC|
|00005380| 64 72 61 77 5f 73 65 74 | 6e 6f 6c 69 6e 65 63 6f |draw_set|nolineco|
|00005390| 6c 0d 02 ef 21 2a 7c 73 | 74 61 72 74 20 50 52 4f |l...!*|s|tart PRO|
|000053a0| 43 64 72 61 77 5f 73 65 | 74 6e 6f 66 69 6c 6c 63 |Cdraw_se|tnofillc|
|000053b0| 6f 6c 0d 02 f0 1c 2a 7c | 21 50 52 4f 43 64 72 61 |ol....*||!PROCdra|
|000053c0| 77 5f 73 65 74 6e 6f 66 | 69 6c 6c 63 6f 6c 0d 02 |w_setnof|illcol..|
|000053d0| f1 07 2a 7c 21 0d 02 f2 | 4a 2a 7c 21 54 68 69 73 |..*|!...|J*|!This|
|000053e0| 20 72 6f 75 74 69 6e 65 | 20 73 65 74 73 20 74 68 | routine| sets th|
|000053f0| 65 20 66 69 6c 6c 20 63 | 6f 6c 6f 75 72 20 75 73 |e fill c|olour us|
|00005400| 65 64 20 66 6f 72 20 70 | 61 74 68 73 20 61 6e 64 |ed for p|aths and|
|00005410| 20 74 68 65 20 62 61 63 | 6b 67 72 6f 75 6e 64 0d | the bac|kground.|
|00005420| 02 f3 35 2a 7c 21 63 6f | 6c 6f 75 72 20 75 73 65 |..5*|!co|lour use|
|00005430| 64 20 66 6f 72 20 74 65 | 78 74 20 74 6f 20 6e 6f |d for te|xt to no|
|00005440| 6e 65 20 2d 20 69 65 20 | 74 72 61 6e 73 70 61 72 |ne - ie |transpar|
|00005450| 65 6e 74 2e 0d 02 f4 18 | dd 20 f2 64 72 61 77 5f |ent.....|. .draw_|
|00005460| 73 65 74 6e 6f 66 69 6c | 6c 63 6f 6c 0d 02 f5 15 |setnofil|lcol....|
|00005470| 5f 64 72 61 77 5f 66 69 | 6c 6c 63 6f 6c 25 3d 2d |_draw_fi|llcol%=-|
|00005480| 31 0d 02 f6 05 e1 0d 02 | f7 04 0d 02 f8 20 2a 7c |1.......|..... *||
|00005490| 73 74 6f 70 20 50 52 4f | 43 64 72 61 77 5f 73 65 |stop PRO|Cdraw_se|
|000054a0| 74 6e 6f 66 69 6c 6c 63 | 6f 6c 0d 02 f9 21 2a 7c |tnofillc|ol...!*||
|000054b0| 73 74 61 72 74 20 50 52 | 4f 43 64 72 61 77 5f 73 |start PR|OCdraw_s|
|000054c0| 65 74 6c 69 6e 65 77 69 | 64 74 68 0d 02 fa 25 2a |etlinewi|dth...%*|
|000054d0| 7c 21 50 52 4f 43 64 72 | 61 77 5f 73 65 74 6c 69 ||!PROCdr|aw_setli|
|000054e0| 6e 65 77 69 64 74 68 28 | 20 77 69 64 74 68 20 29 |newidth(| width )|
|000054f0| 0d 02 fb 07 2a 7c 21 0d | 02 fc 48 2a 7c 21 54 68 |....*|!.|..H*|!Th|
|00005500| 69 73 20 70 72 6f 63 65 | 64 75 72 65 20 73 65 74 |is proce|dure set|
|00005510| 73 20 74 68 65 20 77 69 | 64 74 68 20 6f 66 20 74 |s the wi|dth of t|
|00005520| 68 65 20 6c 69 6e 65 73 | 20 77 69 74 68 69 6e 20 |he lines| within |
|00005530| 70 61 74 68 20 6f 62 6a | 65 63 74 73 20 74 6f 0d |path obj|ects to.|
|00005540| 02 fd 48 2a 7c 21 74 68 | 65 20 73 70 65 63 69 66 |..H*|!th|e specif|
|00005550| 69 65 64 20 6e 75 6d 62 | 65 72 20 6f 66 20 64 72 |ied numb|er of dr|
|00005560| 61 77 20 75 6e 69 74 73 | 20 28 36 34 30 20 64 72 |aw units| (640 dr|
|00005570| 61 77 20 75 6e 69 74 73 | 20 3d 20 31 20 70 6f 69 |aw units| = 1 poi|
|00005580| 6e 74 29 2c 20 6f 72 0d | 02 fe 35 2a 7c 21 74 6f |nt), or.|..5*|!to|
|00005590| 20 27 61 73 20 74 68 69 | 6e 20 61 73 20 70 6f 73 | 'as thi|n as pos|
|000055a0| 73 69 62 6c 65 27 20 69 | 66 20 7a 65 72 6f 20 69 |sible' i|f zero i|
|000055b0| 73 20 73 70 65 63 69 66 | 69 65 64 2e 0d 02 ff 20 |s specif|ied.... |
|000055c0| dd 20 f2 64 72 61 77 5f | 73 65 74 6c 69 6e 65 77 |. .draw_|setlinew|
|000055d0| 69 64 74 68 28 77 69 64 | 74 68 25 29 0d 03 00 1d |idth(wid|th%)....|
|000055e0| 5f 64 72 61 77 5f 6c 69 | 6e 65 77 69 64 74 68 25 |_draw_li|newidth%|
|000055f0| 20 3d 20 77 69 64 74 68 | 25 0d 03 01 05 e1 0d 03 | = width|%.......|
|00005600| 02 04 0d 03 03 20 2a 7c | 73 74 6f 70 20 50 52 4f |..... *||stop PRO|
|00005610| 43 64 72 61 77 5f 73 65 | 74 6c 69 6e 65 77 69 64 |Cdraw_se|tlinewid|
|00005620| 74 68 0d 03 04 21 2a 7c | 73 74 61 72 74 20 50 52 |th...!*||start PR|
|00005630| 4f 43 64 72 61 77 5f 73 | 65 74 6a 6f 69 6e 73 74 |OCdraw_s|etjoinst|
|00005640| 79 6c 65 0d 03 05 2a 2a | 7c 21 50 52 4f 43 64 72 |yle...**||!PROCdr|
|00005650| 61 77 5f 73 65 74 6a 6f | 69 6e 73 74 79 6c 65 28 |aw_setjo|instyle(|
|00005660| 20 6a 6f 69 6e 5f 73 74 | 79 6c 65 20 29 0d 03 06 | join_st|yle )...|
|00005670| 07 2a 7c 21 0d 03 07 45 | 2a 7c 21 54 68 69 73 20 |.*|!...E|*|!This |
|00005680| 72 6f 75 74 69 6e 65 20 | 73 65 74 73 20 74 68 65 |routine |sets the|
|00005690| 20 6a 6f 69 6e 20 73 74 | 79 6c 65 20 66 6f 72 20 | join st|yle for |
|000056a0| 61 64 6a 61 63 65 6e 74 | 20 6c 69 6e 65 20 73 65 |adjacent| line se|
|000056b0| 67 6d 65 6e 74 73 20 74 | 6f 0d 03 08 1c 2a 7c 21 |gments t|o....*|!|
|000056c0| 6f 6e 65 20 6f 66 20 74 | 68 65 20 66 6f 6c 6c 6f |one of t|he follo|
|000056d0| 77 69 6e 67 3a 0d 03 09 | 07 2a 7c 21 0d 03 0a 32 |wing:...|.*|!...2|
|000056e0| 2a 7c 21 20 20 20 64 72 | 61 77 5f 4d 49 54 52 45 |*|! dr|aw_MITRE|
|000056f0| 44 2c 20 64 72 61 77 5f | 52 4f 55 4e 44 20 6f 72 |D, draw_|ROUND or|
|00005700| 20 64 72 61 77 5f 42 45 | 56 45 4c 4c 45 44 0d 03 | draw_BE|VELLED..|
|00005710| 0b 20 dd 20 f2 64 72 61 | 77 5f 73 65 74 6a 6f 69 |. . .dra|w_setjoi|
|00005720| 6e 73 74 79 6c 65 28 73 | 74 79 6c 65 25 29 0d 03 |nstyle(s|tyle%)..|
|00005730| 0c 3e 5f 64 72 61 77 5f | 70 61 74 68 73 74 79 6c |.>_draw_|pathstyl|
|00005740| 65 25 20 3d 20 28 5f 64 | 72 61 77 5f 70 61 74 68 |e% = (_d|raw_path|
|00005750| 73 74 79 6c 65 25 20 80 | 20 26 46 46 46 46 46 46 |style% .| &FFFFFF|
|00005760| 46 43 29 20 2b 20 73 74 | 79 6c 65 25 0d 03 0d 05 |FC) + st|yle%....|
|00005770| e1 0d 03 0e 04 0d 03 0f | 20 2a 7c 73 74 6f 70 20 |........| *|stop |
|00005780| 50 52 4f 43 64 72 61 77 | 5f 73 65 74 6a 6f 69 6e |PROCdraw|_setjoin|
|00005790| 73 74 79 6c 65 0d 03 10 | 22 2a 7c 73 74 61 72 74 |style...|"*|start|
|000057a0| 20 50 52 4f 43 64 72 61 | 77 5f 73 65 74 73 74 61 | PROCdra|w_setsta|
|000057b0| 72 74 73 74 79 6c 65 0d | 03 11 2a 2a 7c 21 50 52 |rtstyle.|..**|!PR|
|000057c0| 4f 43 64 72 61 77 5f 73 | 65 74 73 74 61 72 74 73 |OCdraw_s|etstarts|
|000057d0| 74 79 6c 65 28 20 63 61 | 70 5f 73 74 79 6c 65 20 |tyle( ca|p_style |
|000057e0| 29 0d 03 12 07 2a 7c 21 | 0d 03 13 46 2a 7c 21 54 |)....*|!|...F*|!T|
|000057f0| 68 69 73 20 72 6f 75 74 | 69 6e 65 20 73 65 74 73 |his rout|ine sets|
|00005800| 20 74 68 65 20 73 74 79 | 6c 65 20 6f 66 20 74 68 | the sty|le of th|
|00005810| 65 20 73 74 61 72 74 20 | 63 61 70 20 66 6f 72 20 |e start |cap for |
|00005820| 61 20 70 61 74 68 20 73 | 65 67 6d 65 6e 74 0d 03 |a path s|egment..|
|00005830| 14 1f 2a 7c 21 74 6f 20 | 6f 6e 65 20 6f 66 20 74 |..*|!to |one of t|
|00005840| 68 65 20 66 6f 6c 6c 6f | 77 69 6e 67 3a 0d 03 15 |he follo|wing:...|
|00005850| 07 2a 7c 21 0d 03 16 33 | 2a 7c 21 20 20 20 64 72 |.*|!...3|*|! dr|
|00005860| 61 77 5f 42 55 54 54 2c | 20 64 72 61 77 5f 53 51 |aw_BUTT,| draw_SQ|
|00005870| 55 41 52 45 20 6f 72 20 | 64 72 61 77 5f 54 52 49 |UARE or |draw_TRI|
|00005880| 41 4e 47 55 4c 41 52 0d | 03 17 21 dd 20 f2 64 72 |ANGULAR.|..!. .dr|
|00005890| 61 77 5f 73 65 74 73 74 | 61 72 74 73 74 79 6c 65 |aw_setst|artstyle|
|000058a0| 28 73 74 79 6c 65 25 29 | 0d 03 18 45 5f 64 72 61 |(style%)|...E_dra|
|000058b0| 77 5f 70 61 74 68 73 74 | 79 6c 65 25 20 3d 20 28 |w_pathst|yle% = (|
|000058c0| 5f 64 72 61 77 5f 70 61 | 74 68 73 74 79 6c 65 25 |_draw_pa|thstyle%|
|000058d0| 20 80 20 26 46 46 46 46 | 46 46 43 46 29 20 2b 20 | . &FFFF|FFCF) + |
|000058e0| 28 73 74 79 6c 65 25 20 | 3c 3c 20 34 29 0d 03 19 |(style% |<< 4)...|
|000058f0| 05 e1 0d 03 1a 04 0d 03 | 1b 21 2a 7c 73 74 6f 70 |........|.!*|stop|
|00005900| 20 50 52 4f 43 64 72 61 | 77 5f 73 65 74 73 74 61 | PROCdra|w_setsta|
|00005910| 72 74 73 74 79 6c 65 0d | 03 1c 20 2a 7c 73 74 61 |rtstyle.|.. *|sta|
|00005920| 72 74 20 50 52 4f 43 64 | 72 61 77 5f 73 65 74 65 |rt PROCd|raw_sete|
|00005930| 6e 64 73 74 79 6c 65 0d | 03 1d 28 2a 7c 21 50 52 |ndstyle.|..(*|!PR|
|00005940| 4f 43 64 72 61 77 5f 73 | 65 74 65 6e 64 73 74 79 |OCdraw_s|etendsty|
|00005950| 6c 65 28 20 63 61 70 5f | 73 74 79 6c 65 20 29 0d |le( cap_|style ).|
|00005960| 03 1e 07 2a 7c 21 0d 03 | 1f 44 2a 7c 21 54 68 69 |...*|!..|.D*|!Thi|
|00005970| 73 20 72 6f 75 74 69 6e | 65 20 73 65 74 73 20 74 |s routin|e sets t|
|00005980| 68 65 20 73 74 79 6c 65 | 20 6f 66 20 74 68 65 20 |he style| of the |
|00005990| 65 6e 64 20 63 61 70 20 | 66 6f 72 20 61 20 70 61 |end cap |for a pa|
|000059a0| 74 68 20 73 65 67 6d 65 | 6e 74 0d 03 20 1f 2a 7c |th segme|nt.. .*||
|000059b0| 21 74 6f 20 6f 6e 65 20 | 6f 66 20 74 68 65 20 66 |!to one |of the f|
|000059c0| 6f 6c 6c 6f 77 69 6e 67 | 3a 0d 03 21 07 2a 7c 21 |ollowing|:..!.*|!|
|000059d0| 0d 03 22 33 2a 7c 21 20 | 20 20 64 72 61 77 5f 42 |.."3*|! | draw_B|
|000059e0| 55 54 54 2c 20 64 72 61 | 77 5f 53 51 55 41 52 45 |UTT, dra|w_SQUARE|
|000059f0| 20 6f 72 20 64 72 61 77 | 5f 54 52 49 41 4e 47 55 | or draw|_TRIANGU|
|00005a00| 4c 41 52 0d 03 23 1f dd | 20 f2 64 72 61 77 5f 73 |LAR..#..| .draw_s|
|00005a10| 65 74 65 6e 64 73 74 79 | 6c 65 28 73 74 79 6c 65 |etendsty|le(style|
|00005a20| 25 29 0d 03 24 45 5f 64 | 72 61 77 5f 70 61 74 68 |%)..$E_d|raw_path|
|00005a30| 73 74 79 6c 65 25 20 3d | 20 28 5f 64 72 61 77 5f |style% =| (_draw_|
|00005a40| 70 61 74 68 73 74 79 6c | 65 25 20 80 20 26 46 46 |pathstyl|e% . &FF|
|00005a50| 46 46 46 46 46 33 29 20 | 2b 20 28 73 74 79 6c 65 |FFFFF3) |+ (style|
|00005a60| 25 20 3c 3c 20 32 29 0d | 03 25 05 e1 0d 03 26 04 |% << 2).|.%....&.|
|00005a70| 0d 03 27 1f 2a 7c 73 74 | 6f 70 20 50 52 4f 43 64 |..'.*|st|op PROCd|
|00005a80| 72 61 77 5f 73 65 74 65 | 6e 64 73 74 79 6c 65 0d |raw_sete|ndstyle.|
|00005a90| 03 28 1f 2a 7c 73 74 61 | 72 74 20 50 52 4f 43 64 |.(.*|sta|rt PROCd|
|00005aa0| 72 61 77 5f 73 65 74 77 | 69 6e 64 69 6e 67 0d 03 |raw_setw|inding..|
|00005ab0| 29 2a 2a 7c 21 50 52 4f | 43 64 72 61 77 5f 73 65 |)**|!PRO|Cdraw_se|
|00005ac0| 74 77 69 6e 64 69 6e 67 | 28 20 77 69 6e 64 69 6e |twinding|( windin|
|00005ad0| 67 5f 72 75 6c 65 20 29 | 0d 03 2a 07 2a 7c 21 0d |g_rule )|..*.*|!.|
|00005ae0| 03 2b 41 2a 7c 21 54 68 | 69 73 20 70 72 6f 63 65 |.+A*|!Th|is proce|
|00005af0| 64 75 72 65 20 73 65 74 | 73 20 74 68 65 20 77 69 |dure set|s the wi|
|00005b00| 6e 64 69 6e 67 20 72 75 | 6c 65 20 75 73 65 64 20 |nding ru|le used |
|00005b10| 66 6f 72 20 66 69 6c 6c | 65 64 20 70 61 74 68 73 |for fill|ed paths|
|00005b20| 0d 03 2c 1f 2a 7c 21 74 | 6f 20 6f 6e 65 20 6f 66 |..,.*|!t|o one of|
|00005b30| 20 74 68 65 20 66 6f 6c | 6c 6f 77 69 6e 67 3a 0d | the fol|lowing:.|
|00005b40| 03 2d 07 2a 7c 21 0d 03 | 2e 26 2a 7c 21 20 20 20 |.-.*|!..|.&*|! |
|00005b50| 64 72 61 77 5f 4e 4f 4e | 5a 45 52 4f 20 6f 72 20 |draw_NON|ZERO or |
|00005b60| 64 72 61 77 5f 45 56 45 | 4e 4f 44 44 0d 03 2f 20 |draw_EVE|NODD../ |
|00005b70| dd 20 f2 64 72 61 77 5f | 73 65 74 77 69 6e 64 69 |. .draw_|setwindi|
|00005b80| 6e 67 28 77 69 6e 64 69 | 6e 67 25 29 0d 03 30 47 |ng(windi|ng%)..0G|
|00005b90| 5f 64 72 61 77 5f 70 61 | 74 68 73 74 79 6c 65 25 |_draw_pa|thstyle%|
|00005ba0| 20 3d 20 28 5f 64 72 61 | 77 5f 70 61 74 68 73 74 | = (_dra|w_pathst|
|00005bb0| 79 6c 65 25 20 80 20 26 | 46 46 46 46 46 46 42 46 |yle% . &|FFFFFFBF|
|00005bc0| 29 20 2b 20 28 77 69 6e | 64 69 6e 67 25 20 3c 3c |) + (win|ding% <<|
|00005bd0| 20 36 29 0d 03 31 05 e1 | 0d 03 32 04 0d 03 33 1e | 6)..1..|..2...3.|
|00005be0| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 64 72 61 77 5f |*|stop P|ROCdraw_|
|00005bf0| 73 65 74 77 69 6e 64 69 | 6e 67 0d 03 34 20 2a 7c |setwindi|ng..4 *||
|00005c00| 73 74 61 72 74 20 50 52 | 4f 43 64 72 61 77 5f 73 |start PR|OCdraw_s|
|00005c10| 65 74 63 61 70 77 69 64 | 74 68 0d 03 35 28 2a 7c |etcapwid|th..5(*||
|00005c20| 21 50 52 4f 43 64 72 61 | 77 5f 73 65 74 63 61 70 |!PROCdra|w_setcap|
|00005c30| 77 69 64 74 68 28 20 63 | 61 70 5f 77 69 64 74 68 |width( c|ap_width|
|00005c40| 20 29 0d 03 36 07 2a 7c | 21 0d 03 37 3f 2a 7c 21 | )..6.*||!..7?*|!|
|00005c50| 54 68 69 73 20 73 65 74 | 73 20 74 68 65 20 77 69 |This set|s the wi|
|00005c60| 64 74 68 20 6f 66 20 74 | 72 69 61 6e 67 75 6c 61 |dth of t|riangula|
|00005c70| 72 20 65 6e 64 63 61 70 | 73 2c 20 69 6e 20 73 69 |r endcap|s, in si|
|00005c80| 78 74 65 65 6e 74 68 73 | 0d 03 38 17 2a 7c 21 6f |xteenths|..8.*|!o|
|00005c90| 66 20 61 20 6c 69 6e 65 | 20 77 69 64 74 68 2e 0d |f a line| width..|
|00005ca0| 03 39 1f dd 20 f2 64 72 | 61 77 5f 73 65 74 63 61 |.9.. .dr|aw_setca|
|00005cb0| 70 77 69 64 74 68 28 77 | 69 64 74 68 25 29 0d 03 |pwidth(w|idth%)..|
|00005cc0| 3a 46 5f 64 72 61 77 5f | 70 61 74 68 73 74 79 6c |:F_draw_|pathstyl|
|00005cd0| 65 25 20 3d 20 28 5f 64 | 72 61 77 5f 70 61 74 68 |e% = (_d|raw_path|
|00005ce0| 73 74 79 6c 65 25 20 80 | 20 26 46 46 30 30 46 46 |style% .| &FF00FF|
|00005cf0| 46 46 29 20 2b 20 28 77 | 69 64 74 68 25 20 3c 3c |FF) + (w|idth% <<|
|00005d00| 20 31 36 29 0d 03 3b 05 | e1 0d 03 3c 04 0d 03 3d | 16)..;.|...<...=|
|00005d10| 1f 2a 7c 73 74 6f 70 20 | 50 52 4f 43 64 72 61 77 |.*|stop |PROCdraw|
|00005d20| 5f 73 65 74 63 61 70 77 | 69 64 74 68 0d 03 3e 21 |_setcapw|idth..>!|
|00005d30| 2a 7c 73 74 61 72 74 20 | 50 52 4f 43 64 72 61 77 |*|start |PROCdraw|
|00005d40| 5f 73 65 74 63 61 70 6c | 65 6e 67 74 68 0d 03 3f |_setcapl|ength..?|
|00005d50| 2a 2a 7c 21 50 52 4f 43 | 64 72 61 77 5f 73 65 74 |**|!PROC|draw_set|
|00005d60| 63 61 70 6c 65 6e 67 74 | 68 28 20 63 61 70 5f 6c |caplengt|h( cap_l|
|00005d70| 65 6e 67 74 68 20 29 0d | 03 40 07 2a 7c 21 0d 03 |ength ).|.@.*|!..|
|00005d80| 41 40 2a 7c 21 54 68 69 | 73 20 73 65 74 73 20 74 |A@*|!Thi|s sets t|
|00005d90| 68 65 20 6c 65 6e 67 74 | 68 20 6f 66 20 74 72 69 |he lengt|h of tri|
|00005da0| 61 6e 67 75 6c 61 72 20 | 65 6e 64 63 61 70 73 2c |angular |endcaps,|
|00005db0| 20 69 6e 20 73 69 78 74 | 65 65 6e 74 68 73 0d 03 | in sixt|eenths..|
|00005dc0| 42 17 2a 7c 21 6f 66 20 | 61 20 6c 69 6e 65 20 77 |B.*|!of |a line w|
|00005dd0| 69 64 74 68 2e 0d 03 43 | 21 dd 20 f2 64 72 61 77 |idth...C|!. .draw|
|00005de0| 5f 73 65 74 63 61 70 6c | 65 6e 67 74 68 28 6c 65 |_setcapl|ength(le|
|00005df0| 6e 67 74 68 25 29 0d 03 | 44 47 5f 64 72 61 77 5f |ngth%)..|DG_draw_|
|00005e00| 70 61 74 68 73 74 79 6c | 65 25 20 3d 20 28 5f 64 |pathstyl|e% = (_d|
|00005e10| 72 61 77 5f 70 61 74 68 | 73 74 79 6c 65 25 20 80 |raw_path|style% .|
|00005e20| 20 26 30 30 46 46 46 46 | 46 46 29 20 2b 20 28 6c | &00FFFF|FF) + (l|
|00005e30| 65 6e 67 74 68 25 20 3c | 3c 20 32 34 29 0d 03 45 |ength% <|< 24)..E|
|00005e40| 05 e1 0d 03 46 04 0d 03 | 47 20 2a 7c 73 74 6f 70 |....F...|G *|stop|
|00005e50| 20 50 52 4f 43 64 72 61 | 77 5f 73 65 74 63 61 70 | PROCdra|w_setcap|
|00005e60| 6c 65 6e 67 74 68 0d 03 | 48 23 2a 7c 73 74 61 72 |length..|H#*|star|
|00005e70| 74 20 50 52 4f 43 64 72 | 61 77 5f 73 65 74 64 61 |t PROCdr|aw_setda|
|00005e80| 73 68 70 61 74 74 65 72 | 6e 0d 03 49 4d 2a 7c 21 |shpatter|n..IM*|!|
|00005e90| 50 52 4f 43 64 72 61 77 | 5f 73 65 74 64 61 73 68 |PROCdraw|_setdash|
|00005ea0| 70 61 74 74 65 72 6e 28 | 20 64 61 73 68 31 5f 6c |pattern(| dash1_l|
|00005eb0| 65 6e 20 2c 20 67 61 70 | 31 5f 6c 65 6e 20 2c 20 |en , gap|1_len , |
|00005ec0| 64 61 73 68 32 5f 6c 65 | 6e 20 2c 20 67 61 70 32 |dash2_le|n , gap2|
|00005ed0| 5f 6c 65 6e 20 29 0d 03 | 4a 07 2a 7c 21 0d 03 4b |_len )..|J.*|!..K|
|00005ee0| 48 2a 7c 21 54 68 69 73 | 20 70 72 6f 63 65 64 75 |H*|!This| procedu|
|00005ef0| 72 65 20 73 65 74 73 20 | 74 68 65 20 63 75 72 72 |re sets |the curr|
|00005f00| 65 6e 74 20 64 61 73 68 | 20 70 61 74 74 65 72 6e |ent dash| pattern|
|00005f10| 20 66 6f 72 20 70 61 74 | 68 20 6f 62 6a 65 63 74 | for pat|h object|
|00005f20| 73 2e 20 49 74 0d 03 4c | 48 2a 7c 21 74 61 6b 65 |s. It..L|H*|!take|
|00005f30| 73 20 61 73 20 70 61 72 | 61 6d 65 74 65 72 73 20 |s as par|ameters |
|00005f40| 74 68 65 20 6c 65 6e 67 | 74 68 73 20 6f 66 20 74 |the leng|ths of t|
|00005f50| 77 6f 20 64 61 73 68 20 | 61 6e 64 20 74 77 6f 20 |wo dash |and two |
|00005f60| 67 61 70 20 73 65 67 6d | 65 6e 74 73 2c 0d 03 4d |gap segm|ents,..M|
|00005f70| 3f 2a 7c 21 61 6e 64 20 | 72 65 70 65 61 74 73 20 |?*|!and |repeats |
|00005f80| 74 68 65 73 65 20 73 65 | 67 6d 65 6e 74 73 20 61 |these se|gments a|
|00005f90| 6c 6f 6e 67 20 74 68 65 | 20 6c 65 6e 67 74 68 20 |long the| length |
|00005fa0| 6f 66 20 74 68 65 20 70 | 61 74 68 2e 0d 03 4e 35 |of the p|ath...N5|
|00005fb0| dd 20 f2 64 72 61 77 5f | 73 65 74 64 61 73 68 70 |. .draw_|setdashp|
|00005fc0| 61 74 74 65 72 6e 28 64 | 61 73 68 31 25 2c 67 61 |attern(d|ash1%,ga|
|00005fd0| 70 31 25 2c 64 61 73 68 | 32 25 2c 67 61 70 32 25 |p1%,dash|2%,gap2%|
|00005fe0| 29 0d 03 4f 2d 5f 64 72 | 61 77 5f 70 61 74 68 73 |)..O-_dr|aw_paths|
|00005ff0| 74 79 6c 65 25 20 3d 20 | 5f 64 72 61 77 5f 70 61 |tyle% = |_draw_pa|
|00006000| 74 68 73 74 79 6c 65 25 | 20 84 20 26 38 30 0d 03 |thstyle%| . &80..|
|00006010| 50 18 5f 64 72 61 77 5f | 64 61 73 68 70 61 74 25 |P._draw_|dashpat%|
|00006020| 21 30 20 3d 20 30 0d 03 | 51 18 5f 64 72 61 77 5f |!0 = 0..|Q._draw_|
|00006030| 64 61 73 68 70 61 74 25 | 21 34 20 3d 20 34 0d 03 |dashpat%|!4 = 4..|
|00006040| 52 1d 5f 64 72 61 77 5f | 64 61 73 68 70 61 74 25 |R._draw_|dashpat%|
|00006050| 21 38 20 3d 20 64 61 73 | 68 31 25 0d 03 53 1d 5f |!8 = das|h1%..S._|
|00006060| 64 72 61 77 5f 64 61 73 | 68 70 61 74 25 21 31 32 |draw_das|hpat%!12|
|00006070| 20 3d 20 67 61 70 31 25 | 0d 03 54 1e 5f 64 72 61 | = gap1%|..T._dra|
|00006080| 77 5f 64 61 73 68 70 61 | 74 25 21 31 36 20 3d 20 |w_dashpa|t%!16 = |
|00006090| 64 61 73 68 32 25 0d 03 | 55 1d 5f 64 72 61 77 5f |dash2%..|U._draw_|
|000060a0| 64 61 73 68 70 61 74 25 | 21 32 30 20 3d 20 67 61 |dashpat%|!20 = ga|
|000060b0| 70 32 25 0d 03 56 05 e1 | 0d 03 57 04 0d 03 58 22 |p2%..V..|..W...X"|
|000060c0| 2a 7c 73 74 6f 70 20 50 | 52 4f 43 64 72 61 77 5f |*|stop P|ROCdraw_|
|000060d0| 73 65 74 64 61 73 68 70 | 61 74 74 65 72 6e 0d 03 |setdashp|attern..|
|000060e0| 59 25 2a 7c 73 74 61 72 | 74 20 50 52 4f 43 64 72 |Y%*|star|t PROCdr|
|000060f0| 61 77 5f 73 65 74 6e 6f | 64 61 73 68 70 61 74 74 |aw_setno|dashpatt|
|00006100| 65 72 6e 0d 03 5a 20 2a | 7c 21 50 52 4f 43 64 72 |ern..Z *||!PROCdr|
|00006110| 61 77 5f 73 65 74 6e 6f | 64 61 73 68 70 61 74 74 |aw_setno|dashpatt|
|00006120| 65 72 6e 0d 03 5b 07 2a | 7c 21 0d 03 5c 42 2a 7c |ern..[.*||!..\B*||
|00006130| 21 54 68 69 73 20 72 6f | 75 74 69 6e 65 20 74 75 |!This ro|utine tu|
|00006140| 72 6e 73 20 6f 66 66 20 | 74 68 65 20 63 75 72 72 |rns off |the curr|
|00006150| 65 6e 74 20 64 61 73 68 | 20 70 61 74 74 65 72 6e |ent dash| pattern|
|00006160| 20 61 6e 64 20 72 65 76 | 65 72 74 73 0d 03 5d 24 | and rev|erts..]$|
|00006170| 2a 7c 21 74 6f 20 64 72 | 61 77 69 6e 67 20 77 69 |*|!to dr|awing wi|
|00006180| 74 68 20 61 20 73 6f 6c | 69 64 20 6c 69 6e 65 2e |th a sol|id line.|
|00006190| 0d 03 5e 1c dd 20 f2 64 | 72 61 77 5f 73 65 74 6e |..^.. .d|raw_setn|
|000061a0| 6f 64 61 73 68 70 61 74 | 74 65 72 6e 0d 03 5f 33 |odashpat|tern.._3|
|000061b0| 5f 64 72 61 77 5f 70 61 | 74 68 73 74 79 6c 65 25 |_draw_pa|thstyle%|
|000061c0| 20 3d 20 5f 64 72 61 77 | 5f 70 61 74 68 73 74 79 | = _draw|_pathsty|
|000061d0| 6c 65 25 20 80 20 26 46 | 46 46 46 46 46 37 46 0d |le% . &F|FFFFF7F.|
|000061e0| 03 60 05 e1 0d 03 61 04 | 0d 03 62 24 2a 7c 73 74 |.`....a.|..b$*|st|
|000061f0| 6f 70 20 50 52 4f 43 64 | 72 61 77 5f 73 65 74 6e |op PROCd|raw_setn|
|00006200| 6f 64 61 73 68 70 61 74 | 74 65 72 6e 0d 03 63 19 |odashpat|tern..c.|
|00006210| 2a 7c 73 74 61 72 74 20 | 46 4e 64 72 61 77 5f 63 |*|start |FNdraw_c|
|00006220| 6f 6c 6f 75 72 0d 03 64 | 2a 2a 7c 21 46 4e 64 72 |olour..d|**|!FNdr|
|00006230| 61 77 5f 63 6f 6c 6f 75 | 72 28 20 72 65 64 20 2c |aw_colou|r( red ,|
|00006240| 20 67 72 65 65 6e 20 2c | 20 62 6c 75 65 20 29 0d | green ,| blue ).|
|00006250| 03 65 07 2a 7c 21 0d 03 | 66 4c 2a 7c 21 54 68 69 |.e.*|!..|fL*|!Thi|
|00006260| 73 20 66 75 6e 63 74 69 | 6f 6e 73 20 74 61 6b 65 |s functi|ons take|
|00006270| 73 20 74 68 72 65 65 20 | 70 65 72 63 65 6e 74 61 |s three |percenta|
|00006280| 67 65 20 76 61 6c 75 65 | 73 20 66 6f 72 20 72 65 |ge value|s for re|
|00006290| 64 2c 20 67 72 65 65 6e | 20 61 6e 64 20 62 6c 75 |d, green| and blu|
|000062a0| 65 2c 0d 03 67 49 2a 7c | 21 61 6e 64 20 72 65 74 |e,..gI*||!and ret|
|000062b0| 75 72 6e 73 20 61 20 64 | 72 61 77 20 73 74 79 6c |urns a d|raw styl|
|000062c0| 65 20 63 6f 6c 6f 75 72 | 20 77 6f 72 64 20 69 6e |e colour| word in|
|000062d0| 20 74 68 65 20 66 6f 72 | 6d 61 74 20 26 42 42 47 | the for|mat &BBG|
|000062e0| 47 52 52 30 30 2e 20 54 | 68 69 73 0d 03 68 4c 2a |GRR00. T|his..hL*|
|000062f0| 7c 21 72 6f 75 74 69 6e | 65 20 69 73 20 63 61 6c ||!routin|e is cal|
|00006300| 6c 65 64 20 62 79 20 50 | 52 4f 43 64 72 61 77 5f |led by P|ROCdraw_|
|00006310| 73 65 74 6c 69 6e 65 63 | 6f 6c 20 61 6e 64 20 50 |setlinec|ol and P|
|00006320| 52 4f 43 64 72 61 77 5f | 73 65 74 66 69 6c 6c 63 |ROCdraw_|setfillc|
|00006330| 6f 6c 2c 20 62 75 74 0d | 03 69 35 2a 7c 21 6d 61 |ol, but.|.i5*|!ma|
|00006340| 79 20 61 6c 73 6f 20 62 | 65 20 75 73 65 66 75 6c |y also b|e useful|
|00006350| 20 74 6f 20 74 68 65 20 | 75 73 65 72 20 6f 66 20 | to the |user of |
|00006360| 74 68 65 20 6c 69 62 72 | 61 72 79 2e 0d 03 6a 25 |the libr|ary...j%|
|00006370| dd 20 a4 64 72 61 77 5f | 63 6f 6c 6f 75 72 28 72 |. .draw_|colour(r|
|00006380| 65 64 25 2c 67 72 65 65 | 6e 25 2c 62 6c 75 65 25 |ed%,gree|n%,blue%|
|00006390| 29 0d 03 6b 14 72 65 64 | 25 20 3d 20 72 65 64 25 |)..k.red|% = red%|
|000063a0| 2a 32 2e 35 35 0d 03 6c | 18 67 72 65 65 6e 25 20 |*2.55..l|.green% |
|000063b0| 3d 20 67 72 65 65 6e 25 | 2a 32 2e 35 35 0d 03 6d |= green%|*2.55..m|
|000063c0| 16 62 6c 75 65 25 20 3d | 20 62 6c 75 65 25 2a 32 |.blue% =| blue%*2|
|000063d0| 2e 35 35 0d 03 6e 2d 3d | 28 62 6c 75 65 25 20 3c |.55..n-=|(blue% <|
|000063e0| 3c 20 32 34 29 2b 28 67 | 72 65 65 6e 25 20 3c 3c |< 24)+(g|reen% <<|
|000063f0| 20 31 36 29 2b 28 72 65 | 64 25 20 3c 3c 20 38 29 | 16)+(re|d% << 8)|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.