home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Amiga Disk Format (OFS)
(archive/adfOFS).
You can browse this item here: 1000.adf
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Amiga Disk Format (OFS) (archive/adfOFS)
| magic
| Supported |
65%
| dexvert
| Amiga Disk Format (FFS) (archive/adfFFS)
| ext
| Supported |
1%
| dexvert
| ABackup Disk Image (archive/abackupDiskImage)
| ext
| Unsupported |
100%
| file
| Amiga DOS disk (DD 880 KiB), probably root block 880, bootable 0x610000262c790000.., "17-BIT EDUCATIONAL"
| default
| |
99%
| file
| data
| default
| |
57%
| TrID
| Amiga Disk image File (OFS)
| default
| |
42%
| TrID
| Amiga Disk image File (generic)
| default (weak)
| |
100%
| siegfried
| fmt/1361 Amiga Disk File
| default
| |
100%
| disktype
| Amiga OFS file system (non-intl.) Type "DOS\0" Size matches DD floppy
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 44 4f 53 00 0f 73 c9 d4 | 00 00 03 70 61 00 00 26 |DOS..s..|...pa..&|
|00000010| 2c 79 00 00 00 04 43 fa | 00 10 4e ae ff a0 20 40 |,y....C.|..N... @|
|00000020| 20 68 00 16 70 00 4e 75 | 64 6f 73 2e 6c 69 62 72 | h..p.Nu|dos.libr|
|00000030| 61 72 79 00 22 3c 00 01 | 00 02 20 3c 00 02 06 f8 |ary."<..|.. <....|
|00000040| 2c 78 00 04 4e ae ff 3a | 4a 80 67 00 02 da 22 0d |,x..N..:|J.g...".|
|00000050| 2a 40 2b 41 00 10 2a 80 | 2b 40 00 04 2b 40 00 08 |*@+A..*.|+@..+@..|
|00000060| 2b 40 00 0c 06 95 00 00 | 00 28 06 ad 00 00 04 10 |+@......|.(......|
|00000070| 00 04 06 ad 00 00 32 10 | 00 08 06 ad 00 02 06 d0 |......2.|........|
|00000080| 00 0c 43 fa 02 e4 23 6d | 00 0c 00 08 43 fa 02 0e |..C...#m|....C...|
|00000090| 33 6d 00 04 00 04 33 6d | 00 06 00 0a 3b 79 00 df |3m....3m|....;y..|
|000000a0| f0 02 00 14 33 fc 83 80 | 00 df f0 96 33 fc 00 20 |....3...|....3.. |
|000000b0| 00 df f0 96 33 fc 40 00 | 00 df f0 9a 61 00 01 6e |....3.@.|....a..n|
|000000c0| 2c 79 00 00 00 04 43 fa | 02 ac 4e ae fe 68 2c 40 |,y....C.|..N..h,@|
|000000d0| 22 55 4e ae ff 3a 41 fa | 02 90 22 55 23 48 00 04 |"UN..:A.|.."U#H..|
|000000e0| 41 fa 02 a4 42 50 41 fa | 02 a4 43 fa 02 9c 22 88 |A...BPA.|..C...".|
|000000f0| 22 55 20 3c 00 00 00 01 | 4e ae fe 9e 22 55 42 80 |"U <....|N..."UB.|
|00000100| 22 3c 00 00 00 06 4e ae | ff 10 22 55 45 fa 02 7a |"<....N.|.."UE..z|
|00000110| 20 52 20 3c 00 00 00 01 | 4e ae ff c4 08 39 00 06 | R <....|N....9..|
|00000120| 00 bf e0 01 67 00 00 c0 | 30 39 00 df f0 04 48 40 |....g...|09....H@|
|00000130| 30 39 00 df f0 06 e0 80 | 02 40 01 ff b0 7c 00 88 |09......|.@...|..|
|00000140| 66 00 ff da 20 6d 00 04 | d1 fc 00 00 0a f6 22 6d |f... m..|......"m|
|00000150| 00 0c 20 3c 00 00 00 07 | e5 d9 64 00 00 1e 00 68 |.. <....|..d....h|
|00000160| 00 0f ff fe 00 68 00 0f | 00 2c 00 68 00 0f 00 5a |.....h..|.,.h...Z|
|00000170| 00 68 00 0f 00 88 60 00 | 00 1a 02 68 ff f0 ff fe |.h....`.|...h....|
|00000180| 02 68 ff f0 00 2c 02 68 | ff f0 00 5a 02 68 ff f0 |.h...,.h|...Z.h..|
|00000190| 00 88 d1 fc 00 00 00 b8 | 51 c8 ff be 22 48 20 3c |........|Q..."H <|
|000001a0| 00 00 00 03 20 49 22 3c | 00 00 02 df 06 81 00 00 |.... I"<|........|
|000001b0| 00 00 e5 e0 51 c9 ff fc | 51 c8 ff ea 41 fa 01 c8 |....Q...|Q...A...|
|000001c0| 06 50 00 01 0c 50 00 09 | 66 00 ff 52 42 50 41 fa |.P...P..|f..RBPA.|
|000001d0| 01 b8 06 90 00 00 00 01 | 22 50 0c 11 00 00 67 00 |........|"P....g.|
|000001e0| ff 00 60 00 ff 18 33 fc | c0 00 00 df f0 9a 33 fc |..`...3.|......3.|
|000001f0| 7f ff 00 df f0 96 20 3c | ff ff ff ff 51 c8 ff fe |...... <|....Q...|
|00000200| 23 ee 00 26 00 df f0 80 | 00 6d 80 00 00 14 33 ed |#..&....|.m....3.|
|00000210| 00 14 00 df f0 96 22 4d | 2a 6d 00 10 20 3c 00 02 |......"M|*m.. <..|
|00000220| 06 f8 2c 78 00 04 4e ae | ff 2e 4e 75 20 6d 00 08 |..,x..N.|..Nu m..|
|00000230| 2c 3c 00 00 00 1f 61 00 | 00 64 2a 08 06 85 00 00 |,<....a.|.d*.....|
|00000240| 00 0c 30 fc 00 82 30 c5 | 48 45 30 fc 00 80 30 c5 |..0...0.|HE0...0.|
|00000250| 20 fc ff ff ff fe 51 ce | ff de 31 6d 00 08 ff fa | .....Q.|..1m....|
|00000260| 31 6d 00 0a ff f6 23 ed | 00 08 00 df f0 80 41 f9 |1m....#.|......A.|
|00000270| 00 df f0 00 31 7c 2c 71 | 00 8e 31 7c 2c e1 00 90 |....1|,q|..1|,...|
|00000280| 31 7c 00 24 01 04 31 7c | 00 28 00 92 31 7c 00 d8 |1|.$..1||.(..1|..|
|00000290| 00 94 42 68 01 02 42 a8 | 01 08 4e 75 20 fc 00 e0 |..Bh..B.|..Nu ...|
|000002a0| 00 02 20 fc 00 e2 8c 50 | 20 fc 01 00 12 00 20 3c |.. ....P| ..... <|
|000002b0| 20 21 ff fe 24 3c 00 21 | ff fe 61 00 00 34 20 fc | !..$<.!|..a..4 .|
|000002c0| ff df ff fe 24 3c 2b 21 | ff fe 20 3c 00 21 ff fe |....$<+!|.. <.!..|
|000002d0| 61 00 00 26 47 fa 00 52 | 43 fa 00 8e 34 29 ff fe |a..&G..R|C...4)..|
|000002e0| 3e 3c 00 1f 33 29 ff fc | 51 cf ff fa 36 82 4e 75 |><..3)..|Q...6.Nu|
|000002f0| 43 fa 00 36 45 fa 00 72 | b0 82 67 00 00 2a 32 3c |C..6E..r|..g..*2<|
|00000300| 01 80 38 3c 01 82 48 44 | 48 41 38 11 46 44 32 19 |..8<..HD|HA8.FD2.|
|00000310| 20 c0 20 c1 20 c4 06 80 | 01 00 00 00 b3 ca 67 00 | . . ...|......g.|
|00000320| ff d0 60 00 ff d4 4e 75 | 00 00 01 11 02 22 03 33 |..`...Nu|.....".3|
|00000330| 04 44 05 55 06 66 07 77 | 08 88 09 99 0a aa 0b bb |.D.U.f.w|........|
|00000340| 0c cc 0d dd 0e ee 0f ff | 00 20 00 40 08 00 0c 00 |........|. .@....|
|00000350| 02 00 04 00 08 00 0c 00 | 00 02 00 04 00 08 00 0c |........|........|
|00000360| 0f 00 00 f0 00 0f 0f ff | 00 02 00 0a 00 01 00 00 |........|........|
|00000370| 00 04 8f 10 67 72 61 70 | 68 69 63 73 2e 6c 69 62 |....grap|hics.lib|
|00000380| 72 61 72 79 00 00 00 01 | 00 c0 cb bb 53 4f 52 52 |rary....|....SORR|
|00000390| 59 20 4e 4f 20 52 4f 4f | 4d 20 46 4f 52 20 41 20 |Y NO ROO|M FOR A |
|000003a0| 57 4f 52 4b 42 45 4e 43 | 48 20 50 4c 45 41 53 45 |WORKBENC|H PLEASE|
|000003b0| 20 42 4f 4f 54 20 55 50 | 20 59 4f 55 52 20 4f 57 | BOOT UP| YOUR OW|
|000003c0| 4e 20 46 49 52 53 54 2e | 20 53 54 45 56 45 20 31 |N FIRST.| STEVE 1|
|000003d0| 37 2d 42 49 54 20 30 39 | 32 34 20 33 36 36 39 38 |7-BIT 09|24 36698|
|000003e0| 32 20 20 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |2 .....|........|
|000003f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000400| 00 00 00 08 00 00 04 7c | 00 00 00 07 00 00 01 e8 |.......||........|
|00000410| 00 00 00 03 fa 81 31 79 | 6d 61 70 5f 54 45 58 54 |......1y|map_TEXT|
|00000420| 20 3d 20 7b 0a 20 20 20 | 26 6d 61 70 5f 43 4f 4c | = {. |&map_COL|
|00000430| 4f 52 53 2c 0a 20 20 20 | 28 53 48 4f 52 54 29 20 |ORS,. |(SHORT) |
|00000440| 30 2c 20 28 53 48 4f 52 | 54 29 20 31 30 2a 54 45 |0, (SHOR|T) 10*TE|
|00000450| 58 54 2c 0a 20 20 20 28 | 53 48 4f 52 54 29 20 4d |XT,. (|SHORT) M|
|00000460| 57 49 44 54 48 2c 20 28 | 53 48 4f 52 54 29 20 31 |WIDTH, (|SHORT) 1|
|00000470| 30 2c 0a 20 20 20 28 55 | 53 48 4f 52 54 29 20 28 |0,. (U|SHORT) (|
|00000480| 49 54 45 4d 54 45 58 54 | 20 7c 20 48 49 47 48 43 |ITEMTEXT| | HIGHC|
|00000490| 4f 4d 50 20 7c 20 49 54 | 45 4d 45 4e 41 42 4c 45 |OMP | IT|EMENABLE|
|000004a0| 44 29 2c 0a 20 20 20 28 | 4c 4f 4e 47 29 20 30 2c |D),. (|LONG) 0,|
|000004b0| 0a 20 20 20 28 41 50 54 | 52 29 20 26 6d 61 70 5f |. (APT|R) &map_|
|000004c0| 54 45 58 54 5f 74 65 78 | 74 2c 0a 20 20 20 4e 55 |TEXT_tex|t,. NU|
|000004d0| 4c 4c 2c 0a 20 20 20 28 | 42 59 54 45 29 20 30 2c |LL,. (|BYTE) 0,|
|000004e0| 0a 20 20 20 4e 55 4c 4c | 2c 0a 20 20 20 28 55 53 |. NULL|,. (US|
|000004f0| 48 4f 52 54 29 20 30 0a | 7d 3b 0a 0a 73 74 72 75 |HORT) 0.|};..stru|
|00000500| 63 74 20 4d 65 6e 75 49 | 74 65 6d 20 6d 61 70 5f |ct MenuI|tem map_|
|00000510| 53 48 41 44 4f 57 20 3d | 20 7b 0a 20 20 20 26 6d |SHADOW =| {. &m|
|00000520| 61 70 5f 54 45 58 54 2c | 0a 20 20 20 28 53 48 4f |ap_TEXT,|. (SHO|
|00000530| 52 54 29 20 30 2c 20 28 | 53 48 4f 52 54 29 20 31 |RT) 0, (|SHORT) 1|
|00000540| 30 2a 53 48 41 44 4f 57 | 2c 0a 20 20 20 28 53 48 |0*SHADOW|,. (SH|
|00000550| 4f 52 54 29 20 4d 57 49 | 44 54 48 2c 20 28 53 48 |ORT) MWI|DTH, (SH|
|00000560| 4f 52 54 29 20 31 30 2c | 0a 20 20 20 28 55 53 48 |ORT) 10,|. (USH|
|00000570| 4f 52 54 29 20 28 49 54 | 45 4d 54 45 58 54 20 7c |ORT) (IT|EMTEXT ||
|00000580| 20 48 49 47 48 43 4f 4d | 50 20 7c 20 49 54 45 4d | HIGHCOM|P | ITEM|
|00000590| 45 4e 41 42 4c 45 44 29 | 2c 0a 20 20 20 28 4c 4f |ENABLED)|,. (LO|
|000005a0| 4e 47 29 20 30 2c 0a 20 | 20 20 28 41 50 54 52 29 |NG) 0,. | (APTR)|
|000005b0| 20 26 6d 61 70 5f 53 48 | 41 44 4f 57 5f 74 65 78 | &map_SH|ADOW_tex|
|000005c0| 74 2c 0a 20 20 20 4e 55 | 4c 4c 2c 0a 20 20 20 28 |t,. NU|LL,. (|
|000005d0| 42 59 54 45 29 20 30 2c | 0a 20 20 20 4e 55 4c 4c |BYTE) 0,|. NULL|
|000005e0| 2c 0a 20 20 20 28 55 53 | 48 4f 52 54 29 20 30 0a |,. (US|HORT) 0.|
|000005f0| 7d 3b 0a 0a 73 74 72 75 | 63 74 20 4d 65 6e 75 49 |};..stru|ct MenuI|
|00000600| 00 00 00 08 00 00 04 7c | 00 00 00 08 00 00 01 e8 |.......||........|
|00000610| 00 00 00 04 e6 e8 e1 f9 | 74 65 6d 20 6d 61 70 5f |........|tem map_|
|00000620| 46 4c 4f 4f 44 20 3d 20 | 7b 0a 20 20 20 26 6d 61 |FLOOD = |{. &ma|
|00000630| 70 5f 53 48 41 44 4f 57 | 2c 0a 20 20 20 28 53 48 |p_SHADOW|,. (SH|
|00000640| 4f 52 54 29 20 30 2c 20 | 28 53 48 4f 52 54 29 20 |ORT) 0, |(SHORT) |
|00000650| 31 30 2a 46 4c 4f 4f 44 | 2c 0a 20 20 20 28 53 48 |10*FLOOD|,. (SH|
|00000660| 4f 52 54 29 20 4d 57 49 | 44 54 48 2c 20 28 53 48 |ORT) MWI|DTH, (SH|
|00000670| 4f 52 54 29 20 31 30 2c | 0a 20 20 20 28 55 53 48 |ORT) 10,|. (USH|
|00000680| 4f 52 54 29 20 28 49 54 | 45 4d 54 45 58 54 20 7c |ORT) (IT|EMTEXT ||
|00000690| 20 48 49 47 48 43 4f 4d | 50 20 7c 20 49 54 45 4d | HIGHCOM|P | ITEM|
|000006a0| 45 4e 41 42 4c 45 44 29 | 2c 0a 20 20 20 28 4c 4f |ENABLED)|,. (LO|
|000006b0| 4e 47 29 20 30 2c 0a 20 | 20 20 28 41 50 54 52 29 |NG) 0,. | (APTR)|
|000006c0| 20 26 6d 61 70 5f 46 4c | 4f 4f 44 5f 74 65 78 74 | &map_FL|OOD_text|
|000006d0| 2c 0a 20 20 20 4e 55 4c | 4c 2c 0a 20 20 20 28 42 |,. NUL|L,. (B|
|000006e0| 59 54 45 29 20 30 2c 0a | 20 20 20 4e 55 4c 4c 2c |YTE) 0,.| NULL,|
|000006f0| 0a 20 20 20 28 55 53 48 | 4f 52 54 29 20 30 0a 7d |. (USH|ORT) 0.}|
|00000700| 3b 0a 0a 73 74 72 75 63 | 74 20 4d 65 6e 75 49 74 |;..struc|t MenuIt|
|00000710| 65 6d 20 6d 61 70 5f 47 | 52 49 44 20 3d 20 7b 0a |em map_G|RID = {.|
|00000720| 20 20 20 26 6d 61 70 5f | 46 4c 4f 4f 44 2c 0a 20 | &map_|FLOOD,. |
|00000730| 20 20 28 53 48 4f 52 54 | 29 20 30 2c 20 28 53 48 | (SHORT|) 0, (SH|
|00000740| 4f 52 54 29 20 31 30 2a | 47 52 49 44 2c 0a 20 20 |ORT) 10*|GRID,. |
|00000750| 20 28 53 48 4f 52 54 29 | 20 4d 57 49 44 54 48 2c | (SHORT)| MWIDTH,|
|00000760| 20 28 53 48 4f 52 54 29 | 20 31 30 2c 0a 20 20 20 | (SHORT)| 10,. |
|00000770| 28 55 53 48 4f 52 54 29 | 20 28 49 54 45 4d 54 45 |(USHORT)| (ITEMTE|
|00000780| 58 54 20 7c 20 48 49 47 | 48 43 4f 4d 50 20 7c 20 |XT | HIG|HCOMP | |
|00000790| 49 54 45 4d 45 4e 41 42 | 4c 45 44 29 2c 0a 20 20 |ITEMENAB|LED),. |
|000007a0| 20 28 4c 4f 4e 47 29 20 | 30 2c 0a 20 20 20 28 41 | (LONG) |0,. (A|
|000007b0| 50 54 52 29 20 26 6d 61 | 70 5f 47 52 49 44 5f 74 |PTR) &ma|p_GRID_t|
|000007c0| 65 78 74 2c 0a 20 20 20 | 4e 55 4c 4c 2c 0a 20 20 |ext,. |NULL,. |
|000007d0| 20 28 42 59 54 45 29 20 | 30 2c 0a 20 20 20 4e 55 | (BYTE) |0,. NU|
|000007e0| 4c 4c 2c 0a 20 20 20 28 | 55 53 48 4f 52 54 29 20 |LL,. (|USHORT) |
|000007f0| 30 0a 7d 3b 0a 0a 73 74 | 72 75 63 74 20 4d 65 6e |0.};..st|ruct Men|
|00000800| 00 00 00 08 00 00 04 7c | 00 00 00 09 00 00 01 e8 |.......||........|
|00000810| 00 00 00 05 60 d1 90 d1 | 75 49 74 65 6d 20 6d 61 |....`...|uItem ma|
|00000820| 70 5f 42 4f 58 20 3d 20 | 7b 0a 20 20 20 26 6d 61 |p_BOX = |{. &ma|
|00000830| 70 5f 47 52 49 44 2c 0a | 20 20 20 28 53 48 4f 52 |p_GRID,.| (SHOR|
|00000840| 54 29 20 30 2c 20 28 53 | 48 4f 52 54 29 20 31 30 |T) 0, (S|HORT) 10|
|00000850| 2a 42 4f 58 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |*BOX,. | (SHORT)|
|00000860| 20 4d 57 49 44 54 48 2c | 20 28 53 48 4f 52 54 29 | MWIDTH,| (SHORT)|
|00000870| 20 31 30 2c 0a 20 20 20 | 28 55 53 48 4f 52 54 29 | 10,. |(USHORT)|
|00000880| 20 28 49 54 45 4d 54 45 | 58 54 20 7c 20 48 49 47 | (ITEMTE|XT | HIG|
|00000890| 48 43 4f 4d 50 20 7c 20 | 49 54 45 4d 45 4e 41 42 |HCOMP | |ITEMENAB|
|000008a0| 4c 45 44 29 2c 0a 20 20 | 20 28 4c 4f 4e 47 29 20 |LED),. | (LONG) |
|000008b0| 30 2c 0a 20 20 20 28 41 | 50 54 52 29 20 26 6d 61 |0,. (A|PTR) &ma|
|000008c0| 70 5f 42 4f 58 5f 74 65 | 78 74 2c 0a 20 20 20 4e |p_BOX_te|xt,. N|
|000008d0| 55 4c 4c 2c 0a 20 20 20 | 28 42 59 54 45 29 20 30 |ULL,. |(BYTE) 0|
|000008e0| 2c 0a 20 20 20 4e 55 4c | 4c 2c 0a 20 20 20 28 55 |,. NUL|L,. (U|
|000008f0| 53 48 4f 52 54 29 20 30 | 0a 7d 3b 0a 0a 73 74 72 |SHORT) 0|.};..str|
|00000900| 75 63 74 20 4d 65 6e 75 | 49 74 65 6d 20 6d 61 70 |uct Menu|Item map|
|00000910| 5f 5a 4f 4f 4d 5f 4f 55 | 54 20 3d 20 7b 0a 20 20 |_ZOOM_OU|T = {. |
|00000920| 20 26 6d 61 70 5f 42 4f | 58 2c 0a 20 20 20 28 53 | &map_BO|X,. (S|
|00000930| 48 4f 52 54 29 20 30 2c | 20 28 53 48 4f 52 54 29 |HORT) 0,| (SHORT)|
|00000940| 20 31 30 2a 5a 4f 4f 4d | 5f 4f 55 54 2c 0a 20 20 | 10*ZOOM|_OUT,. |
|00000950| 20 28 53 48 4f 52 54 29 | 20 4d 57 49 44 54 48 2c | (SHORT)| MWIDTH,|
|00000960| 20 28 53 48 4f 52 54 29 | 20 31 30 2c 0a 20 20 20 | (SHORT)| 10,. |
|00000970| 28 55 53 48 4f 52 54 29 | 20 28 49 54 45 4d 54 45 |(USHORT)| (ITEMTE|
|00000980| 58 54 20 7c 20 48 49 47 | 48 43 4f 4d 50 20 7c 20 |XT | HIG|HCOMP | |
|00000990| 49 54 45 4d 45 4e 41 42 | 4c 45 44 29 2c 0a 20 20 |ITEMENAB|LED),. |
|000009a0| 20 28 4c 4f 4e 47 29 20 | 30 2c 0a 20 20 20 28 41 | (LONG) |0,. (A|
|000009b0| 50 54 52 29 20 26 6d 61 | 70 5f 5a 4f 4f 4d 5f 4f |PTR) &ma|p_ZOOM_O|
|000009c0| 55 54 5f 74 65 78 74 2c | 0a 20 20 20 4e 55 4c 4c |UT_text,|. NULL|
|000009d0| 2c 0a 20 20 20 28 42 59 | 54 45 29 20 30 2c 0a 20 |,. (BY|TE) 0,. |
|000009e0| 20 20 4e 55 4c 4c 2c 0a | 20 20 20 28 55 53 48 4f | NULL,.| (USHO|
|000009f0| 52 54 29 20 30 0a 7d 3b | 0a 0a 73 74 72 75 63 74 |RT) 0.};|..struct|
|00000a00| 00 00 00 08 00 00 04 7c | 00 00 00 0a 00 00 01 e8 |.......||........|
|00000a10| 00 00 00 06 f8 e6 f6 6c | 20 4d 65 6e 75 49 74 65 |.......l| MenuIte|
|00000a20| 6d 20 6d 61 70 5f 5a 4f | 4f 4d 5f 49 4e 20 3d 20 |m map_ZO|OM_IN = |
|00000a30| 7b 0a 20 20 20 26 6d 61 | 70 5f 5a 4f 4f 4d 5f 4f |{. &ma|p_ZOOM_O|
|00000a40| 55 54 2c 0a 20 20 20 28 | 53 48 4f 52 54 29 20 30 |UT,. (|SHORT) 0|
|00000a50| 2c 20 28 53 48 4f 52 54 | 29 20 31 30 2a 5a 4f 4f |, (SHORT|) 10*ZOO|
|00000a60| 4d 5f 49 4e 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |M_IN,. | (SHORT)|
|00000a70| 20 4d 57 49 44 54 48 2c | 20 28 53 48 4f 52 54 29 | MWIDTH,| (SHORT)|
|00000a80| 20 31 30 2c 0a 20 20 20 | 28 55 53 48 4f 52 54 29 | 10,. |(USHORT)|
|00000a90| 20 28 49 54 45 4d 54 45 | 58 54 20 7c 20 48 49 47 | (ITEMTE|XT | HIG|
|00000aa0| 48 43 4f 4d 50 20 7c 20 | 49 54 45 4d 45 4e 41 42 |HCOMP | |ITEMENAB|
|00000ab0| 4c 45 44 29 2c 0a 20 20 | 20 28 4c 4f 4e 47 29 20 |LED),. | (LONG) |
|00000ac0| 30 2c 0a 20 20 20 28 41 | 50 54 52 29 20 26 6d 61 |0,. (A|PTR) &ma|
|00000ad0| 70 5f 5a 4f 4f 4d 5f 49 | 4e 5f 74 65 78 74 2c 0a |p_ZOOM_I|N_text,.|
|00000ae0| 20 20 20 4e 55 4c 4c 2c | 0a 20 20 20 28 42 59 54 | NULL,|. (BYT|
|00000af0| 45 29 20 30 2c 0a 20 20 | 20 4e 55 4c 4c 2c 0a 20 |E) 0,. | NULL,. |
|00000b00| 20 20 28 55 53 48 4f 52 | 54 29 20 30 0a 7d 3b 0a | (USHOR|T) 0.};.|
|00000b10| 0a 73 74 72 75 63 74 20 | 4d 65 6e 75 49 74 65 6d |.struct |MenuItem|
|00000b20| 20 6d 61 70 5f 4f 52 42 | 49 54 41 4c 20 3d 20 7b | map_ORB|ITAL = {|
|00000b30| 0a 20 20 20 26 6d 61 70 | 5f 5a 4f 4f 4d 5f 49 4e |. &map|_ZOOM_IN|
|00000b40| 2c 0a 20 20 20 28 53 48 | 4f 52 54 29 20 30 2c 20 |,. (SH|ORT) 0, |
|00000b50| 28 53 48 4f 52 54 29 20 | 31 30 2a 4f 52 42 49 54 |(SHORT) |10*ORBIT|
|00000b60| 41 4c 2c 0a 20 20 20 28 | 53 48 4f 52 54 29 20 4d |AL,. (|SHORT) M|
|00000b70| 57 49 44 54 48 2c 20 28 | 53 48 4f 52 54 29 20 31 |WIDTH, (|SHORT) 1|
|00000b80| 30 2c 0a 20 20 20 28 55 | 53 48 4f 52 54 29 20 28 |0,. (U|SHORT) (|
|00000b90| 49 54 45 4d 54 45 58 54 | 20 7c 20 48 49 47 48 43 |ITEMTEXT| | HIGHC|
|00000ba0| 4f 4d 50 20 7c 20 49 54 | 45 4d 45 4e 41 42 4c 45 |OMP | IT|EMENABLE|
|00000bb0| 44 29 2c 0a 20 20 20 28 | 4c 4f 4e 47 29 20 30 2c |D),. (|LONG) 0,|
|00000bc0| 0a 20 20 20 28 41 50 54 | 52 29 20 26 6d 61 70 5f |. (APT|R) &map_|
|00000bd0| 4f 52 42 49 54 41 4c 5f | 74 65 78 74 2c 0a 20 20 |ORBITAL_|text,. |
|00000be0| 20 4e 55 4c 4c 2c 0a 20 | 20 20 28 42 59 54 45 29 | NULL,. | (BYTE)|
|00000bf0| 20 30 2c 0a 20 20 20 4e | 55 4c 4c 2c 0a 20 20 20 | 0,. N|ULL,. |
|00000c00| 00 00 00 08 00 00 04 7c | 00 00 00 0b 00 00 01 e8 |.......||........|
|00000c10| 00 00 00 07 b1 bf a5 a5 | 28 55 53 48 4f 52 54 29 |........|(USHORT)|
|00000c20| 20 30 0a 7d 3b 0a 0a 73 | 74 72 75 63 74 20 4d 65 | 0.};..s|truct Me|
|00000c30| 6e 75 49 74 65 6d 20 6d | 61 70 5f 47 4c 4f 42 45 |nuItem m|ap_GLOBE|
|00000c40| 20 3d 20 7b 0a 20 20 20 | 26 6d 61 70 5f 4f 52 42 | = {. |&map_ORB|
|00000c50| 49 54 41 4c 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |ITAL,. | (SHORT)|
|00000c60| 20 30 2c 20 28 53 48 4f | 52 54 29 20 31 30 2a 47 | 0, (SHO|RT) 10*G|
|00000c70| 4c 4f 42 45 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |LOBE,. | (SHORT)|
|00000c80| 20 4d 57 49 44 54 48 2c | 20 28 53 48 4f 52 54 29 | MWIDTH,| (SHORT)|
|00000c90| 20 31 30 2c 0a 20 20 20 | 28 55 53 48 4f 52 54 29 | 10,. |(USHORT)|
|00000ca0| 20 28 49 54 45 4d 54 45 | 58 54 20 7c 20 48 49 47 | (ITEMTE|XT | HIG|
|00000cb0| 48 43 4f 4d 50 20 7c 20 | 49 54 45 4d 45 4e 41 42 |HCOMP | |ITEMENAB|
|00000cc0| 4c 45 44 29 2c 0a 20 20 | 20 28 4c 4f 4e 47 29 20 |LED),. | (LONG) |
|00000cd0| 30 2c 0a 20 20 20 28 41 | 50 54 52 29 20 26 6d 61 |0,. (A|PTR) &ma|
|00000ce0| 70 5f 47 4c 4f 42 45 5f | 74 65 78 74 2c 0a 20 20 |p_GLOBE_|text,. |
|00000cf0| 20 4e 55 4c 4c 2c 0a 20 | 20 20 28 42 59 54 45 29 | NULL,. | (BYTE)|
|00000d00| 20 30 2c 0a 20 20 20 4e | 55 4c 4c 2c 0a 20 20 20 | 0,. N|ULL,. |
|00000d10| 28 55 53 48 4f 52 54 29 | 20 30 0a 7d 3b 0a 0a 73 |(USHORT)| 0.};..s|
|00000d20| 74 72 75 63 74 20 4d 65 | 6e 75 49 74 65 6d 20 6d |truct Me|nuItem m|
|00000d30| 61 70 5f 4d 45 52 43 41 | 54 4f 52 20 3d 20 7b 0a |ap_MERCA|TOR = {.|
|00000d40| 20 20 20 26 6d 61 70 5f | 47 4c 4f 42 45 2c 0a 20 | &map_|GLOBE,. |
|00000d50| 20 20 28 53 48 4f 52 54 | 29 20 30 2c 20 28 53 48 | (SHORT|) 0, (SH|
|00000d60| 4f 52 54 29 20 31 30 2a | 4d 45 52 43 41 54 4f 52 |ORT) 10*|MERCATOR|
|00000d70| 2c 0a 20 20 20 28 53 48 | 4f 52 54 29 20 4d 57 49 |,. (SH|ORT) MWI|
|00000d80| 44 54 48 2c 20 28 53 48 | 4f 52 54 29 20 31 30 2c |DTH, (SH|ORT) 10,|
|00000d90| 0a 20 20 20 28 55 53 48 | 4f 52 54 29 20 28 49 54 |. (USH|ORT) (IT|
|00000da0| 45 4d 54 45 58 54 20 7c | 20 48 49 47 48 43 4f 4d |EMTEXT || HIGHCOM|
|00000db0| 50 20 7c 20 49 54 45 4d | 45 4e 41 42 4c 45 44 29 |P | ITEM|ENABLED)|
|00000dc0| 2c 0a 20 20 20 28 4c 4f | 4e 47 29 20 30 2c 0a 20 |,. (LO|NG) 0,. |
|00000dd0| 20 20 28 41 50 54 52 29 | 20 26 6d 61 70 5f 4d 45 | (APTR)| &map_ME|
|00000de0| 52 43 41 54 4f 52 5f 74 | 65 78 74 2c 0a 20 20 20 |RCATOR_t|ext,. |
|00000df0| 4e 55 4c 4c 2c 0a 20 20 | 20 28 42 59 54 45 29 20 |NULL,. | (BYTE) |
|00000e00| 00 00 00 08 00 00 04 7c | 00 00 00 0c 00 00 01 e8 |.......||........|
|00000e10| 00 00 00 08 e4 7f 1a d8 | 30 2c 0a 20 20 20 4e 55 |........|0,. NU|
|00000e20| 4c 4c 2c 0a 20 20 20 28 | 55 53 48 4f 52 54 29 20 |LL,. (|USHORT) |
|00000e30| 30 0a 7d 3b 0a 0a 73 74 | 72 75 63 74 20 4d 65 6e |0.};..st|ruct Men|
|00000e40| 75 49 74 65 6d 20 6d 61 | 70 5f 46 4c 41 54 20 3d |uItem ma|p_FLAT =|
|00000e50| 20 7b 0a 20 20 20 26 6d | 61 70 5f 4d 45 52 43 41 | {. &m|ap_MERCA|
|00000e60| 54 4f 52 2c 0a 20 20 20 | 28 53 48 4f 52 54 29 20 |TOR,. |(SHORT) |
|00000e70| 30 2c 20 28 53 48 4f 52 | 54 29 20 31 30 2a 46 4c |0, (SHOR|T) 10*FL|
|00000e80| 41 54 2c 0a 20 20 20 28 | 53 48 4f 52 54 29 20 4d |AT,. (|SHORT) M|
|00000e90| 57 49 44 54 48 2c 20 28 | 53 48 4f 52 54 29 20 31 |WIDTH, (|SHORT) 1|
|00000ea0| 30 2c 0a 20 20 20 28 55 | 53 48 4f 52 54 29 20 28 |0,. (U|SHORT) (|
|00000eb0| 49 54 45 4d 54 45 58 54 | 20 7c 20 48 49 47 48 43 |ITEMTEXT| | HIGHC|
|00000ec0| 4f 4d 50 20 7c 20 49 54 | 45 4d 45 4e 41 42 4c 45 |OMP | IT|EMENABLE|
|00000ed0| 44 29 2c 0a 20 20 20 28 | 4c 4f 4e 47 29 20 30 2c |D),. (|LONG) 0,|
|00000ee0| 0a 20 20 20 28 41 50 54 | 52 29 20 26 6d 61 70 5f |. (APT|R) &map_|
|00000ef0| 46 4c 41 54 5f 74 65 78 | 74 2c 0a 20 20 20 4e 55 |FLAT_tex|t,. NU|
|00000f00| 4c 4c 2c 0a 20 20 20 28 | 42 59 54 45 29 20 30 2c |LL,. (|BYTE) 0,|
|00000f10| 0a 20 20 20 4e 55 4c 4c | 2c 0a 20 20 20 28 55 53 |. NULL|,. (US|
|00000f20| 48 4f 52 54 29 20 30 0a | 7d 3b 0a 0a 73 74 72 75 |HORT) 0.|};..stru|
|00000f30| 63 74 20 4d 65 6e 75 49 | 74 65 6d 20 6d 61 70 5f |ct MenuI|tem map_|
|00000f40| 43 4f 4c 4f 52 5f 46 20 | 3d 20 7b 0a 20 20 20 26 |COLOR_F |= {. &|
|00000f50| 6d 61 70 5f 46 4c 41 54 | 2c 0a 20 20 20 28 53 48 |map_FLAT|,. (SH|
|00000f60| 4f 52 54 29 20 30 2c 20 | 28 53 48 4f 52 54 29 20 |ORT) 0, |(SHORT) |
|00000f70| 31 30 2a 43 4f 4c 4f 52 | 5f 46 2c 0a 20 20 20 28 |10*COLOR|_F,. (|
|00000f80| 53 48 4f 52 54 29 20 4d | 57 49 44 54 48 2c 20 28 |SHORT) M|WIDTH, (|
|00000f90| 53 48 4f 52 54 29 20 31 | 30 2c 0a 20 20 20 28 55 |SHORT) 1|0,. (U|
|00000fa0| 53 48 4f 52 54 29 20 28 | 49 54 45 4d 54 45 58 54 |SHORT) (|ITEMTEXT|
|00000fb0| 20 7c 20 48 49 47 48 43 | 4f 4d 50 20 7c 20 49 54 | | HIGHC|OMP | IT|
|00000fc0| 45 4d 45 4e 41 42 4c 45 | 44 20 7c 20 43 48 45 43 |EMENABLE|D | CHEC|
|00000fd0| 4b 49 54 20 7c 20 43 48 | 45 43 4b 45 44 20 7c 0a |KIT | CH|ECKED |.|
|00000fe0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 4d 45 4e | | MEN|
|00000ff0| 55 54 4f 47 47 4c 45 29 | 2c 0a 20 20 20 28 4c 4f |UTOGGLE)|,. (LO|
|00001000| 00 00 00 08 00 00 04 7c | 00 00 00 0d 00 00 01 91 |.......||........|
|00001010| 00 00 00 00 25 9b e0 86 | 4e 47 29 20 30 2c 0a 20 |....%...|NG) 0,. |
|00001020| 20 20 28 41 50 54 52 29 | 20 26 6d 61 70 5f 43 4f | (APTR)| &map_CO|
|00001030| 4c 4f 52 5f 46 5f 74 65 | 78 74 2c 0a 20 20 20 4e |LOR_F_te|xt,. N|
|00001040| 55 4c 4c 2c 0a 20 20 20 | 28 42 59 54 45 29 20 30 |ULL,. |(BYTE) 0|
|00001050| 2c 0a 20 20 20 4e 55 4c | 4c 2c 0a 20 20 20 28 55 |,. NUL|L,. (U|
|00001060| 53 48 4f 52 54 29 20 30 | 0a 7d 3b 0a 0a 73 74 72 |SHORT) 0|.};..str|
|00001070| 75 63 74 20 4d 65 6e 75 | 20 6d 61 70 5f 6d 65 6e |uct Menu| map_men|
|00001080| 75 20 3d 20 7b 0a 20 20 | 20 4e 55 4c 4c 2c 0a 20 |u = {. | NULL,. |
|00001090| 20 20 28 53 48 4f 52 54 | 29 20 2d 31 20 2a 20 28 | (SHORT|) -1 * (|
|000010a0| 28 31 30 2a 4e 55 4d 49 | 54 45 4d 53 20 2b 20 50 |(10*NUMI|TEMS + P|
|000010b0| 4f 50 54 49 54 4c 45 48 | 45 49 47 48 54 29 20 2f |OPTITLEH|EIGHT) /|
|000010c0| 20 32 29 2c 0a 20 20 20 | 28 53 48 4f 52 54 29 20 | 2),. |(SHORT) |
|000010d0| 2d 31 20 2a 20 50 4f 50 | 54 49 54 4c 45 48 45 49 |-1 * POP|TITLEHEI|
|000010e0| 47 48 54 20 2f 20 32 2c | 0a 20 20 20 28 53 48 4f |GHT / 2,|. (SHO|
|000010f0| 52 54 29 20 4d 57 49 44 | 54 48 2c 20 28 53 48 4f |RT) MWID|TH, (SHO|
|00001100| 52 54 29 20 31 30 2a 4e | 55 4d 49 54 45 4d 53 20 |RT) 10*N|UMITEMS |
|00001110| 2b 20 50 4f 50 54 49 54 | 4c 45 48 45 49 47 48 54 |+ POPTIT|LEHEIGHT|
|00001120| 2c 0a 20 20 20 28 55 53 | 48 4f 52 54 29 20 28 4d |,. (US|HORT) (M|
|00001130| 45 4e 55 45 4e 41 42 4c | 45 44 20 7c 20 50 4f 50 |ENUENABL|ED | POP|
|00001140| 54 49 44 59 20 7c 20 50 | 4f 50 50 4f 49 4e 54 52 |TIDY | P|OPPOINTR|
|00001150| 45 4c 20 7c 20 50 4f 50 | 52 49 47 48 54 42 55 54 |EL | POP|RIGHTBUT|
|00001160| 54 4f 4e 20 7c 20 0a 20 | 20 20 20 20 20 20 20 50 |TON | . | P|
|00001170| 4f 50 54 52 49 47 47 45 | 52 55 50 29 2c 0a 20 20 |OPTRIGGE|RUP),. |
|00001180| 20 28 42 59 54 45 20 2a | 29 20 22 4d 61 70 20 4d | (BYTE *|) "Map M|
|00001190| 65 6e 75 22 2c 0a 20 20 | 20 26 6d 61 70 5f 43 4f |enu",. | &map_CO|
|000011a0| 4c 4f 52 5f 46 0a 7d 3b | 0a 48 49 47 48 43 4f 4d |LOR_F.};|.HIGHCOM|
|000011b0| 50 20 7c 20 49 54 45 4d | 45 4e 41 42 4c 45 44 29 |P | ITEM|ENABLED)|
|000011c0| 2c 0a 20 20 20 28 4c 4f | 4e 47 29 20 30 2c 0a 20 |,. (LO|NG) 0,. |
|000011d0| 20 20 28 41 50 54 52 29 | 20 26 6d 61 70 5f 4d 45 | (APTR)| &map_ME|
|000011e0| 52 43 41 54 4f 52 5f 74 | 65 78 74 2c 0a 20 20 20 |RCATOR_t|ext,. |
|000011f0| 4e 55 4c 4c 2c 0a 20 20 | 20 28 42 59 54 45 29 20 |NULL,. | (BYTE) |
|00001200| 00 00 00 08 00 00 04 7e | 00 00 00 02 00 00 01 e8 |.......~|........|
|00001210| 00 00 00 0a a5 a9 d3 26 | 65 64 20 69 6e 20 74 68 |.......&|ed in th|
|00001220| 65 20 70 75 62 6c 69 63 | 20 64 6f 6d 61 69 6e 20 |e public| domain |
|00001230| 66 6f 72 20 75 73 65 2c | 20 61 6c 74 65 72 61 74 |for use,| alterat|
|00001240| 69 6f 6e 2c 20 64 69 73 | 63 75 73 73 69 6f 6e 2c |ion, dis|cussion,|
|00001250| 20 61 6e 64 0a 65 6e 68 | 61 6e 63 65 6d 65 6e 74 | and.enh|ancement|
|00001260| 2e 20 20 49 20 68 6f 70 | 65 20 73 6f 6d 65 6f 6e |. I hop|e someon|
|00001270| 65 20 73 6f 6d 65 77 68 | 65 72 65 20 66 69 6e 64 |e somewh|ere find|
|00001280| 73 20 69 74 20 75 73 65 | 66 75 6c 2e 0a 0a 44 65 |s it use|ful...De|
|00001290| 72 65 6b 20 5a 61 68 6e | 20 20 28 6d 79 20 41 6d |rek Zahn| (my Am|
|000012a0| 69 67 61 20 68 61 74 20 | 2d 2d 20 47 61 6d 62 69 |iga hat |-- Gambi|
|000012b0| 74 20 53 6f 66 74 77 61 | 72 65 2c 20 4d 61 64 69 |t Softwa|re, Madi|
|000012c0| 73 6f 6e 20 57 49 29 0a | 55 53 45 4e 45 54 3a 20 |son WI).|USENET: |
|000012d0| 20 20 20 20 20 20 20 20 | 2e 2e 2e 21 7b 61 6c 6c | |...!{all|
|000012e0| 65 67 72 61 2c 68 65 75 | 72 69 6b 6f 6e 2c 69 68 |egra,heu|rikon,ih|
|000012f0| 6e 70 34 2c 73 65 69 73 | 6d 6f 2c 75 63 62 76 61 |np4,seis|mo,ucbva|
|00001300| 78 7d 21 75 77 76 61 78 | 21 64 65 72 65 6b 0a 0a |x}!uwvax|!derek..|
|00001310| 46 69 6c 65 73 0a 0a 6d | 61 6b 65 66 69 6c 65 3a |Files..m|akefile:|
|00001320| 20 63 6f 6e 73 74 72 75 | 63 74 73 20 74 68 65 20 | constru|cts the |
|00001330| 64 65 6d 6f 6e 73 74 72 | 61 74 69 6f 6e 20 70 72 |demonstr|ation pr|
|00001340| 6f 67 72 61 6d 20 27 64 | 65 6d 6f 27 20 77 69 74 |ogram 'd|emo' wit|
|00001350| 68 20 27 6d 61 6b 65 27 | 2e 0a 20 20 54 68 65 20 |h 'make'|.. The |
|00001360| 63 6f 6d 6d 61 6e 64 20 | 27 6d 61 6b 65 20 70 6f |command |'make po|
|00001370| 70 2e 6f 27 20 77 69 6c | 6c 20 6a 75 73 74 20 6d |p.o' wil|l just m|
|00001380| 61 6b 65 20 74 68 65 20 | 70 6f 70 2d 75 70 20 6d |ake the |pop-up m|
|00001390| 65 6e 75 20 6f 62 6a 65 | 63 74 20 6d 6f 64 75 6c |enu obje|ct modul|
|000013a0| 65 0a 70 6f 70 2e 63 3a | 20 73 6f 75 72 63 65 20 |e.pop.c:| source |
|000013b0| 66 69 6c 65 20 66 6f 72 | 20 74 68 65 20 70 6f 70 |file for| the pop|
|000013c0| 2d 75 70 20 6d 65 6e 75 | 20 6d 6f 64 75 6c 65 0a |-up menu| module.|
|000013d0| 70 6f 70 6d 65 6e 75 2e | 68 3a 20 69 6e 63 6c 75 |popmenu.|h: inclu|
|000013e0| 64 65 20 66 69 6c 65 20 | 63 6f 6e 74 61 69 6e 69 |de file |containi|
|000013f0| 6e 67 20 65 73 73 65 6e | 74 69 61 6c 20 63 6f 6e |ng essen|tial con|
|00001400| 00 00 00 08 00 00 04 7e | 00 00 00 03 00 00 01 e8 |.......~|........|
|00001410| 00 00 06 d5 7c 0e 93 b6 | 73 74 61 6e 74 20 64 65 |....|...|stant de|
|00001420| 66 69 6e 69 74 69 6f 6e | 73 3b 0a 20 20 73 68 6f |finition|s;. sho|
|00001430| 75 6c 64 20 62 65 20 69 | 6e 63 6c 75 64 65 64 20 |uld be i|ncluded |
|00001440| 62 79 20 61 6e 79 20 70 | 72 6f 67 72 61 6d 20 75 |by any p|rogram u|
|00001450| 73 69 6e 67 20 70 6f 70 | 2d 75 70 20 6d 65 6e 75 |sing pop|-up menu|
|00001460| 73 0a 64 65 6d 6f 2e 63 | 3a 20 65 78 61 6d 70 6c |s.demo.c|: exampl|
|00001470| 65 20 70 72 6f 67 72 61 | 6d 20 6d 61 6b 69 6e 67 |e progra|m making|
|00001480| 20 75 73 65 20 6f 66 20 | 74 68 65 20 70 6f 70 2d | use of |the pop-|
|00001490| 75 70 20 6d 65 6e 75 20 | 6d 6f 64 75 6c 65 0a 0a |up menu |module..|
|000014a0| 31 2e 20 46 65 61 74 75 | 72 65 73 0a 0a 54 68 69 |1. Featu|res..Thi|
|000014b0| 73 20 73 6d 61 6c 6c 20 | 63 68 75 6e 6b 20 6f 66 |s small |chunk of|
|000014c0| 20 63 6f 64 65 20 70 72 | 6f 76 69 64 65 73 20 70 | code pr|ovides p|
|000014d0| 6f 70 2d 75 70 20 6d 65 | 6e 75 20 66 75 6e 63 74 |op-up me|nu funct|
|000014e0| 69 6f 6e 61 6c 69 74 79 | 20 74 68 61 74 20 75 74 |ionality| that ut|
|000014f0| 69 6c 69 7a 65 73 0a 64 | 61 74 61 20 73 74 72 75 |ilizes.d|ata stru|
|00001500| 63 74 75 72 65 73 20 63 | 6f 6d 70 61 74 69 62 6c |ctures c|ompatibl|
|00001510| 65 20 77 69 74 68 20 74 | 68 65 20 65 78 69 73 74 |e with t|he exist|
|00001520| 69 6e 67 20 6d 65 74 68 | 6f 64 73 20 66 6f 72 20 |ing meth|ods for |
|00001530| 73 70 65 63 69 66 79 69 | 6e 67 0a 63 6f 6e 76 65 |specifyi|ng.conve|
|00001540| 6e 74 69 6f 6e 61 6c 20 | 49 6e 74 75 69 74 69 6f |ntional |Intuitio|
|00001550| 6e 20 6d 65 6e 75 73 2e | 20 20 41 73 20 77 69 6c |n menus.| As wil|
|00001560| 6c 20 62 65 20 64 65 73 | 63 72 69 62 65 64 20 69 |l be des|cribed i|
|00001570| 6e 20 73 65 63 74 69 6f | 6e 73 20 33 20 61 6e 64 |n sectio|ns 3 and|
|00001580| 20 34 20 6f 66 0a 74 68 | 69 73 20 64 6f 63 75 6d | 4 of.th|is docum|
|00001590| 65 6e 74 2c 20 73 6f 6d | 65 20 66 6c 61 67 20 76 |ent, som|e flag v|
|000015a0| 61 6c 75 65 73 20 68 61 | 76 65 20 62 65 65 6e 20 |alues ha|ve been |
|000015b0| 61 64 64 65 64 20 74 6f | 20 70 72 6f 76 69 64 65 |added to| provide|
|000015c0| 20 63 6f 6e 74 72 6f 6c | 0a 75 73 65 66 75 6c 20 | control|.useful |
|000015d0| 66 6f 72 20 70 6f 70 2d | 75 70 20 6d 65 6e 75 73 |for pop-|up menus|
|000015e0| 2c 20 73 6f 6d 65 20 66 | 6c 61 67 20 76 61 6c 75 |, some f|lag valu|
|000015f0| 65 73 20 61 72 65 20 6e | 6f 74 20 6d 65 61 6e 69 |es are n|ot meani|
|00001600| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001680| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001690| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000016f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001700| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001730| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001800| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001880| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001890| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000018f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001900| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001920| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000019f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001a00| 00 00 00 08 00 00 00 28 | 00 00 00 2a 00 00 00 a8 |.......(|...*....|
|00001a10| 00 00 00 0a 88 80 0a a2 | 22 28 20 28 20 20 2a 22 |........|"( ( *"|
|00001a20| 20 20 28 20 20 22 28 2a | 20 2a 22 20 22 20 22 20 | ( "(*| *" " " |
|00001a30| 22 20 20 22 20 20 20 28 | 28 22 20 22 20 20 20 20 |" " (|(" " |
|00001a40| 2a 2a 0a 0a 20 20 20 28 | 22 20 28 28 20 20 28 28 |**.. (|" (( ((|
|00001a50| 2a 02 28 20 22 22 20 22 | 20 02 08 00 02 0a 08 00 |*.( "" "| .......|
|00001a60| 28 0a 20 20 20 20 20 20 | 28 22 20 28 28 20 20 28 |(. |(" (( (|
|00001a70| 28 2a 02 28 20 22 22 20 | 22 20 02 08 00 02 0a 00 |(*.( "" |" ......|
|00001a80| 00 28 0a 20 20 20 20 20 | 20 20 20 20 00 22 20 22 |.(. | ." "|
|00001a90| 08 28 20 22 20 20 28 22 | 20 28 20 22 28 2a 28 2a |.( " ("| ( "(*(*|
|00001aa0| 02 28 20 22 2a 08 20 22 | 2a 28 20 28 08 0a 0a 02 |.( "*. "|*( (....|
|00001ab0| 28 20 20 28 20 20 28 28 | 2a 08 20 22 20 00 20 22 |( ( ((|*. " . "|
|00001ac0| 20 28 0a 20 20 20 20 20 | 20 20 20 20 20 20 28 08 | (. | (.|
|00001ad0| 0a 0a 02 28 20 28 28 20 | 20 28 28 2a 00 2a 20 00 |...( (( | ((*.* .|
|00001ae0| 20 22 20 20 2a 20 2a 22 | 22 22 20 20 20 2a 20 20 | " * *"|"" * |
|00001af0| 28 28 2a 0a 0a 20 20 20 | 2a 2a 20 0a 2a 22 28 20 |((*.. |** .*"( |
|00001b00| 20 22 20 22 20 20 28 20 | 20 28 20 20 28 20 28 20 | " " ( | ( ( ( |
|00001b10| 22 20 28 22 20 28 28 20 | 20 20 20 20 2a 20 28 2a |" (" (( | * (*|
|00001b20| 22 20 2a 2a 20 20 28 20 | 20 02 28 20 22 20 22 20 |" ** ( | .( " " |
|00001b30| 28 20 20 28 20 28 20 20 | 20 20 20 2a 2a 0a 00 00 |( ( ( | **...|
|00001b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c00| 11 00 00 08 00 00 00 28 | 40 15 55 7f 55 14 00 a8 |.......(|@.U.U...|
|00001c10| 05 00 00 0a 20 b5 31 75 | 20 2d 7c 2b 0b 20 35 75 |.... .1u| -|+. 5u|
|00001c20| 75 7d 23 71 1e 20 25 75 | 75 75 75 55 77 60 67 0c |u}#q. %u|uuuUw`g.|
|00001c30| 28 20 62 35 25 28 22 75 | 7c 24 27 69 7c 28 69 60 |( b5%("u||$'i|(i`|
|00001c40| 28 58 5f 5f 03 39 70 28 | 25 30 2c 3d 6a 08 21 22 |(X__.9p(|%0,=j.!"|
|00001c50| 71 00 20 26 74 68 20 1b | 71 64 35 75 75 75 75 75 |q. &th .|qd5uuuuu|
|00001c60| 7d 5d 5f 5f 57 6c 64 7c | 28 21 60 28 29 2a 00 6f |}]__Wld||(!`()*.o|
|00001c70| 65 10 20 37 30 20 6a 74 | 2a 22 36 22 24 74 2d 6c |e. 70 jt|*"6"$t-l|
|00001c80| 2a 0a 5b 75 20 65 2b 3a | 20 08 22 20 20 29 75 70 |*.[u e+:| ." )up|
|00001c90| 0d 10 01 58 14 0f 00 46 | 08 11 51 20 22 6c 20 72 |...X...F|..Q "l r|
|00001ca0| 31 3d 23 74 2e 6e 24 21 | 62 21 20 38 24 22 22 2c |1=#t.n$!|b! 8$"",|
|00001cb0| 2b 62 20 23 64 20 28 60 | 25 29 74 20 3d 7f 65 64 |+b #d (`|%)t =.ed|
|00001cc0| 70 24 21 30 20 65 60 30 | 20 2a 2a 0a 0a 20 20 20 |p$!0 e`0| **.. |
|00001cd0| 28 22 20 28 20 2d 7d 75 | 75 7d 6c 3e 07 7d 75 66 |(" ( -}u|u}l>.}uf|
|00001ce0| 23 30 22 65 48 10 05 18 | 00 0e 14 02 0c 00 01 7c |#0"eH...|.......||
|00001cf0| 29 74 20 2b 5b 70 21 34 | 20 20 35 03 70 21 15 55 |)t +[p!4| 5.p!.U|
|00001d00| 34 6a 20 2d 77 75 7d 75 | 65 1c 28 2b 0f 64 20 24 |4j -wu}u|e.(+.d $|
|00001d10| 20 20 61 02 21 20 10 22 | 48 20 24 28 22 20 29 75 | a.! ."|H $(" )u|
|00001d20| 5f 54 58 21 7c 2a 4f 30 | 20 30 20 20 24 02 24 75 |_TX!|*O0| 0 $.$u|
|00001d30| 10 33 00 71 21 68 66 20 | 7d 75 28 00 02 09 0a 13 |.3.q!hf |}u(.....|
|00001d40| 55 21 2a 6d 30 24 2a 20 | 0e 22 2c 7f 77 35 5e 21 |U!*m0$* |.",.w5^!|
|00001d50| 64 75 30 24 22 2a 38 74 | 70 48 28 3f 5a 21 64 75 |du0$"*8t|pH(?Z!du|
|00001d60| 20 21 75 46 30 76 20 13 | 7c 68 28 61 7c 67 21 79 | !uF0v .||h(a|g!y|
|00001d70| 30 3d 5c 0a 0a 57 7d 20 | 28 31 35 38 28 6e 0c 21 |0=\..W} |(158(n.!|
|00001d80| 32 17 fa 87 90 12 90 d7 | d0 e0 a1 70 28 50 83 d1 |2.......|...p(P..|
|00001d90| 85 c2 87 c0 91 c0 2e c0 | 17 aa d6 80 52 82 d4 21 |........|....R..!|
|00001da0| 12 83 d6 c6 82 83 92 86 | 90 01 d9 8d 40 a5 e0 31 |........|....@..1|
|00001db0| 60 a5 68 3d 0c 4a 01 20 | f0 34 70 b4 e5 21 60 58 |`.h=.J. |.4p..!`X|
|00001dc0| 34 a5 03 40 52 16 25 28 | 38 04 29 08 3c 28 59 59 |4..@R.%(|8.).<(YY|
|00001dd0| 52 80 08 91 d0 a0 f0 e1 | d0 a0 30 7c 28 09 e0 29 |R.......|..0|(..)|
|00001de0| ce 0a 1f 0a 0a 4f 00 31 | 78 2d 20 21 79 2d 2a 05 |.....O.1|x- !y-*.|
|00001df0| 6a 33 ee 82 84 9c 08 1b | 95 f1 24 f5 f0 30 20 5c |j3......|..$..0 \|
|00001e00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001e90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001eb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ec0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ed0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ee0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ef0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002000| 00 00 00 08 00 00 04 78 | 00 00 00 31 00 00 01 9f |.......x|...1....|
|00002010| 00 00 00 00 44 0e bb aa | 20 20 69 74 65 6d 20 3d |....D...| item =|
|00002020| 20 69 74 65 6d 2d 3e 4e | 65 78 74 49 74 65 6d 3b | item->N|extItem;|
|00002030| 0a 20 20 20 72 65 74 75 | 72 6e 20 28 69 74 65 6d |. retu|rn (item|
|00002040| 29 3b 0a 7d 0a 0a 2f 2a | 20 3d 3d 3d 3d 3d 3d 3d |);.}../*| =======|
|00002050| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002060| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002070| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002080| 3d 3d 3d 3d 3d 3d 20 2a | 2f 0a 0a 2f 2a 0a 20 2a |====== *|/../*. *|
|00002090| 20 70 6f 70 5f 73 74 72 | 6c 65 6e 28 29 0a 20 2a | pop_str|len(). *|
|000020a0| 0a 20 2a 20 61 20 68 6f | 6d 65 2d 62 72 65 77 65 |. * a ho|me-brewe|
|000020b0| 64 20 73 74 72 6c 65 6e | 20 74 6f 20 70 72 65 76 |d strlen| to prev|
|000020c0| 65 6e 74 20 69 74 20 62 | 65 69 6e 67 20 6e 65 63 |ent it b|eing nec|
|000020d0| 65 73 73 61 72 79 20 74 | 6f 20 68 6f 6f 6b 20 69 |essary t|o hook i|
|000020e0| 6e 20 77 68 61 74 65 76 | 65 72 0a 20 2a 20 68 75 |n whatev|er. * hu|
|000020f0| 67 65 20 6f 62 6a 65 63 | 74 20 66 69 6c 65 20 69 |ge objec|t file i|
|00002100| 6e 20 77 68 69 63 68 20 | 74 68 65 20 63 20 6c 69 |n which |the c li|
|00002110| 62 72 61 72 79 27 73 20 | 73 74 72 6c 65 6e 28 29 |brary's |strlen()|
|00002120| 20 72 65 73 69 64 65 73 | 2e 0a 20 2a 2f 0a 0a 73 | resides|.. */..s|
|00002130| 74 61 74 69 63 20 53 48 | 4f 52 54 20 70 6f 70 5f |tatic SH|ORT pop_|
|00002140| 73 74 72 6c 65 6e 20 28 | 73 74 72 29 0a 0a 63 68 |strlen (|str)..ch|
|00002150| 61 72 20 2a 73 74 72 3b | 0a 0a 7b 0a 0a 20 20 20 |ar *str;|..{.. |
|00002160| 72 65 67 69 73 74 65 72 | 20 53 48 4f 52 54 20 63 |register| SHORT c|
|00002170| 6f 75 6e 74 20 3d 20 30 | 3b 0a 0a 20 20 20 66 6f |ount = 0|;.. fo|
|00002180| 72 20 28 3b 20 2a 73 74 | 72 2b 2b 3b 20 63 6f 75 |r (; *st|r++; cou|
|00002190| 6e 74 2b 2b 29 3b 0a 20 | 20 20 72 65 74 75 72 6e |nt++);. | return|
|000021a0| 20 28 63 6f 75 6e 74 29 | 3b 0a 7d 0a 0a 2f 2a 20 | (count)|;.}../* |
|000021b0| 3a 2d 29 20 2a 2f 0a 20 | 28 69 74 65 6d 2d 3e 4c |:-) */. |(item->L|
|000021c0| 65 66 74 45 64 67 65 20 | 2b 20 69 74 65 6d 2d 3e |eftEdge |+ item->|
|000021d0| 57 69 64 74 68 29 2c 20 | 28 4c 4f 4e 47 29 0a 20 |Width), |(LONG). |
|000021e0| 20 20 20 20 20 20 20 28 | 69 74 65 6d 2d 3e 54 6f | (|item->To|
|000021f0| 70 45 64 67 65 20 2b 20 | 69 74 65 6d 2d 3e 48 65 |pEdge + |item->He|
|00002200| 00 00 00 08 00 00 04 7c | 00 00 00 02 00 00 01 e8 |.......||........|
|00002210| 00 00 00 12 03 66 0a 69 | 42 59 54 45 29 20 30 2c |.....f.i|BYTE) 0,|
|00002220| 20 28 55 42 59 54 45 29 | 20 31 2c 0a 20 20 20 4a | (UBYTE)| 1,. J|
|00002230| 41 4d 31 2c 0a 20 20 20 | 28 53 48 4f 52 54 29 20 |AM1,. |(SHORT) |
|00002240| 31 30 2c 20 28 53 48 4f | 52 54 29 20 32 2c 0a 20 |10, (SHO|RT) 2,. |
|00002250| 20 20 4e 55 4c 4c 2c 0a | 20 20 20 28 55 42 59 54 | NULL,.| (UBYT|
|00002260| 45 20 2a 29 20 22 43 6c | 65 61 72 22 2c 0a 20 20 |E *) "Cl|ear",. |
|00002270| 20 4e 55 4c 4c 0a 7d 3b | 0a 0a 73 74 72 75 63 74 | NULL.};|..struct|
|00002280| 20 49 6e 74 75 69 54 65 | 78 74 20 6d 61 70 5f 43 | IntuiTe|xt map_C|
|00002290| 4f 4c 4f 52 53 5f 74 65 | 78 74 20 3d 20 7b 0a 20 |OLORS_te|xt = {. |
|000022a0| 20 20 28 55 42 59 54 45 | 29 20 30 2c 20 28 55 42 | (UBYTE|) 0, (UB|
|000022b0| 59 54 45 29 20 31 2c 0a | 20 20 20 4a 41 4d 31 2c |YTE) 1,.| JAM1,|
|000022c0| 0a 20 20 20 28 53 48 4f | 52 54 29 20 31 30 2c 20 |. (SHO|RT) 10, |
|000022d0| 28 53 48 4f 52 54 29 20 | 32 2c 0a 20 20 20 4e 55 |(SHORT) |2,. NU|
|000022e0| 4c 4c 2c 0a 20 20 20 28 | 55 42 59 54 45 20 2a 29 |LL,. (|UBYTE *)|
|000022f0| 20 22 43 6f 6c 6f 72 73 | 22 2c 0a 20 20 20 4e 55 | "Colors|",. NU|
|00002300| 4c 4c 0a 7d 3b 0a 0a 73 | 74 72 75 63 74 20 49 6e |LL.};..s|truct In|
|00002310| 74 75 69 54 65 78 74 20 | 6d 61 70 5f 54 45 58 54 |tuiText |map_TEXT|
|00002320| 5f 74 65 78 74 20 3d 20 | 7b 0a 20 20 20 28 55 42 |_text = |{. (UB|
|00002330| 59 54 45 29 20 30 2c 20 | 28 55 42 59 54 45 29 20 |YTE) 0, |(UBYTE) |
|00002340| 31 2c 0a 20 20 20 4a 41 | 4d 31 2c 0a 20 20 20 28 |1,. JA|M1,. (|
|00002350| 53 48 4f 52 54 29 20 31 | 30 2c 20 28 53 48 4f 52 |SHORT) 1|0, (SHOR|
|00002360| 54 29 20 32 2c 0a 20 20 | 20 4e 55 4c 4c 2c 0a 20 |T) 2,. | NULL,. |
|00002370| 20 20 28 55 42 59 54 45 | 20 2a 29 20 22 54 65 78 | (UBYTE| *) "Tex|
|00002380| 74 22 2c 0a 20 20 20 4e | 55 4c 4c 0a 7d 3b 0a 0a |t",. N|ULL.};..|
|00002390| 73 74 72 75 63 74 20 49 | 6e 74 75 69 54 65 78 74 |struct I|ntuiText|
|000023a0| 20 6d 61 70 5f 53 48 41 | 44 4f 57 5f 74 65 78 74 | map_SHA|DOW_text|
|000023b0| 20 3d 20 7b 0a 20 20 20 | 28 55 42 59 54 45 29 20 | = {. |(UBYTE) |
|000023c0| 30 2c 20 28 55 42 59 54 | 45 29 20 31 2c 0a 20 20 |0, (UBYT|E) 1,. |
|000023d0| 20 4a 41 4d 31 2c 0a 20 | 20 20 28 53 48 4f 52 54 | JAM1,. | (SHORT|
|000023e0| 29 20 31 30 2c 20 28 53 | 48 4f 52 54 29 20 32 2c |) 10, (S|HORT) 2,|
|000023f0| 0a 20 20 20 4e 55 4c 4c | 2c 0a 20 20 20 28 55 42 |. NULL|,. (UB|
|00002400| 00 00 00 08 00 00 04 7c | 00 00 00 03 00 00 01 e8 |.......||........|
|00002410| 00 00 00 13 50 96 9c 6f | 59 54 45 20 2a 29 20 22 |....P..o|YTE *) "|
|00002420| 53 68 61 64 6f 77 22 2c | 0a 20 20 20 4e 55 4c 4c |Shadow",|. NULL|
|00002430| 0a 7d 3b 0a 0a 73 74 72 | 75 63 74 20 49 6e 74 75 |.};..str|uct Intu|
|00002440| 69 54 65 78 74 20 6d 61 | 70 5f 46 4c 4f 4f 44 5f |iText ma|p_FLOOD_|
|00002450| 74 65 78 74 20 3d 20 7b | 0a 20 20 20 28 55 42 59 |text = {|. (UBY|
|00002460| 54 45 29 20 30 2c 20 28 | 55 42 59 54 45 29 20 31 |TE) 0, (|UBYTE) 1|
|00002470| 2c 0a 20 20 20 4a 41 4d | 31 2c 0a 20 20 20 28 53 |,. JAM|1,. (S|
|00002480| 48 4f 52 54 29 20 31 30 | 2c 20 28 53 48 4f 52 54 |HORT) 10|, (SHORT|
|00002490| 29 20 32 2c 0a 20 20 20 | 4e 55 4c 4c 2c 0a 20 20 |) 2,. |NULL,. |
|000024a0| 20 28 55 42 59 54 45 20 | 2a 29 20 22 46 6c 6f 6f | (UBYTE |*) "Floo|
|000024b0| 64 20 46 69 6c 6c 22 2c | 0a 20 20 20 4e 55 4c 4c |d Fill",|. NULL|
|000024c0| 0a 7d 3b 0a 0a 73 74 72 | 75 63 74 20 49 6e 74 75 |.};..str|uct Intu|
|000024d0| 69 54 65 78 74 20 6d 61 | 70 5f 47 52 49 44 5f 74 |iText ma|p_GRID_t|
|000024e0| 65 78 74 20 3d 20 7b 0a | 20 20 20 28 55 42 59 54 |ext = {.| (UBYT|
|000024f0| 45 29 20 30 2c 20 28 55 | 42 59 54 45 29 20 31 2c |E) 0, (U|BYTE) 1,|
|00002500| 0a 20 20 20 4a 41 4d 31 | 2c 0a 20 20 20 28 53 48 |. JAM1|,. (SH|
|00002510| 4f 52 54 29 20 31 30 2c | 20 28 53 48 4f 52 54 29 |ORT) 10,| (SHORT)|
|00002520| 20 32 2c 0a 20 20 20 4e | 55 4c 4c 2c 0a 20 20 20 | 2,. N|ULL,. |
|00002530| 28 55 42 59 54 45 20 2a | 29 20 22 47 72 69 64 22 |(UBYTE *|) "Grid"|
|00002540| 2c 0a 20 20 20 4e 55 4c | 4c 0a 7d 3b 0a 0a 73 74 |,. NUL|L.};..st|
|00002550| 72 75 63 74 20 49 6e 74 | 75 69 54 65 78 74 20 6d |ruct Int|uiText m|
|00002560| 61 70 5f 42 4f 58 5f 74 | 65 78 74 20 3d 20 7b 0a |ap_BOX_t|ext = {.|
|00002570| 20 20 20 28 55 42 59 54 | 45 29 20 30 2c 20 28 55 | (UBYT|E) 0, (U|
|00002580| 42 59 54 45 29 20 31 2c | 0a 20 20 20 4a 41 4d 31 |BYTE) 1,|. JAM1|
|00002590| 2c 0a 20 20 20 28 53 48 | 4f 52 54 29 20 31 30 2c |,. (SH|ORT) 10,|
|000025a0| 20 28 53 48 4f 52 54 29 | 20 32 2c 0a 20 20 20 4e | (SHORT)| 2,. N|
|000025b0| 55 4c 4c 2c 0a 20 20 20 | 28 55 42 59 54 45 20 2a |ULL,. |(UBYTE *|
|000025c0| 29 20 22 42 6f 78 22 2c | 0a 20 20 20 4e 55 4c 4c |) "Box",|. NULL|
|000025d0| 0a 7d 3b 0a 0a 73 74 72 | 75 63 74 20 49 6e 74 75 |.};..str|uct Intu|
|000025e0| 69 54 65 78 74 20 6d 61 | 70 5f 5a 4f 4f 4d 5f 4f |iText ma|p_ZOOM_O|
|000025f0| 55 54 5f 74 65 78 74 20 | 3d 20 7b 0a 20 20 20 28 |UT_text |= {. (|
|00002600| 00 00 00 08 00 00 04 7c | 00 00 00 04 00 00 01 e8 |.......||........|
|00002610| 00 00 00 14 16 84 24 e8 | 55 42 59 54 45 29 20 30 |......$.|UBYTE) 0|
|00002620| 2c 20 28 55 42 59 54 45 | 29 20 31 2c 0a 20 20 20 |, (UBYTE|) 1,. |
|00002630| 4a 41 4d 31 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |JAM1,. | (SHORT)|
|00002640| 20 31 30 2c 20 28 53 48 | 4f 52 54 29 20 32 2c 0a | 10, (SH|ORT) 2,.|
|00002650| 20 20 20 4e 55 4c 4c 2c | 0a 20 20 20 28 55 42 59 | NULL,|. (UBY|
|00002660| 54 45 20 2a 29 20 22 5a | 6f 6f 6d 20 4f 75 74 22 |TE *) "Z|oom Out"|
|00002670| 2c 0a 20 20 20 4e 55 4c | 4c 0a 7d 3b 0a 0a 73 74 |,. NUL|L.};..st|
|00002680| 72 75 63 74 20 49 6e 74 | 75 69 54 65 78 74 20 6d |ruct Int|uiText m|
|00002690| 61 70 5f 5a 4f 4f 4d 5f | 49 4e 5f 74 65 78 74 20 |ap_ZOOM_|IN_text |
|000026a0| 3d 20 7b 0a 20 20 20 28 | 55 42 59 54 45 29 20 30 |= {. (|UBYTE) 0|
|000026b0| 2c 20 28 55 42 59 54 45 | 29 20 31 2c 0a 20 20 20 |, (UBYTE|) 1,. |
|000026c0| 4a 41 4d 31 2c 0a 20 20 | 20 28 53 48 4f 52 54 29 |JAM1,. | (SHORT)|
|000026d0| 20 31 30 2c 20 28 53 48 | 4f 52 54 29 20 32 2c 0a | 10, (SH|ORT) 2,.|
|000026e0| 20 20 20 4e 55 4c 4c 2c | 0a 20 20 20 28 55 42 59 | NULL,|. (UBY|
|000026f0| 54 45 20 2a 29 20 22 5a | 6f 6f 6d 20 49 6e 22 2c |TE *) "Z|oom In",|
|00002700| 0a 20 20 20 4e 55 4c 4c | 0a 7d 3b 0a 0a 73 74 72 |. NULL|.};..str|
|00002710| 75 63 74 20 49 6e 74 75 | 69 54 65 78 74 20 6d 61 |uct Intu|iText ma|
|00002720| 70 5f 4f 52 42 49 54 41 | 4c 5f 74 65 78 74 20 3d |p_ORBITA|L_text =|
|00002730| 20 7b 0a 20 20 20 28 55 | 42 59 54 45 29 20 30 2c | {. (U|BYTE) 0,|
|00002740| 20 28 55 42 59 54 45 29 | 20 31 2c 0a 20 20 20 4a | (UBYTE)| 1,. J|
|00002750| 41 4d 31 2c 0a 20 20 20 | 28 53 48 4f 52 54 29 20 |AM1,. |(SHORT) |
|00002760| 31 30 2c 20 28 53 48 4f | 52 54 29 20 32 2c 0a 20 |10, (SHO|RT) 2,. |
|00002770| 20 20 4e 55 4c 4c 2c 0a | 20 20 20 28 55 42 59 54 | NULL,.| (UBYT|
|00002780| 45 20 2a 29 20 22 4f 72 | 62 69 74 61 6c 22 2c 0a |E *) "Or|bital",.|
|00002790| 20 20 20 4e 55 4c 4c 0a | 7d 3b 0a 0a 73 74 72 75 | NULL.|};..stru|
|000027a0| 63 74 20 49 6e 74 75 69 | 54 65 78 74 20 6d 61 70 |ct Intui|Text map|
|000027b0| 5f 47 4c 4f 42 45 5f 74 | 65 78 74 20 3d 20 7b 0a |_GLOBE_t|ext = {.|
|000027c0| 20 20 20 28 55 42 59 54 | 45 29 20 30 2c 20 28 55 | (UBYT|E) 0, (U|
|000027d0| 42 59 54 45 29 20 31 2c | 0a 20 20 20 4a 41 4d 31 |BYTE) 1,|. JAM1|
|000027e0| 2c 0a 20 20 20 28 53 48 | 4f 52 54 29 20 31 30 2c |,. (SH|ORT) 10,|
|000027f0| 20 28 53 48 4f 52 54 29 | 20 32 2c 0a 20 20 20 4e | (SHORT)| 2,. N|
|00002800| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002810| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002880| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002890| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002900| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002910| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002920| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002940| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002950| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002960| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002970| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002980| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002aa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ab0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ac0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ad0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ae0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002af0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b00| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002b90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ba0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002c00| 00 00 00 08 00 00 04 78 | 00 00 00 21 00 00 01 e8 |.......x|...!....|
|00002c10| 00 00 00 17 1d 7c f1 2c | 20 70 6f 73 73 69 62 6c |.....|.,| possibl|
|00002c20| 65 20 61 6e 64 20 77 6f | 75 6c 64 20 63 75 74 20 |e and wo|uld cut |
|00002c30| 64 6f 77 6e 20 74 68 65 | 20 63 6f 6d 70 75 74 61 |down the| computa|
|00002c40| 74 69 6f 6e 20 66 6f 72 | 20 73 68 6f 72 74 0a 20 |tion for| short. |
|00002c50| 2a 20 6d 6f 75 73 65 20 | 6d 6f 76 65 6d 65 6e 74 |* mouse |movement|
|00002c60| 73 20 28 74 68 65 20 6d | 6f 73 74 20 63 6f 6d 6d |s (the m|ost comm|
|00002c70| 6f 6e 29 2e 0a 20 2a 2f | 0a 0a 73 74 61 74 69 63 |on).. */|..static|
|00002c80| 20 53 48 4f 52 54 20 70 | 6f 70 5f 63 6f 6d 70 75 | SHORT p|op_compu|
|00002c90| 74 65 73 74 61 74 65 20 | 28 77 69 6e 2c 20 6d 65 |testate |(win, me|
|00002ca0| 6e 75 29 0a 73 74 72 75 | 63 74 20 57 69 6e 64 6f |nu).stru|ct Windo|
|00002cb0| 77 20 2a 77 69 6e 3b 0a | 73 74 72 75 63 74 20 4d |w *win;.|struct M|
|00002cc0| 65 6e 75 20 2a 6d 65 6e | 75 3b 0a 0a 7b 0a 0a 20 |enu *men|u;..{.. |
|00002cd0| 20 20 72 65 67 69 73 74 | 65 72 20 53 48 4f 52 54 | regist|er SHORT|
|00002ce0| 20 63 75 72 72 65 6e 74 | 20 3d 20 30 3b 0a 20 20 | current| = 0;. |
|00002cf0| 20 72 65 67 69 73 74 65 | 72 20 53 48 4f 52 54 20 | registe|r SHORT |
|00002d00| 78 76 61 6c 2c 20 79 76 | 61 6c 3b 0a 20 20 20 72 |xval, yv|al;. r|
|00002d10| 65 67 69 73 74 65 72 20 | 73 74 72 75 63 74 20 4d |egister |struct M|
|00002d20| 65 6e 75 49 74 65 6d 20 | 2a 69 74 65 6d 3b 0a 0a |enuItem |*item;..|
|00002d30| 20 20 20 2f 2a 20 47 65 | 74 20 74 68 65 20 78 20 | /* Ge|t the x |
|00002d40| 61 6e 64 20 79 20 76 61 | 6c 73 20 6f 66 20 74 68 |and y va|ls of th|
|00002d50| 65 20 6d 6f 75 73 65 20 | 70 6f 73 69 74 69 6f 6e |e mouse |position|
|00002d60| 20 2a 2f 0a 0a 20 20 20 | 78 76 61 6c 20 3d 20 77 | */.. |xval = w|
|00002d70| 69 6e 2d 3e 4d 6f 75 73 | 65 58 3b 0a 20 20 20 79 |in->Mous|eX;. y|
|00002d80| 76 61 6c 20 3d 20 77 69 | 6e 2d 3e 4d 6f 75 73 65 |val = wi|n->Mouse|
|00002d90| 59 3b 0a 0a 20 20 20 2f | 2a 20 49 66 20 74 68 65 |Y;.. /|* If the|
|00002da0| 72 65 20 69 73 20 61 20 | 74 69 74 6c 65 2c 20 64 |re is a |title, d|
|00002db0| 65 63 72 65 6d 65 6e 74 | 20 74 68 65 20 79 76 61 |ecrement| the yva|
|00002dc0| 6c 20 62 79 20 74 68 65 | 20 63 6f 72 72 65 63 74 |l by the| correct|
|00002dd0| 20 61 6d 6f 75 6e 74 20 | 2a 2f 0a 0a 20 20 20 69 | amount |*/.. i|
|00002de0| 66 20 28 6d 65 6e 75 2d | 3e 4d 65 6e 75 4e 61 6d |f (menu-|>MenuNam|
|00002df0| 65 29 0a 20 20 20 20 20 | 20 79 76 61 6c 20 2d 3d |e). | yval -=|
|00002e00| 00 00 00 08 00 00 04 78 | 00 00 00 22 00 00 01 e8 |.......x|..."....|
|00002e10| 00 00 00 18 1f 3d 12 ed | 20 50 4f 50 54 49 54 4c |.....=..| POPTITL|
|00002e20| 45 48 45 49 47 48 54 3b | 0a 0a 20 20 20 2f 2a 20 |EHEIGHT;|.. /* |
|00002e30| 46 69 72 73 74 2c 20 73 | 65 65 20 69 66 20 74 68 |First, s|ee if th|
|00002e40| 65 20 70 6f 69 6e 74 65 | 72 20 69 73 20 65 76 65 |e pointe|r is eve|
|00002e50| 6e 20 69 6e 20 74 68 65 | 20 77 69 6e 64 6f 77 20 |n in the| window |
|00002e60| 2a 2f 0a 0a 20 20 20 69 | 66 20 28 28 78 76 61 6c |*/.. i|f ((xval|
|00002e70| 20 3c 20 30 29 20 7c 7c | 20 28 79 76 61 6c 20 3c | < 0) ||| (yval <|
|00002e80| 20 30 29 20 7c 7c 0a 20 | 20 20 20 20 20 28 78 76 | 0) ||. | (xv|
|00002e90| 61 6c 20 3e 20 77 69 6e | 2d 3e 57 69 64 74 68 29 |al > win|->Width)|
|00002ea0| 20 7c 7c 20 28 79 76 61 | 6c 20 3e 20 77 69 6e 2d | || (yva|l > win-|
|00002eb0| 3e 48 65 69 67 68 74 29 | 29 0a 20 20 20 20 20 20 |>Height)|). |
|00002ec0| 20 20 20 72 65 74 75 72 | 6e 20 28 2d 31 29 3b 0a | retur|n (-1);.|
|00002ed0| 0a 20 20 20 2f 2a 20 73 | 65 61 72 63 68 20 74 68 |. /* s|earch th|
|00002ee0| 72 6f 75 67 68 20 74 68 | 65 20 6c 69 73 74 20 6f |rough th|e list o|
|00002ef0| 66 20 6d 65 6e 75 20 69 | 74 65 6d 73 2c 20 63 68 |f menu i|tems, ch|
|00002f00| 65 63 6b 69 6e 67 20 74 | 68 65 20 73 65 6c 65 63 |ecking t|he selec|
|00002f10| 74 20 62 6f 78 20 20 2a | 2f 0a 20 20 20 2f 2a 20 |t box *|/. /* |
|00002f20| 6f 66 20 65 61 63 68 2e | 20 20 49 66 20 63 6f 6e |of each.| If con|
|00002f30| 74 61 69 6e 6d 65 6e 74 | 20 69 73 20 64 65 74 65 |tainment| is dete|
|00002f40| 63 74 65 64 2c 20 74 68 | 65 20 6a 6f 62 20 69 73 |cted, th|e job is|
|00002f50| 20 64 6f 6e 65 2e 20 20 | 20 20 20 20 20 20 20 20 | done. | |
|00002f60| 2a 2f 0a 0a 20 20 20 69 | 74 65 6d 20 3d 20 6d 65 |*/.. i|tem = me|
|00002f70| 6e 75 2d 3e 46 69 72 73 | 74 49 74 65 6d 3b 0a 20 |nu->Firs|tItem;. |
|00002f80| 20 20 77 68 69 6c 65 20 | 28 69 74 65 6d 29 20 20 | while |(item) |
|00002f90| 7b 0a 20 20 20 20 20 20 | 69 66 20 28 28 78 76 61 |{. |if ((xva|
|00002fa0| 6c 20 3e 3d 20 69 74 65 | 6d 2d 3e 4c 65 66 74 45 |l >= ite|m->LeftE|
|00002fb0| 64 67 65 29 20 26 26 20 | 28 79 76 61 6c 20 3e 3d |dge) && |(yval >=|
|00002fc0| 20 69 74 65 6d 2d 3e 54 | 6f 70 45 64 67 65 29 20 | item->T|opEdge) |
|00002fd0| 26 26 0a 20 20 20 20 20 | 20 20 20 20 28 78 76 61 |&&. | (xva|
|00002fe0| 6c 20 3c 3d 20 69 74 65 | 6d 2d 3e 4c 65 66 74 45 |l <= ite|m->LeftE|
|00002ff0| 64 67 65 20 2b 20 69 74 | 65 6d 2d 3e 57 69 64 74 |dge + it|em->Widt|
|00003000| 00 00 00 08 00 00 04 78 | 00 00 00 23 00 00 01 e8 |.......x|...#....|
|00003010| 00 00 00 19 2c ee 5a 45 | 68 29 20 26 26 0a 20 20 |....,.ZE|h) &&. |
|00003020| 20 20 20 20 20 20 20 28 | 79 76 61 6c 20 3c 3d 20 | (|yval <= |
|00003030| 69 74 65 6d 2d 3e 54 6f | 70 45 64 67 65 20 2b 20 |item->To|pEdge + |
|00003040| 69 74 65 6d 2d 3e 48 65 | 69 67 68 74 29 29 20 20 |item->He|ight)) |
|00003050| 7b 0a 0a 20 20 20 20 20 | 20 20 20 20 2f 2a 20 57 |{.. | /* W|
|00003060| 65 20 68 61 76 65 20 66 | 6f 75 6e 64 20 74 68 65 |e have f|ound the|
|00003070| 20 71 75 61 72 72 79 3b | 20 6e 6f 77 2c 20 74 68 | quarry;| now, th|
|00003080| 65 20 72 65 73 75 6c 74 | 20 6f 6e 6c 79 20 20 2a |e result| only *|
|00003090| 2f 0a 20 20 20 20 20 20 | 20 20 20 2f 2a 20 64 65 |/. | /* de|
|000030a0| 70 65 6e 64 73 20 6f 6e | 20 74 68 65 20 4d 65 6e |pends on| the Men|
|000030b0| 75 49 74 65 6d 27 73 20 | 49 54 45 4d 45 4e 41 42 |uItem's |ITEMENAB|
|000030c0| 4c 45 44 20 66 6c 61 67 | 2e 20 20 20 20 20 2a 2f |LED flag|. */|
|000030d0| 0a 0a 20 20 20 20 20 20 | 20 20 20 69 66 20 28 69 |.. | if (i|
|000030e0| 74 65 6d 2d 3e 46 6c 61 | 67 73 20 26 20 49 54 45 |tem->Fla|gs & ITE|
|000030f0| 4d 45 4e 41 42 4c 45 44 | 29 0a 20 20 20 20 20 20 |MENABLED|). |
|00003100| 20 20 20 20 20 20 72 65 | 74 75 72 6e 20 28 63 75 | re|turn (cu|
|00003110| 72 72 65 6e 74 29 3b 0a | 20 20 20 20 20 20 20 20 |rrent);.| |
|00003120| 20 65 6c 73 65 0a 20 20 | 20 20 20 20 20 20 20 20 | else. | |
|00003130| 20 20 72 65 74 75 72 6e | 20 28 2d 31 29 3b 0a 20 | return| (-1);. |
|00003140| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 63 75 72 | }. | cur|
|00003150| 72 65 6e 74 2b 2b 3b 0a | 20 20 20 20 20 20 69 74 |rent++;.| it|
|00003160| 65 6d 20 3d 20 69 74 65 | 6d 2d 3e 4e 65 78 74 49 |em = ite|m->NextI|
|00003170| 74 65 6d 3b 0a 20 20 20 | 7d 0a 0a 20 20 20 2f 2a |tem;. |}.. /*|
|00003180| 20 49 66 20 74 68 65 20 | 6c 69 73 74 20 69 73 20 | If the |list is |
|00003190| 65 78 68 61 75 73 74 65 | 64 2c 20 72 65 74 75 72 |exhauste|d, retur|
|000031a0| 6e 20 74 68 65 20 73 61 | 64 20 6e 65 77 73 20 2a |n the sa|d news *|
|000031b0| 2f 0a 0a 20 20 20 72 65 | 74 75 72 6e 20 28 2d 31 |/.. re|turn (-1|
|000031c0| 29 3b 0a 7d 0a 0a 2f 2a | 20 3d 3d 3d 3d 3d 3d 3d |);.}../*| =======|
|000031d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003200| 00 00 00 08 00 00 04 78 | 00 00 00 24 00 00 01 e8 |.......x|...$....|
|00003210| 00 00 00 1a d0 7a 9a 19 | 3d 3d 3d 3d 3d 3d 20 2a |.....z..|====== *|
|00003220| 2f 0a 0a 2f 2a 0a 20 2a | 20 70 6f 70 5f 68 69 67 |/../*. *| pop_hig|
|00003230| 68 6c 69 67 68 74 28 29 | 0a 20 2a 0a 20 2a 20 68 |hlight()|. *. * h|
|00003240| 69 67 68 6c 69 67 68 74 | 20 61 20 6d 65 6e 75 20 |ighlight| a menu |
|00003250| 69 74 65 6d 0a 20 2a 2f | 0a 0a 73 74 61 74 69 63 |item. */|..static|
|00003260| 20 56 4f 49 44 20 70 6f | 70 5f 68 69 67 68 6c 69 | VOID po|p_highli|
|00003270| 67 68 74 20 28 77 69 6e | 2c 20 6d 65 6e 75 2c 20 |ght (win|, menu, |
|00003280| 73 74 61 74 65 29 0a 0a | 73 74 72 75 63 74 20 57 |state)..|struct W|
|00003290| 69 6e 64 6f 77 20 2a 77 | 69 6e 3b 0a 73 74 72 75 |indow *w|in;.stru|
|000032a0| 63 74 20 4d 65 6e 75 20 | 2a 6d 65 6e 75 3b 0a 53 |ct Menu |*menu;.S|
|000032b0| 48 4f 52 54 20 73 74 61 | 74 65 3b 0a 0a 7b 0a 0a |HORT sta|te;..{..|
|000032c0| 20 20 20 70 6f 70 5f 64 | 6f 5f 68 69 67 68 6c 69 | pop_d|o_highli|
|000032d0| 67 68 74 69 6e 67 20 28 | 77 69 6e 2c 20 6d 65 6e |ghting (|win, men|
|000032e0| 75 2c 20 73 74 61 74 65 | 2c 20 30 29 3b 0a 0a 7d |u, state|, 0);..}|
|000032f0| 0a 0a 2f 2a 20 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |../* ===|========|
|00003300| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003310| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003320| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003330| 3d 3d 20 2a 2f 0a 0a 2f | 2a 0a 20 2a 20 70 6f 70 |== */../|*. * pop|
|00003340| 5f 75 6e 68 69 67 68 6c | 69 67 68 74 28 29 0a 20 |_unhighl|ight(). |
|00003350| 2a 0a 20 2a 20 75 6e 68 | 69 67 68 6c 69 67 68 74 |*. * unh|ighlight|
|00003360| 20 61 20 6d 65 6e 75 20 | 69 74 65 6d 0a 20 2a 2f | a menu |item. */|
|00003370| 0a 0a 73 74 61 74 69 63 | 20 56 4f 49 44 20 70 6f |..static| VOID po|
|00003380| 70 5f 75 6e 68 69 67 68 | 6c 69 67 68 74 20 28 77 |p_unhigh|light (w|
|00003390| 69 6e 2c 20 6d 65 6e 75 | 2c 20 73 74 61 74 65 29 |in, menu|, state)|
|000033a0| 0a 0a 73 74 72 75 63 74 | 20 57 69 6e 64 6f 77 20 |..struct| Window |
|000033b0| 2a 77 69 6e 3b 0a 73 74 | 72 75 63 74 20 4d 65 6e |*win;.st|ruct Men|
|000033c0| 75 20 2a 6d 65 6e 75 3b | 0a 53 48 4f 52 54 20 73 |u *menu;|.SHORT s|
|000033d0| 74 61 74 65 3b 0a 0a 7b | 0a 0a 20 20 20 70 6f 70 |tate;..{|.. pop|
|000033e0| 5f 64 6f 5f 68 69 67 68 | 6c 69 67 68 74 69 6e 67 |_do_high|lighting|
|000033f0| 20 28 77 69 6e 2c 20 6d | 65 6e 75 2c 20 73 74 61 | (win, m|enu, sta|
|00003400| 00 00 00 08 00 00 04 78 | 00 00 00 25 00 00 01 e8 |.......x|...%....|
|00003410| 00 00 00 1b 44 4b bb 58 | 74 65 2c 20 31 29 3b 0a |....DK.X|te, 1);.|
|00003420| 0a 7d 0a 0a 2f 2a 20 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.}../* =|========|
|00003430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003450| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003460| 3d 3d 3d 3d 20 2a 2f 0a | 0a 2f 2a 0a 20 2a 20 70 |==== */.|./*. * p|
|00003470| 6f 70 5f 64 6f 5f 68 69 | 67 68 6c 69 67 68 74 69 |op_do_hi|ghlighti|
|00003480| 6e 67 28 29 0a 20 2a 0a | 20 2a 20 48 69 67 68 6c |ng(). *.| * Highl|
|00003490| 69 67 68 74 20 6f 72 20 | 75 6e 68 69 67 68 6c 69 |ight or |unhighli|
|000034a0| 67 68 74 20 61 20 6d 65 | 6e 75 20 69 74 65 6d 2c |ght a me|nu item,|
|000034b0| 20 67 69 76 65 6e 20 69 | 74 73 20 74 72 61 76 65 | given i|ts trave|
|000034c0| 72 73 61 6c 20 6e 75 6d | 62 65 72 2e 20 20 41 73 |rsal num|ber. As|
|000034d0| 73 75 6d 65 73 0a 20 2a | 20 74 68 69 73 20 69 73 |sumes. *| this is|
|000034e0| 20 61 20 72 61 74 69 6f | 6e 61 6c 20 76 61 6c 75 | a ratio|nal valu|
|000034f0| 65 20 2d 2d 20 69 66 20 | 69 74 20 69 73 6e 27 74 |e -- if |it isn't|
|00003500| 2c 20 57 61 74 63 68 20 | 4f 75 74 2e 0a 20 2a 2f |, Watch |Out.. */|
|00003510| 0a 0a 73 74 61 74 69 63 | 20 56 4f 49 44 20 70 6f |..static| VOID po|
|00003520| 70 5f 64 6f 5f 68 69 67 | 68 6c 69 67 68 74 69 6e |p_do_hig|hlightin|
|00003530| 67 20 28 77 69 6e 2c 20 | 6d 65 6e 75 2c 20 73 74 |g (win, |menu, st|
|00003540| 61 74 65 2c 20 6d 6f 64 | 65 29 0a 0a 73 74 72 75 |ate, mod|e)..stru|
|00003550| 63 74 20 57 69 6e 64 6f | 77 20 2a 77 69 6e 3b 0a |ct Windo|w *win;.|
|00003560| 73 74 72 75 63 74 20 4d | 65 6e 75 20 2a 6d 65 6e |struct M|enu *men|
|00003570| 75 3b 0a 53 48 4f 52 54 | 20 73 74 61 74 65 3b 0a |u;.SHORT| state;.|
|00003580| 53 48 4f 52 54 20 6d 6f | 64 65 3b 20 20 20 20 20 |SHORT mo|de; |
|00003590| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000035a0| 20 20 20 20 20 20 20 2f | 2a 20 30 20 6d 65 61 6e | /|* 0 mean|
|000035b0| 73 20 74 6f 20 68 69 67 | 68 6c 69 67 68 74 2c 20 |s to hig|hlight, |
|000035c0| 20 2a 2f 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | */. | |
|000035d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000035e0| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 31 20 | | /* 1 |
|000035f0| 6d 65 61 6e 73 20 74 6f | 20 75 6e 68 69 67 68 6c |means to| unhighl|
|00003600| 00 00 00 08 00 00 04 78 | 00 00 00 26 00 00 01 e8 |.......x|...&....|
|00003610| 00 00 00 1c 47 38 9c ac | 69 67 68 74 20 2a 2f 0a |....G8..|ight */.|
|00003620| 0a 7b 0a 0a 20 20 20 72 | 65 67 69 73 74 65 72 20 |.{.. r|egister |
|00003630| 73 74 72 75 63 74 20 4d | 65 6e 75 49 74 65 6d 20 |struct M|enuItem |
|00003640| 2a 69 74 65 6d 3b 0a 20 | 20 20 73 74 72 75 63 74 |*item;. | struct|
|00003650| 20 52 61 73 74 50 6f 72 | 74 20 2a 72 70 3b 0a 20 | RastPor|t *rp;. |
|00003660| 20 20 53 48 4f 52 54 20 | 6f 66 66 73 65 74 20 3d | SHORT |offset =|
|00003670| 20 30 3b 0a 0a 20 20 20 | 69 66 20 28 6d 65 6e 75 | 0;.. |if (menu|
|00003680| 2d 3e 4d 65 6e 75 4e 61 | 6d 65 29 0a 20 20 20 20 |->MenuNa|me). |
|00003690| 20 20 6f 66 66 73 65 74 | 20 3d 20 50 4f 50 54 49 | offset| = POPTI|
|000036a0| 54 4c 45 48 45 49 47 48 | 54 3b 0a 0a 20 20 20 2f |TLEHEIGH|T;.. /|
|000036b0| 2a 20 47 65 74 20 74 68 | 65 20 63 6f 72 72 65 63 |* Get th|e correc|
|000036c0| 74 20 4d 65 6e 75 49 74 | 65 6d 20 73 74 72 75 63 |t MenuIt|em struc|
|000036d0| 74 75 72 65 20 2a 2f 0a | 0a 20 20 20 69 74 65 6d |ture */.|. item|
|000036e0| 20 3d 20 70 6f 70 5f 67 | 65 74 69 74 65 6d 20 28 | = pop_g|etitem (|
|000036f0| 6d 65 6e 75 2c 20 73 74 | 61 74 65 29 3b 0a 0a 20 |menu, st|ate);.. |
|00003700| 20 20 72 70 20 3d 20 77 | 69 6e 2d 3e 52 50 6f 72 | rp = w|in->RPor|
|00003710| 74 3b 0a 0a 20 20 20 2f | 2a 20 4e 6f 77 2c 20 64 |t;.. /|* Now, d|
|00003720| 6f 20 74 68 65 20 68 69 | 67 68 6c 69 67 68 74 69 |o the hi|ghlighti|
|00003730| 6e 67 21 20 20 54 68 65 | 20 61 63 74 69 6f 6e 20 |ng! The| action |
|00003740| 74 6f 20 62 65 20 74 61 | 6b 65 6e 20 64 65 70 65 |to be ta|ken depe|
|00003750| 6e 64 73 20 6f 6e 20 20 | 20 20 2a 2f 0a 20 20 20 |nds on | */. |
|00003760| 2f 2a 20 74 68 65 20 74 | 79 70 65 20 6f 66 20 68 |/* the t|ype of h|
|00003770| 69 67 68 6c 69 67 68 74 | 69 6e 67 20 64 65 73 69 |ighlight|ing desi|
|00003780| 72 65 64 20 66 6f 72 20 | 74 68 69 73 20 69 74 65 |red for |this ite|
|00003790| 6d 2e 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |m. | |
|000037a0| 20 20 20 2a 2f 0a 20 20 | 20 2f 2a 20 54 68 65 20 | */. | /* The |
|000037b0| 77 61 79 20 74 68 61 74 | 20 74 68 65 20 66 6c 61 |way that| the fla|
|000037c0| 67 73 20 66 6f 72 20 68 | 69 67 68 6c 69 67 68 74 |gs for h|ighlight|
|000037d0| 69 6e 67 20 77 6f 72 6b | 73 20 69 73 20 74 72 75 |ing work|s is tru|
|000037e0| 6c 79 20 62 69 7a 61 72 | 72 65 20 20 2a 2f 0a 0a |ly bizar|re */..|
|000037f0| 20 20 20 69 66 20 28 28 | 69 74 65 6d 2d 3e 46 6c | if ((|item->Fl|
|00003800| 00 00 00 08 00 00 04 78 | 00 00 00 27 00 00 01 e8 |.......x|...'....|
|00003810| 00 00 00 1d 71 19 d8 c6 | 61 67 73 20 26 20 48 49 |....q...|ags & HI|
|00003820| 47 48 4e 4f 4e 45 29 20 | 3d 3d 20 48 49 47 48 4e |GHNONE) |== HIGHN|
|00003830| 4f 4e 45 29 0a 20 20 20 | 20 20 20 72 65 74 75 72 |ONE). | retur|
|00003840| 6e 3b 0a 0a 20 20 20 69 | 66 20 28 69 74 65 6d 2d |n;.. i|f (item-|
|00003850| 3e 46 6c 61 67 73 20 26 | 20 48 49 47 48 43 4f 4d |>Flags &| HIGHCOM|
|00003860| 50 29 20 20 7b 0a 20 20 | 20 20 20 20 53 65 74 44 |P) {. | SetD|
|00003870| 72 4d 64 20 28 72 70 2c | 20 43 4f 4d 50 4c 45 4d |rMd (rp,| COMPLEM|
|00003880| 45 4e 54 29 3b 0a 20 20 | 20 20 20 20 52 65 63 74 |ENT);. | Rect|
|00003890| 46 69 6c 6c 20 28 72 70 | 2c 20 28 4c 4f 4e 47 29 |Fill (rp|, (LONG)|
|000038a0| 20 69 74 65 6d 2d 3e 4c | 65 66 74 45 64 67 65 2c | item->L|eftEdge,|
|000038b0| 20 28 4c 4f 4e 47 29 20 | 28 69 74 65 6d 2d 3e 54 | (LONG) |(item->T|
|000038c0| 6f 70 45 64 67 65 20 2b | 0a 20 20 20 20 20 20 20 |opEdge +|. |
|000038d0| 20 6f 66 66 73 65 74 29 | 2c 20 28 4c 4f 4e 47 29 | offset)|, (LONG)|
|000038e0| 20 28 69 74 65 6d 2d 3e | 4c 65 66 74 45 64 67 65 | (item->|LeftEdge|
|000038f0| 20 2b 20 69 74 65 6d 2d | 3e 57 69 64 74 68 20 2d | + item-|>Width -|
|00003900| 20 31 29 2c 0a 20 20 20 | 20 20 20 20 20 28 4c 4f | 1),. | (LO|
|00003910| 4e 47 29 20 28 69 74 65 | 6d 2d 3e 54 6f 70 45 64 |NG) (ite|m->TopEd|
|00003920| 67 65 20 2b 20 69 74 65 | 6d 2d 3e 48 65 69 67 68 |ge + ite|m->Heigh|
|00003930| 74 20 2b 20 6f 66 66 73 | 65 74 29 29 3b 0a 20 20 |t + offs|et));. |
|00003940| 20 7d 0a 20 20 20 65 6c | 73 65 20 69 66 20 28 69 | }. el|se if (i|
|00003950| 74 65 6d 2d 3e 46 6c 61 | 67 73 20 26 20 48 49 47 |tem->Fla|gs & HIG|
|00003960| 48 42 4f 58 29 20 20 7b | 0a 20 20 20 20 20 20 53 |HBOX) {|. S|
|00003970| 65 74 44 72 4d 64 20 28 | 72 70 2c 20 43 4f 4d 50 |etDrMd (|rp, COMP|
|00003980| 4c 45 4d 45 4e 54 29 3b | 0a 20 20 20 20 20 20 4d |LEMENT);|. M|
|00003990| 6f 76 65 20 28 72 70 2c | 20 28 4c 4f 4e 47 29 20 |ove (rp,| (LONG) |
|000039a0| 69 74 65 6d 2d 3e 4c 65 | 66 74 45 64 67 65 2c 20 |item->Le|ftEdge, |
|000039b0| 28 4c 4f 4e 47 29 20 28 | 69 74 65 6d 2d 3e 54 6f |(LONG) (|item->To|
|000039c0| 70 45 64 67 65 20 2b 20 | 0a 20 20 20 20 20 20 20 |pEdge + |. |
|000039d0| 20 6f 66 66 73 65 74 29 | 29 3b 0a 20 20 20 20 20 | offset)|);. |
|000039e0| 20 44 72 61 77 20 28 72 | 70 2c 20 28 4c 4f 4e 47 | Draw (r|p, (LONG|
|000039f0| 29 20 28 69 74 65 6d 2d | 3e 4c 65 66 74 45 64 67 |) (item-|>LeftEdg|
|00003a00| 00 00 00 08 00 00 04 78 | 00 00 00 28 00 00 01 e8 |.......x|...(....|
|00003a10| 00 00 00 1e 99 ef 74 eb | 65 20 2b 20 69 74 65 6d |......t.|e + item|
|00003a20| 2d 3e 57 69 64 74 68 20 | 2d 20 31 29 2c 0a 20 20 |->Width |- 1),. |
|00003a30| 20 20 20 20 20 20 28 4c | 4f 4e 47 29 20 28 69 74 | (L|ONG) (it|
|00003a40| 65 6d 2d 3e 54 6f 70 45 | 64 67 65 20 2b 20 6f 66 |em->TopE|dge + of|
|00003a50| 66 73 65 74 29 29 3b 0a | 20 20 20 20 20 20 44 72 |fset));.| Dr|
|00003a60| 61 77 20 28 72 70 2c 20 | 28 4c 4f 4e 47 29 20 28 |aw (rp, |(LONG) (|
|00003a70| 69 74 65 6d 2d 3e 4c 65 | 66 74 45 64 67 65 20 2b |item->Le|ftEdge +|
|00003a80| 20 69 74 65 6d 2d 3e 57 | 69 64 74 68 20 2d 20 31 | item->W|idth - 1|
|00003a90| 29 2c 0a 20 20 20 20 20 | 20 20 20 28 4c 4f 4e 47 |),. | (LONG|
|00003aa0| 29 20 28 69 74 65 6d 2d | 3e 54 6f 70 45 64 67 65 |) (item-|>TopEdge|
|00003ab0| 20 2b 20 69 74 65 6d 2d | 3e 48 65 69 67 68 74 20 | + item-|>Height |
|00003ac0| 2b 20 6f 66 66 73 65 74 | 29 29 3b 0a 20 20 20 20 |+ offset|));. |
|00003ad0| 20 20 44 72 61 77 20 28 | 72 70 2c 20 28 4c 4f 4e | Draw (|rp, (LON|
|00003ae0| 47 29 20 69 74 65 6d 2d | 3e 4c 65 66 74 45 64 67 |G) item-|>LeftEdg|
|00003af0| 65 2c 0a 20 20 20 20 20 | 20 20 20 28 4c 4f 4e 47 |e,. | (LONG|
|00003b00| 29 20 28 69 74 65 6d 2d | 3e 54 6f 70 45 64 67 65 |) (item-|>TopEdge|
|00003b10| 20 2b 20 69 74 65 6d 2d | 3e 48 65 69 67 68 74 20 | + item-|>Height |
|00003b20| 2b 20 6f 66 66 73 65 74 | 29 29 3b 0a 20 20 20 20 |+ offset|));. |
|00003b30| 20 20 44 72 61 77 20 28 | 72 70 2c 20 28 4c 4f 4e | Draw (|rp, (LON|
|00003b40| 47 29 20 69 74 65 6d 2d | 3e 4c 65 66 74 45 64 67 |G) item-|>LeftEdg|
|00003b50| 65 2c 20 28 4c 4f 4e 47 | 29 20 0a 20 20 20 20 20 |e, (LONG|) . |
|00003b60| 20 20 20 28 69 74 65 6d | 2d 3e 54 6f 70 45 64 67 | (item|->TopEdg|
|00003b70| 65 20 2b 20 6f 66 66 73 | 65 74 29 29 3b 0a 20 20 |e + offs|et));. |
|00003b80| 20 7d 0a 0a 20 20 20 2f | 2a 20 20 4f 74 68 65 72 | }.. /|* Other|
|00003b90| 77 69 73 65 2c 20 74 68 | 65 20 6d 6f 64 65 20 69 |wise, th|e mode i|
|00003ba0| 73 20 48 49 47 48 49 4d | 41 47 45 20 2a 2f 0a 0a |s HIGHIM|AGE */..|
|00003bb0| 20 20 20 65 6c 73 65 0a | 20 20 20 20 20 20 70 6f | else.| po|
|00003bc0| 70 5f 64 72 61 77 5f 6d | 65 6e 75 69 74 65 6d 20 |p_draw_m|enuitem |
|00003bd0| 28 77 69 6e 2c 20 69 74 | 65 6d 2c 20 21 6d 6f 64 |(win, it|em, !mod|
|00003be0| 65 2c 20 6f 66 66 73 65 | 74 29 3b 0a 7d 0a 0a 2f |e, offse|t);.}../|
|00003bf0| 2a 20 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |* ======|========|
|00003c00| 00 00 00 08 00 00 04 78 | 00 00 00 29 00 00 01 e8 |.......x|...)....|
|00003c10| 00 00 00 1f 33 5a 0b 8f | 3d 3d 3d 3d 3d 3d 3d 3d |....3Z..|========|
|00003c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003c40| 3d 3d 3d 3d 3d 3d 3d 20 | 2a 2f 0a 0a 2f 2a 0a 20 |======= |*/../*. |
|00003c50| 2a 20 70 6f 70 5f 72 65 | 6e 64 65 72 28 29 0a 20 |* pop_re|nder(). |
|00003c60| 2a 0a 20 2a 20 72 65 6e | 64 65 72 73 20 74 68 65 |*. * ren|ders the|
|00003c70| 20 6d 65 6e 75 20 74 69 | 74 6c 65 20 28 69 66 20 | menu ti|tle (if |
|00003c80| 65 78 69 73 74 65 6e 74 | 29 20 61 6e 64 20 74 68 |existent|) and th|
|00003c90| 65 20 6d 65 6e 75 20 69 | 74 65 6d 73 0a 20 2a 2f |e menu i|tems. */|
|00003ca0| 0a 0a 73 74 61 74 69 63 | 20 56 4f 49 44 20 70 6f |..static| VOID po|
|00003cb0| 70 5f 72 65 6e 64 65 72 | 20 28 77 69 6e 2c 20 6d |p_render| (win, m|
|00003cc0| 65 6e 75 29 0a 0a 73 74 | 72 75 63 74 20 57 69 6e |enu)..st|ruct Win|
|00003cd0| 64 6f 77 20 2a 77 69 6e | 3b 0a 73 74 72 75 63 74 |dow *win|;.struct|
|00003ce0| 20 4d 65 6e 75 20 2a 6d | 65 6e 75 3b 0a 0a 7b 0a | Menu *m|enu;..{.|
|00003cf0| 0a 20 20 20 73 74 72 75 | 63 74 20 4d 65 6e 75 49 |. stru|ct MenuI|
|00003d00| 74 65 6d 20 2a 69 74 65 | 6d 3b 0a 20 20 20 73 74 |tem *ite|m;. st|
|00003d10| 72 75 63 74 20 52 61 73 | 74 50 6f 72 74 20 2a 72 |ruct Ras|tPort *r|
|00003d20| 70 3b 0a 20 20 20 53 48 | 4f 52 54 20 6f 66 66 73 |p;. SH|ORT offs|
|00003d30| 65 74 20 3d 20 30 3b 0a | 0a 20 20 20 72 70 20 3d |et = 0;.|. rp =|
|00003d40| 20 77 69 6e 2d 3e 52 50 | 6f 72 74 3b 0a 0a 20 20 | win->RP|ort;.. |
|00003d50| 20 2f 2a 20 46 69 6c 6c | 20 74 68 65 20 62 61 63 | /* Fill| the bac|
|00003d60| 6b 67 72 6f 75 6e 64 20 | 77 69 74 68 20 63 6f 6c |kground |with col|
|00003d70| 6f 72 20 31 2c 20 6c 69 | 6b 65 20 49 6e 74 75 69 |or 1, li|ke Intui|
|00003d80| 74 69 6f 6e 20 4d 65 6e | 75 73 20 2a 2f 0a 0a 20 |tion Men|us */.. |
|00003d90| 20 20 53 65 74 41 50 65 | 6e 20 28 72 70 2c 20 31 | SetAPe|n (rp, 1|
|00003da0| 4c 29 3b 0a 20 20 20 52 | 65 63 74 46 69 6c 6c 20 |L);. R|ectFill |
|00003db0| 28 72 70 2c 20 30 4c 2c | 20 30 4c 2c 20 28 4c 4f |(rp, 0L,| 0L, (LO|
|00003dc0| 4e 47 29 20 77 69 6e 2d | 3e 57 69 64 74 68 2c 20 |NG) win-|>Width, |
|00003dd0| 28 4c 4f 4e 47 29 20 77 | 69 6e 2d 3e 48 65 69 67 |(LONG) w|in->Heig|
|00003de0| 68 74 29 3b 0a 0a 20 20 | 20 2f 2a 20 46 69 72 73 |ht);.. | /* Firs|
|00003df0| 74 2c 20 69 66 20 74 68 | 65 72 65 20 69 73 20 61 |t, if th|ere is a|
|00003e00| 00 00 00 08 00 00 04 78 | 00 00 00 2a 00 00 01 e8 |.......x|...*....|
|00003e10| 00 00 00 20 ac 68 d8 a3 | 20 54 69 74 6c 65 20 66 |... .h..| Title f|
|00003e20| 6f 72 20 74 68 69 73 20 | 6d 65 6e 75 2c 20 72 65 |or this |menu, re|
|00003e30| 6e 64 65 72 20 69 74 20 | 69 6e 20 74 68 65 20 74 |nder it |in the t|
|00003e40| 6f 70 20 2a 2f 0a 20 20 | 20 2f 2a 20 6f 66 20 74 |op */. | /* of t|
|00003e50| 68 65 20 6d 65 6e 75 2e | 20 20 20 20 20 20 20 20 |he menu.| |
|00003e60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e70| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00003e80| 20 20 20 20 20 20 20 20 | 20 20 20 2a 2f 0a 0a 20 | | */.. |
|00003e90| 20 20 69 66 20 28 6d 65 | 6e 75 2d 3e 4d 65 6e 75 | if (me|nu->Menu|
|00003ea0| 4e 61 6d 65 29 20 20 7b | 0a 20 20 20 20 20 20 53 |Name) {|. S|
|00003eb0| 65 74 44 72 4d 64 20 28 | 72 70 2c 20 4a 41 4d 31 |etDrMd (|rp, JAM1|
|00003ec0| 29 3b 0a 20 20 20 20 20 | 20 53 65 74 41 50 65 6e |);. | SetAPen|
|00003ed0| 20 28 72 70 2c 20 30 4c | 29 3b 0a 20 20 20 20 20 | (rp, 0L|);. |
|00003ee0| 20 53 65 74 42 50 65 6e | 20 28 72 70 2c 20 31 4c | SetBPen| (rp, 1L|
|00003ef0| 29 3b 0a 20 20 20 20 20 | 20 4d 6f 76 65 20 28 72 |);. | Move (r|
|00003f00| 70 2c 20 34 4c 2c 20 37 | 4c 29 3b 0a 20 20 20 20 |p, 4L, 7|L);. |
|00003f10| 20 20 54 65 78 74 20 28 | 72 70 2c 20 6d 65 6e 75 | Text (|rp, menu|
|00003f20| 2d 3e 4d 65 6e 75 4e 61 | 6d 65 2c 20 28 4c 4f 4e |->MenuNa|me, (LON|
|00003f30| 47 29 20 70 6f 70 5f 73 | 74 72 6c 65 6e 28 6d 65 |G) pop_s|trlen(me|
|00003f40| 6e 75 2d 3e 4d 65 6e 75 | 4e 61 6d 65 29 29 3b 0a |nu->Menu|Name));.|
|00003f50| 20 20 20 20 20 20 53 65 | 74 44 72 4d 64 20 28 72 | Se|tDrMd (r|
|00003f60| 70 2c 20 43 4f 4d 50 4c | 45 4d 45 4e 54 29 3b 0a |p, COMPL|EMENT);.|
|00003f70| 20 20 20 20 20 20 52 65 | 63 74 46 69 6c 6c 20 28 | Re|ctFill (|
|00003f80| 72 70 2c 30 4c 2c 30 4c | 2c 20 28 4c 4f 4e 47 29 |rp,0L,0L|, (LONG)|
|00003f90| 20 77 69 6e 2d 3e 57 69 | 64 74 68 2c 20 28 4c 4f | win->Wi|dth, (LO|
|00003fa0| 4e 47 29 20 50 4f 50 54 | 49 54 4c 45 48 45 49 47 |NG) POPT|ITLEHEIG|
|00003fb0| 48 54 29 3b 0a 20 20 20 | 20 20 20 53 65 74 44 72 |HT);. | SetDr|
|00003fc0| 4d 64 20 28 72 70 2c 20 | 4a 41 4d 31 29 3b 0a 20 |Md (rp, |JAM1);. |
|00003fd0| 20 20 20 20 20 6f 66 66 | 73 65 74 20 3d 20 50 4f | off|set = PO|
|00003fe0| 50 54 49 54 4c 45 48 45 | 49 47 48 54 3b 0a 20 20 |PTITLEHE|IGHT;. |
|00003ff0| 20 7d 0a 0a 20 20 20 2f | 2a 20 6e 6f 77 20 72 65 | }.. /|* now re|
|00004000| 00 00 00 08 00 00 04 78 | 00 00 00 2b 00 00 01 e8 |.......x|...+....|
|00004010| 00 00 00 0b 8d dd 86 94 | 6e 64 65 72 20 61 6c 6c |........|nder all|
|00004020| 20 6f 66 20 74 68 65 20 | 6d 65 6e 75 20 69 74 65 | of the |menu ite|
|00004030| 6d 73 20 2a 2f 0a 0a 20 | 20 20 69 74 65 6d 20 3d |ms */.. | item =|
|00004040| 20 6d 65 6e 75 2d 3e 46 | 69 72 73 74 49 74 65 6d | menu->F|irstItem|
|00004050| 3b 0a 20 20 20 77 68 69 | 6c 65 20 28 69 74 65 6d |;. whi|le (item|
|00004060| 29 20 20 7b 0a 20 20 20 | 20 20 20 70 6f 70 5f 64 |) {. | pop_d|
|00004070| 72 61 77 5f 6d 65 6e 75 | 69 74 65 6d 20 28 77 69 |raw_menu|item (wi|
|00004080| 6e 2c 20 69 74 65 6d 2c | 20 30 2c 20 6f 66 66 73 |n, item,| 0, offs|
|00004090| 65 74 29 3b 0a 20 20 20 | 20 20 20 69 74 65 6d 20 |et);. | item |
|000040a0| 3d 20 69 74 65 6d 2d 3e | 4e 65 78 74 49 74 65 6d |= item->|NextItem|
|000040b0| 3b 0a 20 20 20 7d 0a 7d | 0a 0a 2f 2a 20 3d 3d 3d |;. }.}|../* ===|
|000040c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000040d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000040e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000040f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 20 2a 2f 0a 0a 2f |========|== */../|
|00004100| 2a 20 41 72 65 61 20 66 | 69 6c 6c 20 70 61 74 74 |* Area f|ill patt|
|00004110| 65 72 6e 73 20 2a 2f 0a | 0a 73 74 61 74 69 63 20 |erns */.|.static |
|00004120| 55 53 48 4f 52 54 20 70 | 6f 70 5f 67 68 6f 73 74 |USHORT p|op_ghost|
|00004130| 5f 70 61 74 74 65 72 6e | 5b 5d 20 3d 20 7b 0a 20 |_pattern|[] = {. |
|00004140| 20 20 30 78 31 31 31 31 | 2c 20 30 78 34 34 34 34 | 0x1111|, 0x4444|
|00004150| 0a 7d 3b 0a 73 74 61 74 | 69 63 20 55 53 48 4f 52 |.};.stat|ic USHOR|
|00004160| 54 20 70 6f 70 5f 6e 6f | 72 6d 61 6c 5f 70 61 74 |T pop_no|rmal_pat|
|00004170| 74 65 72 6e 5b 5d 20 3d | 20 7b 0a 20 20 20 30 78 |tern[] =| {. 0x|
|00004180| 66 66 66 66 2c 20 30 78 | 66 66 66 66 0a 7d 3b 0a |ffff, 0x|ffff.};.|
|00004190| 0a 2f 2a 20 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |./* ====|========|
|000041a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000041d0| 3d 20 2a 2f 0a 0a 2f 2a | 0a 20 2a 20 70 6f 70 5f |= */../*|. * pop_|
|000041e0| 64 72 61 77 5f 6d 65 6e | 75 69 74 65 6d 28 29 0a |draw_men|uitem().|
|000041f0| 20 2a 0a 20 2a 20 44 72 | 61 77 73 20 74 68 65 20 | *. * Dr|aws the |
|00004200| 00 00 00 08 00 00 04 78 | 00 00 00 16 00 00 01 e8 |.......x|........|
|00004210| 00 00 00 22 9f 0b 97 20 | 57 69 6e 64 6f 77 20 28 |..."... |Window (|
|00004220| 26 70 6f 70 5f 77 69 6e | 64 6f 77 29 3b 0a 20 20 |&pop_win|dow);. |
|00004230| 20 69 66 20 28 70 6f 70 | 77 69 6e 20 3d 3d 20 4e | if (pop|win == N|
|00004240| 55 4c 4c 29 20 20 20 20 | 20 20 20 20 20 20 20 20 |ULL) | |
|00004250| 20 20 20 20 20 2f 2a 20 | 61 6c 6c 20 74 68 61 74 | /* |all that|
|00004260| 20 77 6f 72 6b 20 66 6f | 72 20 6e 75 74 68 69 6e | work fo|r nuthin|
|00004270| 27 20 2a 2f 0a 20 20 20 | 20 20 20 72 65 74 75 72 |' */. | retur|
|00004280| 6e 20 28 28 4c 4f 4e 47 | 29 20 28 2d 31 29 29 3b |n ((LONG|) (-1));|
|00004290| 0a 0a 20 20 20 2f 2a 20 | 4e 6f 77 2c 20 72 65 6e |.. /* |Now, ren|
|000042a0| 64 65 72 20 74 68 65 20 | 6d 65 6e 75 20 69 74 65 |der the |menu ite|
|000042b0| 6d 73 20 61 6e 64 20 28 | 70 6f 73 73 69 62 6c 79 |ms and (|possibly|
|000042c0| 29 20 74 68 65 20 6d 65 | 6e 75 20 74 69 74 6c 65 |) the me|nu title|
|000042d0| 2e 20 20 20 20 20 20 20 | 2a 2f 0a 0a 20 20 20 70 |. |*/.. p|
|000042e0| 6f 70 5f 72 65 6e 64 65 | 72 20 28 70 6f 70 77 69 |op_rende|r (popwi|
|000042f0| 6e 2c 20 6d 65 6e 75 29 | 3b 0a 0a 20 20 20 2f 2a |n, menu)|;.. /*|
|00004300| 20 4e 6f 77 2c 20 73 65 | 65 20 69 66 20 74 68 65 | Now, se|e if the|
|00004310| 20 70 6f 69 6e 74 65 72 | 20 69 73 20 6f 76 65 72 | pointer| is over|
|00004320| 20 61 20 73 65 6c 65 63 | 74 69 6f 6e 2e 20 20 54 | a selec|tion. T|
|00004330| 68 65 20 76 61 72 69 61 | 62 6c 65 20 20 20 20 20 |he varia|ble |
|00004340| 20 2a 2f 0a 20 20 20 2f | 2a 20 27 70 6f 70 5f 73 | */. /|* 'pop_s|
|00004350| 74 61 74 65 27 20 77 69 | 6c 6c 20 66 72 6f 6d 20 |tate' wi|ll from |
|00004360| 74 68 69 73 20 70 6f 69 | 6e 74 20 6f 6e 20 68 6f |this poi|nt on ho|
|00004370| 6c 64 20 74 68 65 20 76 | 61 6c 75 65 2c 20 69 6e |ld the v|alue, in|
|00004380| 20 6c 69 6e 65 61 72 20 | 20 20 2a 2f 0a 20 20 20 | linear | */. |
|00004390| 2f 2a 20 74 72 61 76 65 | 72 73 61 6c 20 6f 72 64 |/* trave|rsal ord|
|000043a0| 65 72 20 6f 66 20 74 68 | 65 20 4d 65 6e 75 49 74 |er of th|e MenuIt|
|000043b0| 65 6d 73 20 28 7a 65 72 | 6f 2d 69 6e 64 65 78 65 |ems (zer|o-indexe|
|000043c0| 64 29 2c 20 74 68 65 20 | 63 75 72 72 65 6e 74 6c |d), the |currentl|
|000043d0| 79 20 20 2a 2f 0a 20 20 | 20 2f 2a 20 73 65 6c 65 |y */. | /* sele|
|000043e0| 63 74 65 64 20 6d 65 6e | 75 20 69 74 65 6d 2c 20 |cted men|u item, |
|000043f0| 6f 72 20 2d 31 20 69 66 | 20 6e 6f 6e 65 20 61 72 |or -1 if| none ar|
|00004400| 00 00 00 08 00 00 04 78 | 00 00 00 17 00 00 01 e8 |.......x|........|
|00004410| 00 00 00 23 df 8c 71 a1 | 65 20 73 65 6c 65 63 74 |...#..q.|e select|
|00004420| 65 64 2e 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ed. | |
|00004430| 20 20 20 20 2a 2f 0a 0a | 20 20 20 70 6f 70 5f 73 | */..| pop_s|
|00004440| 74 61 74 65 20 3d 20 70 | 6f 70 5f 63 6f 6d 70 75 |tate = p|op_compu|
|00004450| 74 65 73 74 61 74 65 20 | 28 70 6f 70 77 69 6e 2c |testate |(popwin,|
|00004460| 20 6d 65 6e 75 29 3b 0a | 0a 20 20 20 2f 2a 20 49 | menu);.|. /* I|
|00004470| 66 20 6f 6e 65 20 69 73 | 20 69 6e 64 65 65 64 20 |f one is| indeed |
|00004480| 63 75 72 72 65 6e 74 6c | 79 20 73 65 6c 65 63 74 |currentl|y select|
|00004490| 65 64 2c 20 68 69 67 68 | 6c 69 67 68 74 20 69 74 |ed, high|light it|
|000044a0| 2e 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a |. | *|
|000044b0| 2f 0a 0a 20 20 20 69 66 | 20 28 70 6f 70 5f 73 74 |/.. if| (pop_st|
|000044c0| 61 74 65 20 3e 3d 20 30 | 29 0a 20 20 20 20 20 20 |ate >= 0|). |
|000044d0| 70 6f 70 5f 68 69 67 68 | 6c 69 67 68 74 20 28 70 |pop_high|light (p|
|000044e0| 6f 70 77 69 6e 2c 20 6d | 65 6e 75 2c 20 70 6f 70 |opwin, m|enu, pop|
|000044f0| 5f 73 74 61 74 65 29 3b | 0a 0a 20 20 20 2f 2a 20 |_state);|.. /* |
|00004500| 48 65 72 65 20 69 73 20 | 74 68 65 20 49 44 43 4d |Here is |the IDCM|
|00004510| 50 20 6c 6f 6f 70 20 74 | 68 61 74 20 77 69 6c 6c |P loop t|hat will|
|00004520| 20 70 72 6f 63 65 73 73 | 20 74 68 65 20 70 6f 70 | process| the pop|
|00004530| 2d 75 70 20 6d 65 6e 75 | 2e 20 20 4e 6f 74 65 20 |-up menu|. Note |
|00004540| 2a 2f 0a 20 20 20 2f 2a | 20 74 68 61 74 20 6f 6e |*/. /*| that on|
|00004550| 20 6d 6f 75 73 65 6d 6f | 76 65 20 65 76 65 6e 74 | mousemo|ve event|
|00004560| 73 2c 20 49 20 64 6f 6e | 27 74 20 63 61 72 65 20 |s, I don|'t care |
|00004570| 77 68 65 72 65 20 69 74 | 20 6d 6f 76 65 64 2c 20 |where it| moved, |
|00004580| 6a 75 73 74 20 69 66 20 | 20 2a 2f 0a 20 20 20 2f |just if | */. /|
|00004590| 2a 20 69 74 20 64 69 64 | 20 2d 2d 20 70 6f 70 5f |* it did| -- pop_|
|000045a0| 63 6f 6d 70 75 74 65 73 | 74 61 74 65 28 29 20 77 |computes|tate() w|
|000045b0| 69 6c 6c 20 66 69 67 75 | 72 65 20 6f 75 74 20 77 |ill figu|re out w|
|000045c0| 68 65 72 65 20 62 79 20 | 72 65 61 63 68 69 6e 67 |here by |reaching|
|000045d0| 20 20 2a 2f 0a 20 20 20 | 2f 2a 20 69 6e 74 6f 20 | */. |/* into |
|000045e0| 74 68 65 20 57 69 6e 64 | 6f 77 20 73 74 72 75 63 |the Wind|ow struc|
|000045f0| 74 75 72 65 2e 20 20 4e | 6f 74 20 50 75 72 65 20 |ture. N|ot Pure |
|00004600| 00 00 00 08 00 00 04 78 | 00 00 00 18 00 00 01 e8 |.......x|........|
|00004610| 00 00 00 24 19 af 72 3f | 50 72 6f 67 72 61 6d 6d |...$..r?|Programm|
|00004620| 69 6e 67 2c 20 73 6f 6d | 65 68 6f 77 2c 20 62 75 |ing, som|ehow, bu|
|00004630| 74 20 20 2a 2f 0a 20 20 | 20 2f 2a 20 62 6c 65 73 |t */. | /* bles|
|00004640| 73 65 64 20 62 79 20 74 | 68 65 20 49 6e 74 75 69 |sed by t|he Intui|
|00004650| 74 69 6f 6e 20 6d 61 6e | 75 61 6c 2e 20 20 20 20 |tion man|ual. |
|00004660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004670| 20 20 20 20 20 20 20 20 | 20 20 20 20 2a 2f 0a 0a | | */..|
|00004680| 20 20 20 66 69 6e 69 73 | 68 65 64 20 3d 20 30 3b | finis|hed = 0;|
|00004690| 0a 20 20 20 77 68 69 6c | 65 20 28 31 29 20 20 7b |. whil|e (1) {|
|000046a0| 0a 20 20 20 20 20 20 6d | 6f 75 73 65 5f 6d 6f 76 |. m|ouse_mov|
|000046b0| 65 64 20 3d 20 30 3b 0a | 20 20 20 20 20 20 57 61 |ed = 0;.| Wa|
|000046c0| 69 74 20 28 28 55 4c 4f | 4e 47 29 20 31 4c 20 3c |it ((ULO|NG) 1L <|
|000046d0| 3c 20 70 6f 70 77 69 6e | 2d 3e 55 73 65 72 50 6f |< popwin|->UserPo|
|000046e0| 72 74 2d 3e 6d 70 5f 53 | 69 67 42 69 74 29 3b 0a |rt->mp_S|igBit);.|
|000046f0| 20 20 20 20 20 20 77 68 | 69 6c 65 20 28 6d 65 73 | wh|ile (mes|
|00004700| 73 61 67 65 20 3d 20 47 | 65 74 4d 73 67 20 28 70 |sage = G|etMsg (p|
|00004710| 6f 70 77 69 6e 2d 3e 55 | 73 65 72 50 6f 72 74 29 |opwin->U|serPort)|
|00004720| 29 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 63 6c |) {. | cl|
|00004730| 61 73 73 20 3d 20 6d 65 | 73 73 61 67 65 2d 3e 43 |ass = me|ssage->C|
|00004740| 6c 61 73 73 3b 0a 20 20 | 20 20 20 20 20 20 20 63 |lass;. | c|
|00004750| 6f 64 65 20 3d 20 6d 65 | 73 73 61 67 65 2d 3e 43 |ode = me|ssage->C|
|00004760| 6f 64 65 3b 0a 20 20 20 | 20 20 20 20 20 20 52 65 |ode;. | Re|
|00004770| 70 6c 79 4d 73 67 20 28 | 6d 65 73 73 61 67 65 29 |plyMsg (|message)|
|00004780| 3b 0a 0a 20 20 20 20 20 | 20 20 20 20 2f 2a 20 54 |;.. | /* T|
|00004790| 68 65 20 6f 6e 6c 79 20 | 6d 65 73 73 61 67 65 73 |he only |messages|
|000047a0| 20 77 65 20 73 68 6f 75 | 6c 64 20 62 65 20 67 65 | we shou|ld be ge|
|000047b0| 74 74 69 6e 67 20 61 72 | 65 20 20 20 20 20 20 2a |tting ar|e *|
|000047c0| 2f 0a 20 20 20 20 20 20 | 20 20 20 2f 2a 20 6d 6f |/. | /* mo|
|000047d0| 75 73 65 20 62 75 74 74 | 6f 6e 20 61 6e 64 20 6d |use butt|on and m|
|000047e0| 6f 76 65 20 65 76 65 6e | 74 73 2e 20 20 42 75 74 |ove even|ts. But|
|000047f0| 74 6f 6e 20 65 76 65 6e | 74 73 20 20 20 20 2a 2f |ton even|ts */|
|00004800| 00 00 00 08 00 00 04 78 | 00 00 00 19 00 00 01 e8 |.......x|........|
|00004810| 00 00 00 25 79 5e ab 63 | 0a 20 20 20 20 20 20 20 |...%y^.c|. |
|00004820| 20 20 2f 2a 20 63 6f 75 | 6c 64 20 73 69 67 6e 69 | /* cou|ld signi|
|00004830| 66 79 20 74 68 65 20 65 | 6e 64 20 6f 66 20 74 68 |fy the e|nd of th|
|00004840| 69 73 20 72 6f 75 74 69 | 6e 65 27 73 20 20 20 20 |is routi|ne's |
|00004850| 20 20 20 20 20 2a 2f 0a | 20 20 20 20 20 20 20 20 | */.| |
|00004860| 20 2f 2a 20 65 70 68 65 | 72 65 6d 61 6c 20 73 70 | /* ephe|remal sp|
|00004870| 6f 74 6c 69 67 68 74 20 | 72 6f 6c 65 2e 20 20 20 |otlight |role. |
|00004880| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004890| 20 20 20 20 2a 2f 0a 0a | 20 20 20 20 20 20 20 20 | */..| |
|000048a0| 20 73 77 69 74 63 68 20 | 28 63 6c 61 73 73 29 20 | switch |(class) |
|000048b0| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 63 61 73 65 | {. | case|
|000048c0| 20 4d 4f 55 53 45 4d 4f | 56 45 3a 0a 20 20 20 20 | MOUSEMO|VE:. |
|000048d0| 20 20 20 20 20 20 20 20 | 6d 6f 75 73 65 5f 6d 6f | |mouse_mo|
|000048e0| 76 65 64 20 3d 20 31 3b | 0a 20 20 20 20 20 20 20 |ved = 1;|. |
|000048f0| 20 20 20 20 20 62 72 65 | 61 6b 3b 0a 20 20 20 20 | bre|ak;. |
|00004900| 20 20 20 20 20 63 61 73 | 65 20 4d 4f 55 53 45 42 | cas|e MOUSEB|
|00004910| 55 54 54 4f 4e 53 3a 0a | 20 20 20 20 20 20 20 20 |UTTONS:.| |
|00004920| 20 20 20 20 73 77 69 74 | 63 68 20 28 63 6f 64 65 | swit|ch (code|
|00004930| 29 20 20 7b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |) {. | |
|00004940| 20 63 61 73 65 20 53 45 | 4c 45 43 54 44 4f 57 4e | case SE|LECTDOWN|
|00004950| 3a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |:. | |
|00004960| 20 69 66 20 28 28 6d 65 | 6e 75 2d 3e 46 6c 61 67 | if ((me|nu->Flag|
|00004970| 73 20 26 20 50 4f 50 4c | 45 46 54 42 55 54 54 4f |s & POPL|EFTBUTTO|
|00004980| 4e 29 20 26 26 0a 20 20 | 20 20 20 20 20 20 20 20 |N) &&. | |
|00004990| 20 20 20 20 20 20 28 6d | 65 6e 75 2d 3e 46 6c 61 | (m|enu->Fla|
|000049a0| 67 73 20 26 20 50 4f 50 | 54 52 49 47 47 45 52 44 |gs & POP|TRIGGERD|
|000049b0| 4f 57 4e 29 29 0a 20 20 | 20 20 20 20 20 20 20 20 |OWN)). | |
|000049c0| 20 20 20 20 20 20 20 20 | 20 66 69 6e 69 73 68 65 | | finishe|
|000049d0| 64 20 3d 20 31 3b 0a 20 | 20 20 20 20 20 20 20 20 |d = 1;. | |
|000049e0| 20 20 20 20 20 20 62 72 | 65 61 6b 3b 0a 20 20 20 | br|eak;. |
|000049f0| 20 20 20 20 20 20 20 20 | 20 63 61 73 65 20 53 45 | | case SE|
|00004a00| 00 00 00 08 00 00 04 78 | 00 00 00 1a 00 00 01 e8 |.......x|........|
|00004a10| 00 00 00 26 00 47 02 80 | 4c 45 43 54 55 50 3a 0a |...&.G..|LECTUP:.|
|00004a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | | i|
|00004a30| 66 20 28 28 6d 65 6e 75 | 2d 3e 46 6c 61 67 73 20 |f ((menu|->Flags |
|00004a40| 26 20 50 4f 50 4c 45 46 | 54 42 55 54 54 4f 4e 29 |& POPLEF|TBUTTON)|
|00004a50| 20 26 26 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | &&. | |
|00004a60| 20 20 20 20 28 6d 65 6e | 75 2d 3e 46 6c 61 67 73 | (men|u->Flags|
|00004a70| 20 26 20 50 4f 50 54 52 | 49 47 47 45 52 55 50 29 | & POPTR|IGGERUP)|
|00004a80| 29 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |). | |
|00004a90| 20 20 20 20 20 66 69 6e | 69 73 68 65 64 20 3d 20 | fin|ished = |
|00004aa0| 31 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |1;. | |
|00004ab0| 20 20 62 72 65 61 6b 3b | 0a 20 20 20 20 20 20 20 | break;|. |
|00004ac0| 20 20 20 20 20 63 61 73 | 65 20 4d 45 4e 55 44 4f | cas|e MENUDO|
|00004ad0| 57 4e 3a 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |WN:. | |
|00004ae0| 20 20 20 69 66 20 28 28 | 6d 65 6e 75 2d 3e 46 6c | if ((|menu->Fl|
|00004af0| 61 67 73 20 26 20 50 4f | 50 52 49 47 48 54 42 55 |ags & PO|PRIGHTBU|
|00004b00| 54 54 4f 4e 29 20 26 26 | 0a 20 20 20 20 20 20 20 |TTON) &&|. |
|00004b10| 20 20 20 20 20 20 20 20 | 20 28 6d 65 6e 75 2d 3e | | (menu->|
|00004b20| 46 6c 61 67 73 20 26 20 | 50 4f 50 54 52 49 47 47 |Flags & |POPTRIGG|
|00004b30| 45 52 44 4f 57 4e 29 29 | 0a 20 20 20 20 20 20 20 |ERDOWN))|. |
|00004b40| 20 20 20 20 20 20 20 20 | 20 20 20 20 66 69 6e 69 | | fini|
|00004b50| 73 68 65 64 20 3d 20 31 | 3b 0a 20 20 20 20 20 20 |shed = 1|;. |
|00004b60| 20 20 20 20 20 20 20 20 | 20 62 72 65 61 6b 3b 0a | | break;.|
|00004b70| 20 20 20 20 20 20 20 20 | 20 20 20 20 63 61 73 65 | | case|
|00004b80| 20 4d 45 4e 55 55 50 3a | 0a 20 20 20 20 20 20 20 | MENUUP:|. |
|00004b90| 20 20 20 20 20 20 20 20 | 69 66 20 28 28 6d 65 6e | |if ((men|
|00004ba0| 75 2d 3e 46 6c 61 67 73 | 20 26 20 50 4f 50 52 49 |u->Flags| & POPRI|
|00004bb0| 47 48 54 42 55 54 54 4f | 4e 29 20 26 26 0a 20 20 |GHTBUTTO|N) &&. |
|00004bc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 28 6d | | (m|
|00004bd0| 65 6e 75 2d 3e 46 6c 61 | 67 73 20 26 20 50 4f 50 |enu->Fla|gs & POP|
|00004be0| 54 52 49 47 47 45 52 55 | 50 29 29 0a 20 20 20 20 |TRIGGERU|P)). |
|00004bf0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 66 | | f|
|00004c00| 00 00 00 08 00 00 04 78 | 00 00 00 1b 00 00 01 e8 |.......x|........|
|00004c10| 00 00 00 27 54 b7 c1 3b | 69 6e 69 73 68 65 64 20 |...'T..;|inished |
|00004c20| 3d 20 31 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |= 1;. | |
|00004c30| 20 20 20 20 62 72 65 61 | 6b 3b 0a 20 20 20 20 20 | brea|k;. |
|00004c40| 20 20 20 20 20 20 20 64 | 65 66 61 75 6c 74 3a 20 | d|efault: |
|00004c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004c60| 20 20 2f 2a 20 68 75 68 | 3f 20 2a 2f 0a 20 20 20 | /* huh|? */. |
|00004c70| 20 20 20 20 20 20 20 20 | 20 20 20 20 62 72 65 61 | | brea|
|00004c80| 6b 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 7d |k;. | }|
|00004c90| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 62 72 65 |. | bre|
|00004ca0| 61 6b 3b 0a 20 20 20 20 | 20 20 20 20 20 64 65 66 |ak;. | def|
|00004cb0| 61 75 6c 74 3a 20 20 20 | 20 20 20 20 20 20 20 20 |ault: | |
|00004cc0| 20 20 20 20 20 20 20 20 | 20 20 20 2f 2a 20 68 75 | | /* hu|
|00004cd0| 68 3f 20 2a 2f 0a 20 20 | 20 20 20 20 20 20 20 20 |h? */. | |
|00004ce0| 20 20 62 72 65 61 6b 3b | 0a 20 20 20 20 20 20 20 | break;|. |
|00004cf0| 20 20 7d 0a 20 20 20 20 | 20 20 7d 0a 0a 20 20 20 | }. | }.. |
|00004d00| 20 20 20 2f 2a 20 69 66 | 20 74 68 65 20 65 78 69 | /* if| the exi|
|00004d10| 74 20 63 6f 6e 64 69 74 | 69 6f 6e 73 20 68 61 76 |t condit|ions hav|
|00004d20| 65 20 62 65 65 6e 20 6d | 65 74 2c 20 77 65 20 63 |e been m|et, we c|
|00004d30| 61 6e 20 72 65 74 75 72 | 6e 20 6f 75 72 20 2a 2f |an retur|n our */|
|00004d40| 0a 20 20 20 20 20 20 2f | 2a 20 72 65 73 75 6c 74 |. /|* result|
|00004d50| 73 20 77 69 74 68 20 68 | 6f 6e 6f 72 20 61 6e 64 |s with h|onor and|
|00004d60| 20 64 69 67 6e 69 74 79 | 2c 20 68 61 76 69 6e 67 | dignity|, having|
|00004d70| 20 73 65 72 76 65 64 2e | 20 20 20 20 20 20 20 20 | served.| |
|00004d80| 20 20 2a 2f 0a 20 20 20 | 20 20 20 2f 2a 20 4e 6f | */. | /* No|
|00004d90| 74 65 20 74 68 61 74 20 | 69 66 20 77 65 20 61 72 |te that |if we ar|
|00004da0| 65 20 72 65 6d 65 6d 62 | 65 72 69 6e 67 20 74 68 |e rememb|ering th|
|00004db0| 65 20 6c 61 73 74 20 73 | 65 6c 65 63 74 69 6f 6e |e last s|election|
|00004dc0| 2c 20 74 68 65 20 2a 2f | 0a 20 20 20 20 20 20 2f |, the */|. /|
|00004dd0| 2a 20 6d 65 6e 75 20 73 | 74 72 75 63 74 75 72 65 |* menu s|tructure|
|00004de0| 20 69 73 20 6d 61 6e 67 | 6c 65 64 20 74 6f 20 6d | is mang|led to m|
|00004df0| 61 6b 65 20 74 68 61 74 | 20 70 6f 73 73 69 62 6c |ake that| possibl|
|00004e00| 00 00 00 08 00 00 04 78 | 00 00 00 1c 00 00 01 e8 |.......x|........|
|00004e10| 00 00 00 28 6b f9 a6 89 | 65 2e 20 20 20 20 20 20 |...(k...|e. |
|00004e20| 20 20 2a 2f 0a 0a 20 20 | 20 20 20 20 69 66 20 28 | */.. | if (|
|00004e30| 66 69 6e 69 73 68 65 64 | 29 20 20 7b 0a 20 20 20 |finished|) {. |
|00004e40| 20 20 20 20 20 20 70 6f | 70 5f 73 74 61 74 65 20 | po|p_state |
|00004e50| 3d 20 70 6f 70 5f 63 6f | 6d 70 75 74 65 73 74 61 |= pop_co|mputesta|
|00004e60| 74 65 20 28 70 6f 70 77 | 69 6e 2c 20 6d 65 6e 75 |te (popw|in, menu|
|00004e70| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 69 66 20 28 |);. | if (|
|00004e80| 70 6f 70 5f 73 74 61 74 | 65 20 3e 3d 20 30 29 20 |pop_stat|e >= 0) |
|00004e90| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 69 | {. | i|
|00004ea0| 66 20 28 6d 65 6e 75 2d | 3e 46 6c 61 67 73 20 26 |f (menu-|>Flags &|
|00004eb0| 20 50 4f 50 52 45 4d 45 | 4d 42 45 52 29 20 20 7b | POPREME|MBER) {|
|00004ec0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00004ed0| 6d 65 6e 75 2d 3e 46 6c | 61 67 73 20 7c 3d 20 50 |menu->Fl|ags |= P|
|00004ee0| 4f 50 55 53 45 44 3b 0a | 20 20 20 20 20 20 20 20 |OPUSED;.| |
|00004ef0| 20 20 20 20 20 20 20 6d | 65 6e 75 2d 3e 4c 65 66 | m|enu->Lef|
|00004f00| 74 45 64 67 65 20 3d 20 | 2d 31 20 2a 20 70 6f 70 |tEdge = |-1 * pop|
|00004f10| 77 69 6e 2d 3e 4d 6f 75 | 73 65 58 3b 0a 20 20 20 |win->Mou|seX;. |
|00004f20| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 65 6e 75 | | menu|
|00004f30| 2d 3e 54 6f 70 45 64 67 | 65 20 3d 20 20 2d 31 20 |->TopEdg|e = -1 |
|00004f40| 2a 20 70 6f 70 77 69 6e | 2d 3e 4d 6f 75 73 65 59 |* popwin|->MouseY|
|00004f50| 3b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 7d 0a |;. | }.|
|00004f60| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |. | /* |
|00004f70| 53 70 65 63 69 61 6c 20 | 74 68 69 6e 67 73 20 74 |Special |things t|
|00004f80| 6f 20 64 6f 20 69 66 20 | 74 68 65 20 6d 65 6e 75 |o do if |the menu|
|00004f90| 20 65 6e 74 72 79 20 20 | 2a 2f 0a 20 20 20 20 20 | entry |*/. |
|00004fa0| 20 20 20 20 20 20 20 2f | 2a 20 69 73 20 6f 66 20 | /|* is of |
|00004fb0| 74 79 70 65 20 43 48 45 | 43 4b 49 54 20 20 20 20 |type CHE|CKIT |
|00004fc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00004fd0| 20 20 2a 2f 0a 0a 20 20 | 20 20 20 20 20 20 20 20 | */.. | |
|00004fe0| 20 20 73 65 6c 5f 69 74 | 65 6d 20 3d 20 70 6f 70 | sel_it|em = pop|
|00004ff0| 5f 67 65 74 69 74 65 6d | 20 28 6d 65 6e 75 2c 20 |_getitem| (menu, |
|00005000| 00 00 00 08 00 00 04 78 | 00 00 00 1d 00 00 01 e8 |.......x|........|
|00005010| 00 00 00 29 80 91 a0 04 | 70 6f 70 5f 73 74 61 74 |...)....|pop_stat|
|00005020| 65 29 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |e);. | |
|00005030| 69 66 20 28 73 65 6c 5f | 69 74 65 6d 2d 3e 46 6c |if (sel_|item->Fl|
|00005040| 61 67 73 20 26 20 43 48 | 45 43 4b 49 54 29 20 20 |ags & CH|ECKIT) |
|00005050| 7b 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{. | |
|00005060| 20 69 66 20 28 73 65 6c | 5f 69 74 65 6d 2d 3e 46 | if (sel|_item->F|
|00005070| 6c 61 67 73 20 26 20 43 | 48 45 43 4b 45 44 29 20 |lags & C|HECKED) |
|00005080| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00005090| 20 20 20 20 20 70 6f 70 | 5f 73 74 61 74 65 20 3d | pop|_state =|
|000050a0| 20 2d 31 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 | -1;. | |
|000050b0| 20 20 20 20 20 20 20 69 | 66 20 28 73 65 6c 5f 69 | i|f (sel_i|
|000050c0| 74 65 6d 2d 3e 46 6c 61 | 67 73 20 26 20 4d 45 4e |tem->Fla|gs & MEN|
|000050d0| 55 54 4f 47 47 4c 45 29 | 0a 20 20 20 20 20 20 20 |UTOGGLE)|. |
|000050e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 73 65 | | se|
|000050f0| 6c 5f 69 74 65 6d 2d 3e | 46 6c 61 67 73 20 26 3d |l_item->|Flags &=|
|00005100| 20 7e 43 48 45 43 4b 45 | 44 3b 0a 20 20 20 20 20 | ~CHECKE|D;. |
|00005110| 20 20 20 20 20 20 20 20 | 20 20 7d 0a 20 20 20 20 | | }. |
|00005120| 20 20 20 20 20 20 20 20 | 20 20 20 65 6c 73 65 20 | | else |
|00005130| 20 7b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|00005140| 20 20 20 20 20 73 65 6c | 5f 69 74 65 6d 2d 3e 46 | sel|_item->F|
|00005150| 6c 61 67 73 20 7c 3d 20 | 43 48 45 43 4b 45 44 3b |lags |= |CHECKED;|
|00005160| 0a 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |.. | |
|00005170| 20 20 20 20 2f 2a 20 48 | 61 6e 64 6c 65 20 6d 75 | /* H|andle mu|
|00005180| 74 75 61 6c 20 65 78 63 | 6c 75 73 69 6f 6e 20 2a |tual exc|lusion *|
|00005190| 2f 0a 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |/.. | |
|000051a0| 20 20 20 20 20 65 78 63 | 6c 75 64 65 20 3d 20 73 | exc|lude = s|
|000051b0| 65 6c 5f 69 74 65 6d 2d | 3e 4d 75 74 75 61 6c 45 |el_item-|>MutualE|
|000051c0| 78 63 6c 75 64 65 3b 0a | 20 20 20 20 20 20 20 20 |xclude;.| |
|000051d0| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 65 78 | | if (ex|
|000051e0| 63 6c 75 64 65 29 20 20 | 7b 0a 20 20 20 20 20 20 |clude) |{. |
|000051f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00005200| 00 00 00 08 00 00 04 78 | 00 00 00 1e 00 00 01 e8 |.......x|........|
|00005210| 00 00 00 2a f9 4c 27 1c | 65 6c 5f 69 74 65 6d 20 |...*.L'.|el_item |
|00005220| 3d 20 6d 65 6e 75 2d 3e | 46 69 72 73 74 49 74 65 |= menu->|FirstIte|
|00005230| 6d 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |m;. | |
|00005240| 20 20 20 20 20 20 20 20 | 77 68 69 6c 65 20 28 73 | |while (s|
|00005250| 65 6c 5f 69 74 65 6d 29 | 20 20 7b 0a 20 20 20 20 |el_item)| {. |
|00005260| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005270| 20 20 20 20 69 66 20 28 | 65 78 63 6c 75 64 65 20 | if (|exclude |
|00005280| 26 20 31 29 0a 20 20 20 | 20 20 20 20 20 20 20 20 |& 1). | |
|00005290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000052a0| 73 65 6c 5f 69 74 65 6d | 2d 3e 46 6c 61 67 73 20 |sel_item|->Flags |
|000052b0| 26 3d 20 7e 43 48 45 43 | 4b 45 44 3b 0a 20 20 20 |&= ~CHEC|KED;. |
|000052c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000052d0| 20 20 20 20 20 65 78 63 | 6c 75 64 65 20 3e 3e 3d | exc|lude >>=|
|000052e0| 20 31 3b 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 | 1;. | |
|000052f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 73 65 6c 5f | | sel_|
|00005300| 69 74 65 6d 20 3d 20 73 | 65 6c 5f 69 74 65 6d 2d |item = s|el_item-|
|00005310| 3e 4e 65 78 74 49 74 65 | 6d 3b 0a 20 20 20 20 20 |>NextIte|m;. |
|00005320| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005330| 7d 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |}. | |
|00005340| 20 20 20 20 7d 0a 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00005350| 20 20 20 20 20 7d 0a 20 | 20 20 20 20 20 20 20 20 | }. | |
|00005360| 20 20 20 7d 0a 20 20 20 | 20 20 20 20 20 20 7d 0a | }. | }.|
|00005370| 20 20 20 20 20 20 20 20 | 20 43 6c 6f 73 65 57 69 | | CloseWi|
|00005380| 6e 64 6f 77 20 28 70 6f | 70 77 69 6e 29 3b 0a 20 |ndow (po|pwin);. |
|00005390| 20 20 20 20 20 20 20 20 | 72 65 74 75 72 6e 20 28 | |return (|
|000053a0| 28 4c 4f 4e 47 29 20 70 | 6f 70 5f 73 74 61 74 65 |(LONG) p|op_state|
|000053b0| 29 3b 0a 20 20 20 20 20 | 20 7d 0a 0a 20 20 20 20 |);. | }.. |
|000053c0| 20 20 2f 2a 20 69 66 20 | 74 68 65 20 6d 6f 75 73 | /* if |the mous|
|000053d0| 65 20 68 61 73 20 6d 6f | 76 65 64 2c 20 66 69 6e |e has mo|ved, fin|
|000053e0| 64 20 6f 75 74 20 69 74 | 73 20 6e 65 77 20 73 74 |d out it|s new st|
|000053f0| 61 74 65 20 61 6e 64 20 | 20 20 20 20 20 2a 2f 0a |ate and | */.|
|00005400| 00 00 00 08 00 00 04 78 | 00 00 00 1f 00 00 01 e8 |.......x|........|
|00005410| 00 00 00 2b 9b 1d b6 20 | 20 20 20 20 20 20 2f 2a |...+... | /*|
|00005420| 20 61 6c 74 65 72 20 74 | 68 65 20 68 69 67 68 6c | alter t|he highl|
|00005430| 69 67 68 74 69 6e 67 20 | 61 63 63 6f 72 64 69 6e |ighting |accordin|
|00005440| 67 6c 79 2e 20 20 20 20 | 20 20 20 20 20 20 20 20 |gly. | |
|00005450| 20 20 20 20 20 20 20 20 | 20 2a 2f 0a 0a 20 20 20 | | */.. |
|00005460| 20 20 20 69 66 20 28 6d | 6f 75 73 65 5f 6d 6f 76 | if (m|ouse_mov|
|00005470| 65 64 29 20 20 7b 0a 20 | 20 20 20 20 20 20 20 20 |ed) {. | |
|00005480| 70 6f 70 5f 6e 65 77 73 | 74 61 74 65 20 3d 20 70 |pop_news|tate = p|
|00005490| 6f 70 5f 63 6f 6d 70 75 | 74 65 73 74 61 74 65 20 |op_compu|testate |
|000054a0| 28 70 6f 70 77 69 6e 2c | 20 6d 65 6e 75 29 3b 0a |(popwin,| menu);.|
|000054b0| 20 20 20 20 20 20 20 20 | 20 69 66 20 28 70 6f 70 | | if (pop|
|000054c0| 5f 6e 65 77 73 74 61 74 | 65 20 21 3d 20 70 6f 70 |_newstat|e != pop|
|000054d0| 5f 73 74 61 74 65 29 20 | 20 7b 0a 20 20 20 20 20 |_state) | {. |
|000054e0| 20 20 20 20 20 20 20 69 | 66 20 28 70 6f 70 5f 73 | i|f (pop_s|
|000054f0| 74 61 74 65 20 3e 3d 20 | 30 29 0a 20 20 20 20 20 |tate >= |0). |
|00005500| 20 20 20 20 20 20 20 20 | 20 20 70 6f 70 5f 75 6e | | pop_un|
|00005510| 68 69 67 68 6c 69 67 68 | 74 20 28 70 6f 70 77 69 |highligh|t (popwi|
|00005520| 6e 2c 20 6d 65 6e 75 2c | 20 70 6f 70 5f 73 74 61 |n, menu,| pop_sta|
|00005530| 74 65 29 3b 0a 20 20 20 | 20 20 20 20 20 20 20 20 |te);. | |
|00005540| 20 69 66 20 28 70 6f 70 | 5f 6e 65 77 73 74 61 74 | if (pop|_newstat|
|00005550| 65 20 3e 3d 20 30 29 0a | 20 20 20 20 20 20 20 20 |e >= 0).| |
|00005560| 20 20 20 20 20 20 20 70 | 6f 70 5f 68 69 67 68 6c | p|op_highl|
|00005570| 69 67 68 74 20 28 70 6f | 70 77 69 6e 2c 20 6d 65 |ight (po|pwin, me|
|00005580| 6e 75 2c 20 70 6f 70 5f | 6e 65 77 73 74 61 74 65 |nu, pop_|newstate|
|00005590| 29 3b 0a 20 20 20 20 20 | 20 20 20 20 20 20 20 70 |);. | p|
|000055a0| 6f 70 5f 73 74 61 74 65 | 20 3d 20 70 6f 70 5f 6e |op_state| = pop_n|
|000055b0| 65 77 73 74 61 74 65 3b | 0a 20 20 20 20 20 20 20 |ewstate;|. |
|000055c0| 20 20 7d 0a 20 20 20 20 | 20 20 7d 0a 20 20 20 7d | }. | }. }|
|000055d0| 0a 7d 0a 0a 2f 2a 20 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.}../* =|========|
|000055e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000055f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00005600| 00 00 00 08 00 00 04 78 | 00 00 00 20 00 00 01 e8 |.......x|... ....|
|00005610| 00 00 00 16 66 c8 24 eb | 3d 3d 3d 3d 3d 3d 3d 3d |....f.$.|========|
|00005620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 20 2a 2f 0a |========|==== */.|
|00005630| 0a 2f 2a 0a 20 2a 20 70 | 6f 70 5f 63 6f 6d 70 75 |./*. * p|op_compu|
|00005640| 74 65 73 74 61 74 65 28 | 29 0a 20 2a 0a 20 2a 20 |testate(|). *. * |
|00005650| 54 68 69 73 20 66 75 6e | 63 74 69 6f 6e 20 63 68 |This fun|ction ch|
|00005660| 65 63 6b 73 20 74 6f 20 | 73 65 65 20 77 68 65 72 |ecks to |see wher|
|00005670| 65 20 74 68 65 20 6d 6f | 75 73 65 20 70 6f 69 6e |e the mo|use poin|
|00005680| 74 65 72 20 69 73 20 69 | 6e 20 72 65 6c 61 74 69 |ter is i|n relati|
|00005690| 6f 6e 20 74 6f 0a 20 2a | 20 74 68 65 20 76 61 72 |on to. *| the var|
|000056a0| 69 6f 75 73 20 6d 65 6e | 75 20 69 74 65 6d 73 20 |ious men|u items |
|000056b0| 69 6e 20 74 68 65 20 6d | 65 6e 75 2e 20 20 49 66 |in the m|enu. If|
|000056c0| 20 69 74 20 69 73 20 69 | 6e 73 69 64 65 20 6f 6e | it is i|nside on|
|000056d0| 65 20 6f 66 20 74 68 65 | 6d 2c 20 69 74 0a 20 2a |e of the|m, it. *|
|000056e0| 20 72 65 74 75 72 6e 73 | 20 77 68 69 63 68 20 6f | returns| which o|
|000056f0| 6e 65 20 28 69 6e 64 65 | 78 65 64 20 62 79 20 69 |ne (inde|xed by i|
|00005700| 74 73 20 6c 69 6e 65 61 | 72 20 70 6f 73 69 74 69 |ts linea|r positi|
|00005710| 6f 6e 20 69 6e 20 74 68 | 65 20 4d 65 6e 75 49 74 |on in th|e MenuIt|
|00005720| 65 6d 20 6c 69 73 74 0a | 20 2a 20 77 69 74 68 20 |em list.| * with |
|00005730| 30 20 62 65 69 6e 67 20 | 74 68 65 20 66 69 72 73 |0 being |the firs|
|00005740| 74 20 6f 6e 65 29 2e 20 | 20 49 66 20 6e 6f 74 2c |t one). | If not,|
|00005750| 20 72 65 74 75 72 6e 73 | 20 2d 31 2e 0a 20 2a 0a | returns| -1.. *.|
|00005760| 20 2a 20 50 6f 73 73 69 | 62 6c 65 20 66 75 74 75 | * Possi|ble futu|
|00005770| 72 65 20 65 6e 68 61 6e | 63 65 6d 65 6e 74 3a 20 |re enhan|cement: |
|00005780| 6b 65 65 70 20 61 20 73 | 65 74 20 6f 66 20 73 74 |keep a s|et of st|
|00005790| 61 74 65 20 76 61 72 69 | 61 62 6c 65 73 20 63 6f |ate vari|ables co|
|000057a0| 6e 74 61 69 6e 69 6e 67 | 0a 20 2a 20 74 68 65 20 |ntaining|. * the |
|000057b0| 55 4c 20 61 6e 64 20 4c | 52 20 63 6f 72 6e 65 72 |UL and L|R corner|
|000057c0| 73 20 6f 66 20 74 68 65 | 20 6c 61 73 74 2d 6b 6e |s of the| last-kn|
|000057d0| 6f 77 6e 20 73 65 6c 65 | 63 74 20 62 6f 78 3b 20 |own sele|ct box; |
|000057e0| 74 68 69 73 20 77 6f 75 | 6c 64 20 6d 61 6b 65 0a |this wou|ld make.|
|000057f0| 20 2a 20 61 20 71 75 69 | 63 6b 20 63 68 65 63 6b | * a qui|ck check|
|00005800| 00 00 00 08 00 00 04 78 | 00 00 00 0b 00 00 01 e8 |.......x|........|
|00005810| 00 00 00 2d 1b 6c da f8 | 70 74 69 6e 67 20 74 6f |...-.l..|pting to|
|00005820| 20 70 6f 70 20 6f 72 20 | 69 66 20 6e 6f 20 73 65 | pop or |if no se|
|00005830| 6c 65 63 74 69 6f 6e 20 | 77 61 73 20 6d 61 64 65 |lection |was made|
|00005840| 0a 20 2a 20 62 79 20 74 | 68 65 20 75 73 65 72 2e |. * by t|he user.|
|00005850| 20 20 49 66 20 61 20 73 | 65 6c 65 63 74 69 6f 6e | If a s|election|
|00005860| 20 77 61 73 20 6d 61 64 | 65 2c 20 61 20 4c 4f 4e | was mad|e, a LON|
|00005870| 47 20 62 65 74 77 65 65 | 6e 20 30 20 61 6e 64 20 |G betwee|n 0 and |
|00005880| 6e 2d 31 2c 20 77 68 65 | 72 65 0a 20 2a 20 6e 20 |n-1, whe|re. * n |
|00005890| 69 73 20 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |is the n|umber of|
|000058a0| 20 4d 65 6e 75 20 49 74 | 65 6d 73 2e 0a 20 2a 0a | Menu It|ems.. *.|
|000058b0| 20 2a 20 2d 31 20 69 73 | 20 61 6c 73 6f 20 72 65 | * -1 is| also re|
|000058c0| 74 75 72 6e 65 64 20 69 | 66 20 61 20 73 65 6c 65 |turned i|f a sele|
|000058d0| 63 74 69 6f 6e 20 6f 66 | 20 61 20 63 68 65 63 6b |ction of| a check|
|000058e0| 65 64 20 69 74 65 6d 20 | 77 61 73 20 6d 61 64 65 |ed item |was made|
|000058f0| 2e 0a 20 2a 0a 20 2a 20 | 53 69 6e 63 65 20 74 68 |.. *. * |Since th|
|00005900| 69 73 20 63 6f 64 65 20 | 6f 70 65 6e 73 20 61 20 |is code |opens a |
|00005910| 77 69 6e 64 6f 77 2c 20 | 69 74 20 69 73 20 75 70 |window, |it is up|
|00005920| 20 74 6f 20 74 68 65 20 | 63 61 6c 6c 65 72 20 74 | to the |caller t|
|00005930| 6f 20 62 65 20 73 75 72 | 65 20 74 68 61 74 0a 20 |o be sur|e that. |
|00005940| 2a 20 6e 6f 20 73 63 72 | 69 62 62 6c 69 6e 67 20 |* no scr|ibbling |
|00005950| 69 6e 20 64 72 6f 6c 6c | 20 77 61 79 73 20 69 73 |in droll| ways is|
|00005960| 20 64 6f 6e 65 20 77 68 | 69 6c 65 20 74 68 69 73 | done wh|ile this|
|00005970| 20 63 6f 64 65 20 69 73 | 20 69 6e 20 70 72 6f 67 | code is| in prog|
|00005980| 72 65 73 73 2e 0a 20 2a | 2f 0a 0a 4c 4f 4e 47 20 |ress.. *|/..LONG |
|00005990| 50 6f 70 43 68 6f 6f 73 | 65 20 28 6d 65 6e 75 2c |PopChoos|e (menu,|
|000059a0| 20 77 69 6e 29 0a 0a 73 | 74 72 75 63 74 20 4d 65 | win)..s|truct Me|
|000059b0| 6e 75 20 2a 6d 65 6e 75 | 3b 0a 73 74 72 75 63 74 |nu *menu|;.struct|
|000059c0| 20 57 69 6e 64 6f 77 20 | 2a 77 69 6e 3b 0a 0a 7b | Window |*win;..{|
|000059d0| 0a 20 20 20 73 74 72 75 | 63 74 20 53 63 72 65 65 |. stru|ct Scree|
|000059e0| 6e 20 2a 73 63 72 65 65 | 6e 3b 20 20 20 20 20 20 |n *scree|n; |
|000059f0| 20 20 20 20 20 20 20 20 | 2f 2a 20 74 68 65 20 77 | |/* the w|
|00005a00| 00 00 00 08 00 00 04 78 | 00 00 00 0c 00 00 01 e8 |.......x|........|
|00005a10| 00 00 00 2e 52 ee be 6a | 69 6e 64 6f 77 27 73 20 |....R..j|indow's |
|00005a20| 73 63 72 65 65 6e 20 2a | 2f 0a 20 20 20 73 74 72 |screen *|/. str|
|00005a30| 75 63 74 20 57 69 6e 64 | 6f 77 20 2a 70 6f 70 77 |uct Wind|ow *popw|
|00005a40| 69 6e 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |in; | |
|00005a50| 20 2f 2a 20 74 68 65 20 | 70 6f 70 2d 75 70 20 6d | /* the |pop-up m|
|00005a60| 65 6e 75 20 2a 2f 0a 20 | 20 20 73 74 72 75 63 74 |enu */. | struct|
|00005a70| 20 49 6e 74 75 69 4d 65 | 73 73 61 67 65 20 2a 6d | IntuiMe|ssage *m|
|00005a80| 65 73 73 61 67 65 3b 20 | 20 20 20 20 20 20 2f 2a |essage; | /*|
|00005a90| 20 6f 75 72 20 65 79 65 | 73 20 61 6e 64 20 65 61 | our eye|s and ea|
|00005aa0| 72 73 20 2a 2f 0a 20 20 | 20 73 74 72 75 63 74 20 |rs */. | struct |
|00005ab0| 4d 65 6e 75 49 74 65 6d | 20 2a 73 65 6c 5f 69 74 |MenuItem| *sel_it|
|00005ac0| 65 6d 3b 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |em; | /* |
|00005ad0| 74 68 65 20 73 65 6c 65 | 63 74 65 64 20 69 74 65 |the sele|cted ite|
|00005ae0| 6d 20 2a 2f 0a 20 20 20 | 53 48 4f 52 54 20 70 6f |m */. |SHORT po|
|00005af0| 70 5f 73 74 61 74 65 2c | 20 70 6f 70 5f 6e 65 77 |p_state,| pop_new|
|00005b00| 73 74 61 74 65 3b 20 20 | 20 20 20 20 2f 2a 20 6d |state; | /* m|
|00005b10| 65 6e 75 20 73 65 6c 65 | 63 74 69 6f 6e 20 73 74 |enu sele|ction st|
|00005b20| 61 74 65 20 76 61 72 61 | 69 62 6c 65 73 20 2a 2f |ate vara|ibles */|
|00005b30| 0a 20 20 20 53 48 4f 52 | 54 20 6d 6f 75 73 65 5f |. SHOR|T mouse_|
|00005b40| 6d 6f 76 65 64 3b 20 20 | 20 20 20 20 20 20 20 20 |moved; | |
|00005b50| 20 20 20 20 20 20 20 20 | 2f 2a 20 6b 65 65 70 73 | |/* keeps|
|00005b60| 20 74 72 61 63 6b 20 6f | 66 20 77 68 65 74 68 65 | track o|f whethe|
|00005b70| 72 20 74 68 65 20 2a 2f | 0a 20 20 20 20 20 20 20 |r the */|. |
|00005b80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005b90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ba0| 2f 2a 20 20 20 6d 6f 75 | 73 65 20 68 61 73 20 6d |/* mou|se has m|
|00005bb0| 6f 76 65 64 20 20 20 20 | 20 20 20 20 20 20 2a 2f |oved | */|
|00005bc0| 0a 20 20 20 53 48 4f 52 | 54 20 66 69 6e 69 73 68 |. SHOR|T finish|
|00005bd0| 65 64 3b 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ed; | |
|00005be0| 20 20 20 20 20 20 20 20 | 2f 2a 20 73 65 74 20 77 | |/* set w|
|00005bf0| 68 65 6e 20 6d 65 6e 75 | 20 73 68 6f 75 6c 64 20 |hen menu| should |
|00005c00| 00 00 00 08 00 00 04 78 | 00 00 00 0d 00 00 01 e8 |.......x|........|
|00005c10| 00 00 00 2f e2 53 98 71 | 62 65 20 62 6c 6f 77 6e |.../.S.q|be blown|
|00005c20| 20 61 77 61 79 20 2a 2f | 0a 20 20 20 53 48 4f 52 | away */|. SHOR|
|00005c30| 54 20 63 6c 61 73 73 3b | 20 20 20 20 20 20 20 20 |T class;| |
|00005c40| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005c50| 2f 2a 20 69 6e 63 6f 6d | 69 6e 67 20 49 6e 74 75 |/* incom|ing Intu|
|00005c60| 69 4d 65 73 73 61 67 65 | 20 63 6c 61 73 73 20 2a |iMessage| class *|
|00005c70| 2f 0a 20 20 20 53 48 4f | 52 54 20 63 6f 64 65 3b |/. SHO|RT code;|
|00005c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005c90| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 69 6e 63 6f | | /* inco|
|00005ca0| 6d 69 6e 67 20 49 6e 74 | 75 69 4d 65 73 73 61 67 |ming Int|uiMessag|
|00005cb0| 65 20 63 6f 64 65 20 2a | 2f 0a 20 20 20 55 4c 4f |e code *|/. ULO|
|00005cc0| 4e 47 20 65 78 63 6c 75 | 64 65 3b 20 20 20 20 20 |NG exclu|de; |
|00005cd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ce0| 20 2f 2a 20 66 6f 72 20 | 68 61 6e 64 6c 69 6e 67 | /* for |handling|
|00005cf0| 20 6d 75 74 75 61 6c 20 | 65 78 63 6c 75 73 69 6f | mutual |exclusio|
|00005d00| 6e 20 2a 2f 0a 0a 20 20 | 20 2f 2a 20 43 68 65 63 |n */.. | /* Chec|
|00005d10| 6b 20 74 6f 20 73 65 65 | 20 74 68 61 74 20 49 6e |k to see| that In|
|00005d20| 74 75 69 74 69 6f 6e 42 | 61 73 65 20 61 6e 64 20 |tuitionB|ase and |
|00005d30| 47 66 78 42 61 73 65 20 | 61 72 65 20 6e 6f 6e 2d |GfxBase |are non-|
|00005d40| 6e 75 6c 6c 2e 20 20 20 | 20 20 20 20 2a 2f 0a 20 |null. | */. |
|00005d50| 20 20 2f 2a 20 57 68 69 | 6c 65 20 74 68 69 73 20 | /* Whi|le this |
|00005d60| 69 73 20 6e 6f 74 20 61 | 6e 79 20 73 6f 72 74 20 |is not a|ny sort |
|00005d70| 6f 66 20 67 75 61 72 61 | 6e 74 65 65 20 61 67 61 |of guara|ntee aga|
|00005d80| 69 6e 73 74 20 64 69 73 | 61 73 74 65 72 2c 20 69 |inst dis|aster, i|
|00005d90| 74 20 20 20 20 2a 2f 0a | 20 20 20 2f 2a 20 69 73 |t */.| /* is|
|00005da0| 20 62 65 74 74 65 72 20 | 74 68 61 6e 20 6e 6f 74 | better |than not|
|00005db0| 68 69 6e 67 2e 20 20 20 | 20 20 20 20 20 20 20 20 |hing. | |
|00005dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005dd0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2a 2f | | */|
|00005de0| 0a 0a 20 20 20 69 66 20 | 28 28 49 6e 74 75 69 74 |.. if |((Intuit|
|00005df0| 69 6f 6e 42 61 73 65 20 | 3d 3d 20 4e 55 4c 4c 29 |ionBase |== NULL)|
|00005e00| 00 00 00 08 00 00 04 78 | 00 00 00 0e 00 00 01 e8 |.......x|........|
|00005e10| 00 00 00 30 8b ac 98 f3 | 20 7c 7c 20 28 47 66 78 |...0....| || (Gfx|
|00005e20| 42 61 73 65 20 3d 3d 20 | 4e 55 4c 4c 29 29 0a 20 |Base == |NULL)). |
|00005e30| 20 20 20 20 20 72 65 74 | 75 72 6e 20 28 28 4c 4f | ret|urn ((LO|
|00005e40| 4e 47 29 20 28 2d 31 29 | 29 3b 0a 0a 20 20 20 2f |NG) (-1)|);.. /|
|00005e50| 2a 20 4f 6e 65 20 70 61 | 72 61 6e 6f 69 64 20 63 |* One pa|ranoid c|
|00005e60| 68 65 63 6b 20 2a 2f 0a | 0a 20 20 20 69 66 20 28 |heck */.|. if (|
|00005e70| 6d 65 6e 75 20 3d 3d 20 | 4e 55 4c 4c 29 0a 20 20 |menu == |NULL). |
|00005e80| 20 20 20 20 72 65 74 75 | 72 6e 20 28 28 4c 4f 4e | retu|rn ((LON|
|00005e90| 47 29 20 28 2d 31 29 29 | 3b 0a 0a 20 20 20 2f 2a |G) (-1))|;.. /*|
|00005ea0| 20 49 66 20 74 68 65 20 | 6d 65 6e 75 20 69 73 20 | If the |menu is |
|00005eb0| 6e 6f 74 20 4d 45 4e 55 | 45 4e 41 42 4c 45 44 2c |not MENU|ENABLED,|
|00005ec0| 20 6e 6f 74 68 69 6e 67 | 20 74 6f 20 64 6f 20 20 | nothing| to do |
|00005ed0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00005ee0| 20 2a 2f 0a 0a 20 20 20 | 69 66 20 28 21 28 6d 65 | */.. |if (!(me|
|00005ef0| 6e 75 2d 3e 46 6c 61 67 | 73 20 26 20 4d 45 4e 55 |nu->Flag|s & MENU|
|00005f00| 45 4e 41 42 4c 45 44 29 | 29 0a 20 20 20 20 20 20 |ENABLED)|). |
|00005f10| 72 65 74 75 72 6e 20 28 | 28 4c 4f 4e 47 29 20 28 |return (|(LONG) (|
|00005f20| 2d 31 29 29 3b 0a 0a 20 | 20 20 2f 2a 20 46 6f 72 |-1));.. | /* For|
|00005f30| 6d 20 74 68 65 20 6d 65 | 6e 75 20 77 69 6e 64 6f |m the me|nu windo|
|00005f40| 77 20 74 6f 20 62 6c 61 | 73 74 20 66 6f 72 74 68 |w to bla|st forth|
|00005f50| 20 69 6e 74 6f 20 74 68 | 65 20 56 69 73 75 61 6c | into th|e Visual|
|00005f60| 20 57 6f 72 6c 64 2e 20 | 4e 6f 74 65 20 2a 2f 0a | World. |Note */.|
|00005f70| 20 20 20 2f 2a 20 74 68 | 65 20 75 6e 63 6f 6e 76 | /* th|e unconv|
|00005f80| 65 6e 74 69 6f 6e 61 6c | 20 28 61 6e 64 20 69 6e |entional| (and in|
|00005f90| 63 6f 6e 73 69 73 74 65 | 6e 74 20 77 69 74 68 20 |consiste|nt with |
|00005fa0| 49 6e 74 75 69 74 69 6f | 6e 29 20 77 61 79 73 20 |Intuitio|n) ways |
|00005fb0| 74 68 61 74 20 20 2a 2f | 0a 20 20 20 2f 2a 20 74 |that */|. /* t|
|00005fc0| 68 65 20 57 69 64 74 68 | 20 61 6e 64 20 48 65 69 |he Width| and Hei|
|00005fd0| 67 68 74 20 66 69 65 6c | 64 73 20 61 72 65 20 75 |ght fiel|ds are u|
|00005fe0| 73 65 64 20 68 65 72 65 | 2e 20 20 20 20 20 20 20 |sed here|. |
|00005ff0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 2a | | *|
|00006000| 00 00 00 08 00 00 04 78 | 00 00 00 0f 00 00 01 e8 |.......x|........|
|00006010| 00 00 00 31 a2 6c 20 90 | 2f 0a 0a 20 20 20 70 6f |...1.l .|/.. po|
|00006020| 70 5f 77 69 6e 64 6f 77 | 2e 57 69 64 74 68 20 3d |p_window|.Width =|
|00006030| 20 6d 65 6e 75 2d 3e 57 | 69 64 74 68 3b 0a 20 20 | menu->W|idth;. |
|00006040| 20 70 6f 70 5f 77 69 6e | 64 6f 77 2e 48 65 69 67 | pop_win|dow.Heig|
|00006050| 68 74 20 3d 20 6d 65 6e | 75 2d 3e 48 65 69 67 68 |ht = men|u->Heigh|
|00006060| 74 3b 0a 0a 20 20 20 69 | 66 20 28 77 69 6e 20 3d |t;.. i|f (win =|
|00006070| 3d 20 4e 55 4c 4c 29 0a | 20 20 20 20 20 20 77 69 |= NULL).| wi|
|00006080| 6e 20 3d 20 49 6e 74 75 | 69 74 69 6f 6e 42 61 73 |n = Intu|itionBas|
|00006090| 65 2d 3e 41 63 74 69 76 | 65 57 69 6e 64 6f 77 3b |e->Activ|eWindow;|
|000060a0| 0a 20 20 20 69 66 20 28 | 77 69 6e 20 3d 3d 20 4e |. if (|win == N|
|000060b0| 55 4c 4c 29 20 20 20 20 | 20 20 20 20 20 20 20 20 |ULL) | |
|000060c0| 20 20 20 20 20 20 20 20 | 20 2f 2a 20 70 61 6e 69 | | /* pani|
|000060d0| 63 20 2a 2f 0a 20 20 20 | 20 20 20 72 65 74 75 72 |c */. | retur|
|000060e0| 6e 20 28 28 4c 4f 4e 47 | 29 20 28 2d 31 29 29 3b |n ((LONG|) (-1));|
|000060f0| 0a 0a 20 20 20 2f 2a 20 | 49 6e 68 65 72 69 74 20 |.. /* |Inherit |
|00006100| 43 68 65 63 6b 4d 61 72 | 6b 20 66 72 6f 6d 20 74 |CheckMar|k from t|
|00006110| 68 65 20 22 70 61 72 65 | 6e 74 22 20 77 69 6e 64 |he "pare|nt" wind|
|00006120| 6f 77 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |ow | |
|00006130| 20 20 20 20 20 20 20 20 | 2a 2f 0a 0a 20 20 20 69 | |*/.. i|
|00006140| 66 20 28 77 69 6e 2d 3e | 43 68 65 63 6b 4d 61 72 |f (win->|CheckMar|
|00006150| 6b 29 0a 20 20 20 20 20 | 20 70 6f 70 5f 77 69 6e |k). | pop_win|
|00006160| 64 6f 77 2e 43 68 65 63 | 6b 4d 61 72 6b 20 3d 20 |dow.Chec|kMark = |
|00006170| 77 69 6e 2d 3e 43 68 65 | 63 6b 4d 61 72 6b 3b 0a |win->Che|ckMark;.|
|00006180| 0a 20 20 20 73 63 72 65 | 65 6e 20 3d 20 77 69 6e |. scre|en = win|
|00006190| 2d 3e 57 53 63 72 65 65 | 6e 3b 0a 20 20 20 70 6f |->WScree|n;. po|
|000061a0| 70 5f 77 69 6e 64 6f 77 | 2e 53 63 72 65 65 6e 20 |p_window|.Screen |
|000061b0| 3d 20 73 63 72 65 65 6e | 3b 0a 0a 20 20 20 70 6f |= screen|;.. po|
|000061c0| 70 5f 77 69 6e 64 6f 77 | 2e 4c 65 66 74 45 64 67 |p_window|.LeftEdg|
|000061d0| 65 20 3d 20 6d 65 6e 75 | 2d 3e 4c 65 66 74 45 64 |e = menu|->LeftEd|
|000061e0| 67 65 3b 0a 20 20 20 70 | 6f 70 5f 77 69 6e 64 6f |ge;. p|op_windo|
|000061f0| 77 2e 54 6f 70 45 64 67 | 65 20 3d 20 6d 65 6e 75 |w.TopEdg|e = menu|
|00006200| 00 00 00 08 00 00 04 78 | 00 00 00 10 00 00 01 e8 |.......x|........|
|00006210| 00 00 00 32 be fe 48 61 | 2d 3e 54 6f 70 45 64 67 |...2..Ha|->TopEdg|
|00006220| 65 3b 0a 0a 20 20 20 2f | 2a 20 69 66 20 77 65 20 |e;.. /|* if we |
|00006230| 61 72 65 20 73 75 70 70 | 6f 73 65 64 20 74 6f 20 |are supp|osed to |
|00006240| 72 65 74 75 72 6e 20 74 | 6f 20 74 68 65 20 6c 61 |return t|o the la|
|00006250| 73 74 2d 73 65 6c 65 63 | 74 65 64 20 6d 65 6e 75 |st-selec|ted menu|
|00006260| 20 69 74 65 6d 20 61 6e | 64 20 2a 2f 0a 20 20 20 | item an|d */. |
|00006270| 2f 2a 20 73 75 63 68 20 | 61 20 62 65 61 73 74 20 |/* such |a beast |
|00006280| 65 78 69 73 74 73 2c 20 | 61 6c 6c 20 6f 74 68 65 |exists, |all othe|
|00006290| 72 20 70 6f 73 69 74 69 | 6f 6e 69 6e 67 20 69 6e |r positi|oning in|
|000062a0| 66 6f 72 6d 61 74 69 6f | 6e 20 28 65 78 63 65 70 |formatio|n (excep|
|000062b0| 74 20 20 2a 2f 0a 20 20 | 20 2f 2a 20 50 4f 50 54 |t */. | /* POPT|
|000062c0| 49 44 59 29 20 77 69 6c | 6c 20 62 65 20 63 69 72 |IDY) wil|l be cir|
|000062d0| 63 75 6d 76 65 6e 74 65 | 64 2e 20 20 54 68 65 20 |cumvente|d. The |
|000062e0| 6d 65 6e 75 20 77 69 6c | 6c 20 61 70 70 65 61 72 |menu wil|l appear|
|000062f0| 20 75 6e 64 65 72 20 74 | 68 65 20 20 2a 2f 0a 20 | under t|he */. |
|00006300| 20 20 2f 2a 20 70 6f 69 | 6e 74 65 72 20 77 69 74 | /* poi|nter wit|
|00006310| 68 20 74 68 65 20 6c 61 | 73 74 2d 63 68 6f 73 65 |h the la|st-chose|
|00006320| 6e 20 69 74 65 6d 20 70 | 72 65 2d 73 65 6c 65 63 |n item p|re-selec|
|00006330| 74 65 64 2c 20 69 66 20 | 74 68 69 73 20 69 73 20 |ted, if |this is |
|00006340| 20 20 20 20 20 2a 2f 0a | 20 20 20 2f 2a 20 70 6f | */.| /* po|
|00006350| 73 73 69 62 6c 65 20 67 | 69 76 65 6e 20 74 68 65 |ssible g|iven the|
|00006360| 20 50 4f 50 54 49 44 59 | 20 66 6c 61 67 20 61 6e | POPTIDY| flag an|
|00006370| 64 20 74 68 65 20 73 63 | 72 65 65 6e 20 63 6f 6e |d the sc|reen con|
|00006380| 73 74 72 61 69 6e 74 73 | 2e 20 20 20 20 20 2a 2f |straints|. */|
|00006390| 0a 20 20 20 2f 2a 20 49 | 6e 20 74 68 69 73 20 63 |. /* I|n this c|
|000063a0| 61 73 65 2c 20 74 68 65 | 20 4c 65 66 74 45 64 67 |ase, the| LeftEdg|
|000063b0| 65 20 61 6e 64 20 54 6f | 70 45 64 67 65 20 66 69 |e and To|pEdge fi|
|000063c0| 65 6c 64 73 20 6f 66 20 | 74 68 65 20 6d 65 6e 75 |elds of |the menu|
|000063d0| 20 20 20 20 20 20 20 2a | 2f 0a 20 20 20 2f 2a 20 | *|/. /* |
|000063e0| 73 74 72 75 63 74 75 72 | 65 20 77 69 6c 6c 20 68 |structur|e will h|
|000063f0| 61 76 65 20 62 65 65 6e | 20 61 6c 74 65 72 65 64 |ave been| altered|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.