home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
006.lha
/
MAKE.APAINT.MENUS
< prev
next >
Wrap
Text File
|
1985-12-20
|
17KB
|
484 lines
10 ' *************************
20 ' * MAKE.APAINT.MENUS *
30 ' *************************
40 '
50 ' COPYRIGHT (C) 1985
60 ' COLIN FRENCH
70 '
80 ' Although this program is copyrighted,
90 ' please feel free to make copies for
100 ' friends or user groups, so long as
110 ' it is not done for profit. All other
120 ' rights are reserved by the author.
130 '
140 ' This program creates the drop-down
150 ' menus used by the sketching program
160 ' called 'APAINT'. These are drawn
170 ' one at a time and saved to disk as
180 ' binary files. To pass on a copy of
190 ' APAINT, copy this file too and then
200 ' run it to create the menus. All files
210 ' should be put on the same disk.
220 '
230 ' If you make any improvements or find
240 ' any bugs, I would like to hear about
250 ' them. Write:
260 ' Colin French
270 ' 2144 Iris St.
280 ' Ottawa, Ontario K2C 1B3
290 '
300 '
310 ' +----------------------+
320 ' | INITIALIZATION |
330 ' +----------------------+
340 '
350 SCREEN 0,1:FONT 1
360 GRAPHIC 1:DRAWMODE 0
370 ASK RGB 0,STDRED%,STDGRN%,STDBLU%
380 RGB 0,0,0,0:RGB 1,0,13,0
390 DIM PROJMENU%(177),TOOLMENU%(1289),CLR1MENU%(1010)
400 DIM CLR2MENU%(377),EXTRMENU%(106),UNDOMENU%(29)
410 '
420 ' +--------------------+
430 ' | PROJECT MENU |
440 ' +--------------------+
450 '
460 PENA 1:OUTLINE 0:BOX(0,0;79,69),1
470 PENA 0:DRAW(3,52 TO 76,52)
480 PRINT AT(6,10);"New";AT(6,19);"Open";AT(6,28);"Save"
490 PRINT AT(6,37);"Save as";AT(6,46);"Clear";AT(6,63);"Quit"
500 DRAW(64,37 TO 65,37):DRAW(69,37 TO 70,37):DRAW(74,37 TO 75,37)
510 GOSUB 4700 'check if OK to save to disk.
520 IF Z$="N" THEN 550
530 SSHAPE(0,0;80,70),PROJMENU%()
540 BSAVE "PROJMENU",VARPTR(PROJMENU%(0)),708
550 '
560 ' +------------------+
570 ' | TOOLS MENU |
580 ' +------------------+
590 '
600 ' BASIC MENU
610 '
620 SCNCLR:PENA 1:BOX(8,0;295,142),1
630 '
640 ' FRAMES FOR ICONS
650 '
660 PENO 0:PENA 0:OUTLINE 1
670 FOR N=0 TO 11:BOX(13+N*23,14;36+N*23,37):NEXT
680 FOR N=0 TO 11:BOX(13+N*23,52;36+N*23,75):NEXT
690 FOR N=0 TO 1:FOR N2=0 TO 5
700 BOX(13+N2*46,90+N*23;59+N2*46,113+N*23)
710 NEXT N2,N
720 '
730 ' SHADOWS UNDER GROUPS
740 '
750 DRAW(15,38 TO 290,38 TO 290,15):DRAW(291,15 TO 291,38)
760 DRAW(15,76 TO 290,76 TO 290,53):DRAW(291,53 TO 291,76)
770 DRAW(15,137 TO 290,137 TO 290,91):DRAW(291,91 TO 291,137)
780 '
790 ' DRAWING TOOL ICONS
800 '
810 ' FREEHAND
820 DRAW(21,18 TO 25,27):DRAW(22,19 TO 26,28):DRAW(22,18 TO 22,17 TO 24,17)
830 DRAW(24,17 TO 28,26):DRAW(24,18 TO 27,25)
840 DRAW(26,27 TO 26,28):DRAW(27,27 TO 27,29):DRAW(28,27 TO 28,30)
850 DRAW(30,30 TO 31,30 TO 33,32 TO 32,33 TO 29,34 TO 21,32 TO 16,34)
860 '
870 ' SINGLE LINE
880 DRAW(39,22 TO 41,22):DRAW(40,21 TO 40,23)
890 DRAW(42,23 TO 53,28)
900 DRAW(54,29 TO 56,29):DRAW(55,28 TO 55,30)
910 '
920 ' CONNECTED LINES
930 DRAW(66,18 TO 68,18):DRAW(67,17 TO 67,19)
940 DRAW(69,19 TO 76,22)
950 DRAW(77,23 TO 79,23):DRAW(78,22 TO 78,24)
960 DRAW(76,24 TO 65,27)
970 DRAW(62,28 TO 64,28):DRAW(63,27 TO 63,29)
980 DRAW(65,29 TO 72,32)
990 DRAW(73,33 TO 75,33):DRAW(74,32 TO 74,34)
1000 '
1010 ' FUTURE ICON
1020 '
1030 '
1040 ' TEXT
1050 DRAW(108,32 TO 113,32):DRAW(119,32 TO 125,32)
1060 DRAW(110,31 TO 120,21):DRAW(111,31 TO 121,21)
1070 DRAW(115,28 TO 120,28):BOX(121,20;123,31),1
1080 '
1090 ' FILL
1100 DRAW(132,27 TO 137,32 TO 144,25 TO 139,20 TO 132,27)
1110 DRAW(133,27 TO 137,31 TO 143,25 TO 139,21 TO 133,27)
1120 DRAW(139,17 TO 139,23):DRAW(139,25):DRAW(144,24)
1130 DRAW(144,33 TO 144,34):DRAW(145,25 TO 145,34)
1140 DRAW(146,27 TO 146,34):DRAW(147,31 TO 147,34):DRAW(148,34)
1150 '
1160 ' BOX & FILLED BOX
1170 BOX(156,21;169,30)
1180 BOX(179,21;192,30),1
1190 '
1200 ' OVAL & FILLED OVAL
1210 CIRCLE(208,25),7,0.6
1220 CIRCLE(231,25),7,0.6:PAINT(231,25)
1230 '
1240 ' AUSTRALIA & FILLED AUS.
1250 X=248:Y=20:GOSUB 1280
1260 X=271:Y=20:GOSUB 1280
1270 PAINT(280,26):GOTO 1320
1280 'DRAW AUSTRALIA SUB
1290 DRAW(X+7,Y TO X+7,Y+3 TO X,Y+6 TO X+2,Y+11)
1300 DRAW(TO X+6,Y+7 TO X+13,Y+10 TO X+13,Y+6 TO X+7,Y)
1310 RETURN
1320 '
1330 ' DRAW BRUSH SHAPES
1340 DRAW(24,63)
1350 DRAW(47,63 TO 48,63)
1360 BOX(70,63;71,64)
1370 BOX(92,63;95,64):BOX(93,62;94,65)
1380 BOX(114,61;118,65),1
1390 BOX(136,62;143,65),1:BOX(137,61;142,66):BOX(138,60;141,67)
1400 DRAW(154,63;170,63)
1410 DRAW(180,69;191,58)
1420 DRAW(208,56;208,70)
1430 DRAW(230,55;232,55):DRAW(230,63;232,63):DRAW(230,71;232,71)
1440 DRAW(252,64):DRAW(253,61):DRAW(254,63)
1450 DRAW(254,65):DRAW(256,62):DRAW(257,64)
1460 DRAW(272,62):DRAW(273,60):DRAW(274,64)
1470 DRAW(275,61):DRAW(275,66):DRAW(276,59)
1480 DRAW(276,63):DRAW(277,67):DRAW(278,60)
1490 DRAW(278,65):DRAW(279,62):DRAW(281,61)
1500 DRAW(281,64)
1510 '
1520 ' EDITING ICONS
1530 '
1540 ' EDIT FRAMES
1550 X=18:Y=97:GOSUB 1620
1560 X=170:Y=99:GOSUB 1620
1570 X=200:Y=97:GOSUB 1620:X=272:GOSUB 1620
1580 X=16:Y=120:GOSUB 1620:X=42:GOSUB 1620
1590 X=75:Y=117:GOSUB 1620
1600 X=119:Y=120:GOSUB 1620
1610 X=161:Y=116:GOSUB 1620:GOTO 1670
1620 DRAW(X+1,Y TO X,Y TO X,Y+2):DRAW(X,Y+4 TO X,Y+6)
1630 DRAW(X,Y+8 TO X,Y+9 TO X+2,Y+9):DRAW(X+5,Y+9 TO X+6,Y+9)
1640 DRAW(X+9,Y+9 TO X+10,Y+9):DRAW(X+13,Y+9 TO X+14,Y+9 TO X+14,Y+7)
1650 DRAW(X+14,Y+5 TO X+14,Y+3):DRAW(X+14,Y+1 TO X+14,Y TO X+12,Y)
1660 DRAW(X+9,Y TO X+8,Y):DRAW(X+5,Y TO X+4,Y):RETURN
1670 '
1680 ' CUT
1690 FOR N=0 TO 5:DRAW(77+N*2,93+N TO 79+N*2,93+N):NEXT
1700 FOR N=0 TO 5:DRAW(77+N*2,101-N TO 79+N*2,101-N):NEXT
1710 DRAW(90,93 TO 92,93):DRAW(89,94):DRAW(92,94):DRAW(88,95 TO 91,95)
1720 DRAW(88,99 TO 91,99):DRAW(89,100):DRAW(92,100):DRAW(90,101 TO 92,101)
1730 DRAW(79,97):DRAW(76,97 TO 75,97):DRAW(72,97 TO 71,97 TO 71,99)
1740 DRAW(71,101 TO 71,103):DRAW(71,105 TO 71,106 TO 73,106)
1750 DRAW(76,106 TO 77,106):DRAW(80,106 TO 81,106)
1760 DRAW(84,106 TO 85,106 TO 85,104):DRAW(85,102)
1770 '
1780 ' COPY
1790 FOR N=0 TO 4:DRAW(32+N*2,93+N*2):NEXT
1800 FOR N=0 TO 3:DRAW(34+N*2,110-N*2):NEXT
1810 DRAW(42,100 TO 42,105):DRAW(43,99 TO 48,99):DRAW(43,106 TO 48,106)
1820 BOX(44,100;45,105):BOX(48,97;53,107)
1830 DRAW(47,97 TO 47,95 TO 48,95 TO 48,94 TO 51,94)
1840 DRAW(51,95 TO 53,95 TO 53,96)
1850 '
1860 ' PASTE
1870 DRAW(114,97 TO 113,97 TO 113,99):DRAW(113,101 TO 113,103)
1880 DRAW(113,105 TO 113,106 TO 115,106):DRAW(118,106 TO 119,106)
1890 DRAW(122,106 TO 124,106 TO 124,104 TO 122,102 TO 124,102)
1900 DRAW(125,105 TO 126,104 TO 126,103 TO 127,102 TO 127,100)
1910 DRAW(125,101 TO 126,101):DRAW(127,98 TO 127,97 TO 125,97)
1920 DRAW(122,97 TO 121,97):DRAW(118,97 TO 117,97)
1930 AREA(127,105 TO 132,105 TO 132,110):DRAW(131,104 TO 133,106)
1940 DRAW(132,104 TO 138,98):DRAW(133,105 TO 139,99)
1950 DRAW(136,95 TO 142,101):DRAW(137,94 TO 138,94 TO 143,99 TO 143,100)
1960 '
1970 ' MAKE BRUSH
1980 FOR Y=0 TO 2:FOR X=0 TO 3
1990 DRAW(162+X*5+Y*2,95+Y):NEXT X,Y
2000 FOR Y=0 TO 3:FOR X=0 TO 3
2010 DRAW(162+X*2,95+Y*3+X):NEXT X,Y
2020 '
2030 ' DRAW DISKS
2040 X=226:Y=94:GOSUB 2060
2050 X=246:GOSUB 2060:GOTO 2090
2060 BOX(X,Y;X+14,Y+14):BOX(X+2,Y;X+12,Y+6)
2070 DRAW(X+5,Y+13 TO X+5,Y+10):DRAW(X+6,Y+9 TO X+8,Y+9)
2080 DRAW(X+9,Y+10 TO X+9,Y+13):RETURN
2090 '
2100 ' DRAW ARROWS
2110 X=217:Y=101:GOSUB 2130:X=263:GOSUB 2130
2120 X=33:Y=124:GOSUB 2130:GOTO 2160
2130 DRAW(X,Y TO X+3,Y)
2140 AREA(X+4,Y-2 TO X+4,Y+2 TO X+6,Y)
2150 RETURN
2160 '
2170 ' INVERT
2180 BOX(25,122;28,127),1
2190 AREA(18,127 TO 18,122 TO 23,122)
2200 AREA(45,127 TO 50,127 TO 50,122)
2210 '
2220 ' FLIP HORIZ
2230 DRAW(82,116 TO 82,131):DRAW(76,128 TO 79,128 TO 79,130)
2240 DRAW(78,129 TO 77,129 TO 76,130 TO 76,131 TO 77,132 TO 78,132)
2250 DRAW(79,133 TO 85,133 TO 86,132 TO 87,132 TO 88,131 TO 88,130)
2260 DRAW(87,129 TO 86,129)
2270 '
2280 ' FLIP VERT
2290 DRAW(116,125 TO 144,125):DRAW(137,119 TO 137,121 TO 139,121)
2300 DRAW(138,120 TO 139,119 TO 140,119 TO 141,120 TO 141,121)
2310 DRAW(142,122 TO 142,128 TO 141,129 TO 141,130)
2320 DRAW(140,131 TO 139,131 TO 138,130 TO 138,129)
2330 '
2340 ' STRETCH
2350 DRAW(161,128 TO 161,129):DRAW(161,131 TO 161,133 TO 162,133)
2360 FOR N=0 TO 4:DRAW(164+N*4,133 TO 165+N*4,133):NEXT
2370 DRAW(184,133 TO 186,133 TO 186,132):DRAW(178,116)
2380 FOR N=0 TO 2:DRAW(186,120+N*4 TO 186,122+N*4):NEXT
2390 DRAW(186,118 TO 186,116 TO 185,116):DRAW(182,116 TO 181,116)
2400 DRAW(178,126 TO 182,130):DRAW(177,127 TO 177,125 TO 179,125)
2410 DRAW(181,131 TO 183,131 TO 183,129)
2420 '
2430 ' FUTURE ROTATE ICON?
2440 '
2450 '
2460 ' MAGNIFY
2470 BOX(262,116;267,117):BOX(260,117;261,118):BOX(268,117;269,118)
2480 DRAW(259,118 TO 259,119 TO 258,119 TO 258,124 TO 259,124 TO 259,125)
2490 DRAW(270,118 TO 270,119 TO 271,119 TO 271,124 TO 270,124 TO 270,125)
2500 BOX(260,125;261,126):BOX(262,126;267,127):BOX(268,125;269,126)
2510 DRAW(270,126 TO 274,130):DRAW(270,127 TO 274,131)
2520 DRAW(268,127 TO 273,132):DRAW(268,128 TO 272,132)
2530 DRAW(273,131):DRAW(260,120 TO 260,122):BOX(263,120;265,122),1
2540 BOX(268,121;269,122):DRAW(268,120)
2542 FOR N=0 TO 2:DRAW(252+N*2,121):DRAW(273+N*2,121):NEXT
2560 '
2570 ' LABELS
2580 PRINT AT(13,11);"Drawing Tools:"
2590 PRINT AT(13,49);"Brush Shapes:"
2600 PRINT AT(13,87);"Editing Tools:"
2610 GOSUB 4700 'OK TO SAVE?
2620 IF Z$="N" THEN 2650
2630 SSHAPE(8,0;296,143),TOOLMENU%()
2640 BSAVE "TOOLMENU",VARPTR(TOOLMENU%(0)),5156
2650 '
2660 ' +----------------------------+
2670 ' | DEFINE FILL PATTERNS |
2680 ' +----------------------------+
2690 '
2700 DIM PAT0%(1),PAT1%(3),PAT2%(1),PAT3%(1),PAT4%(1),PAT5%(3)
2710 DIM PAT6%(3),PAT7%(3),PAT8%(15),PAT9%(15),PAT10%(15)
2720 '
2730 ' PATTERN 0
2740 PAT0%(0)=&B1111111111111111
2750 PAT0%(1)=&B1111111111111111
2760 '
2770 ' PATTERN 1
2780 PAT1%(0)=&B1011101110111011
2790 PAT1%(1)=&B1111111111111111
2800 PAT1%(2)=&B1110111011101110
2810 PAT1%(3)=&B1111111111111111
2820 '
2830 ' PATTERN 2
2840 PAT2%(0)=&B1011101110111011
2850 PAT2%(1)=&B1110111011101110
2860 '
2870 ' PATTERN 3
2880 PAT3%(0)=&B1010101010101010
2890 PAT3%(1)=&B0101010101010101
2900 '
2910 ' PATTERN 4
2920 PAT4%(0)=&B0100010001000100
2930 PAT4%(1)=&B0001000100010001
2940 '
2950 ' PATTERN 5
2960 PAT5%(0)=&B0100010001000100
2970 PAT5%(1)=&B0000000000000000
2980 PAT5%(2)=&B0001000100010001
2990 PAT5%(3)=&B0000000000000000
3000 '
3010 ' PATTERN 6
3020 PAT6%(0)=&B1100110011001100
3030 PAT6%(1)=&B1001100110011001
3040 PAT6%(2)=&B0011001100110011
3050 PAT6%(3)=&B0110011001100110
3060 '
3070 ' PATTERN 7
3080 PAT7%(0)=&B0010001000100010
3090 PAT7%(1)=&B0001000100010001
3100 PAT7%(2)=&B1000100010001000
3110 PAT7%(3)=&B0100010001000100
3120 '
3130 ' PATTERN 8
3140 PAT8%(0)=&B0000010100000101
3150 PAT8%(1)=&B0000101000001010
3160 PAT8%(2)=&B0001110100011101
3170 PAT8%(3)=&B0011111000111110
3180 PAT8%(4)=&B0111111101111111
3190 PAT8%(5)=&B0011111000111110
3200 PAT8%(6)=&B0101110001011100
3210 PAT8%(7)=&B0010100000101000
3220 PAT8%(8)=&B0101000001010000
3230 PAT8%(9)=&B1010000010100000
3240 PAT8%(10)=&B1101000111010001
3250 PAT8%(11)=&B1110001111100011
3260 PAT8%(12)=&B1111011111110111
3270 PAT8%(13)=&B1110001111100011
3280 PAT8%(14)=&B1100010111000101
3290 PAT8%(15)=&B1000001010000010
3300 '
3310 ' PATTERN 9
3320 PAT9%(0)=&B0000101111011100
3330 PAT9%(1)=&B0001011001101110
3340 PAT9%(2)=&B1110110000110111
3350 PAT9%(3)=&B1110100011010011
3360 PAT9%(4)=&B1110100111010011
3370 PAT9%(5)=&B1110110110110011
3380 PAT9%(6)=&B1111011001100011
3390 PAT9%(7)=&B0011101111000100
3400 PAT9%(8)=&B1101110000001011
3410 PAT9%(9)=&B0110111000010110
3420 PAT9%(10)=&B0011011111101100
3430 PAT9%(11)=&B1101001111101000
3440 PAT9%(12)=&B1101001111101001
3450 PAT9%(13)=&B1011001111101101
3460 PAT9%(14)=&B0110001111110110
3470 PAT9%(15)=&B1100010000111011
3480 '
3490 ' PATTERN 10
3500 PAT10%(0) =&B1111111111011111
3510 PAT10%(1) =&B1111111111011111
3520 PAT10%(2) =&B0000000001011100
3530 PAT10%(3) =&B1111111111011111
3540 PAT10%(4) =&B1111111111011111
3550 PAT10%(5) =&B1111111111011111
3560 PAT10%(6) =&B0101110001011100
3570 PAT10%(7) =&B0101110001011100
3580 PAT10%(8) =&B0101110001011100
3590 PAT10%(9) =&B1101111111111111
3600 PAT10%(10)=&B0101110000000000
3610 PAT10%(11)=&B1101111111111111
3620 PAT10%(12)=&B1101111111111111
3630 PAT10%(13)=&B1101111111111111
3640 PAT10%(14)=&B0101110001011100
3650 PAT10%(15)=&B0101110001011100
3660 '
3670 ' +--------------------------+
3680 ' | COLOR MENU -PART 1 |
3690 ' +--------------------------+
3700 '
3710 ' BASIC BOXES
3720 SCNCLR:PENA 1:PENO 1
3730 BOX(8,0;295,111),1
3740 PENA 0:PENO 0
3750 BOX(13,14;72,75)
3760 BOX(81,14;162,47),1:BOX(209,14;290,47),1
3770 BOX(96,50;162,75),1:BOX(224,50;290,75),1
3780 BOX(171,34;200,61),1:BOX(91,86;290,106),1
3790 BOX(8,80;180,81):BOX(190,80;296,81)
3800 '
3810 ' ARROWS
3820 DRAW(167,20 TO 180,20 TO 180,30)
3830 DRAW(178,28 TO 182,28):DRAW(179,29 TO 181,29)
3840 DRAW(189,28 TO 193,28):DRAW(190,29 TO 192,29)
3850 DRAW(191,30 TO 191,20 TO 204,20)
3860 DRAW(185,65 TO 185,83)
3870 DRAW(183,67 TO 187,67):DRAW(184,66 TO 186,66)
3880 '
3890 ' LABELS
3900 PRINT AT(13,10);"COLOR:";AT(82,10);"Foreground";AT(210,10);"Background"
3910 PRINT AT(19,27);"Copy";AT(19,35);"Range";AT(19,43);"Undo"
3920 PRINT AT(19,51);"Normal";AT(19,59);"Save";AT(19,67);"Load"
3930 PRINT AT(84,57);"R";AT(84,65);"G";AT(84,73);"B"
3940 PRINT AT(212,57);"R";AT(212,65);"G";AT(212,73);"B"
3948 PENA 1
3950 PRINT AT(282,21);"T";AT(282,29);"R";AT(282,37);"A";AT(282,45);"N"
3952 PENA 0
3960 PRINT AT(13,92);"PATTERN:"
3970 '
3980 ' PATTERNS
3990 PENA 1:FOR N=0 TO 10
4000 ON N+1 GOSUB 4030,4040,4050,4060,4070,4080,4090,4100,4110,4120,4130
4010 BOX(93+N*18,88;108+N*18,104),1
4020 NEXT:PATTERN 2,PAT0%():GOTO 4140
4030 PATTERN 2,PAT0%():RETURN
4040 PATTERN 4,PAT1%():RETURN
4050 PATTERN 2,PAT2%():RETURN
4060 PATTERN 2,PAT3%():RETURN
4070 PATTERN 2,PAT4%():RETURN
4080 PATTERN 4,PAT5%():RETURN
4090 PATTERN 4,PAT6%():RETURN
4100 PATTERN 4,PAT7%():RETURN
4110 PATTERN 16,PAT8%():RETURN
4120 PATTERN 16,PAT9%():RETURN
4130 PATTERN 16,PAT10%():RETURN
4140 '
4150 GOSUB 4700
4160 IF Z$="N" THEN 4190
4170 SSHAPE(8,0;296,112),CLR1MENU%()
4180 BSAVE "CLR1MENU",VARPTR(CLR1MENU%(0)),4040
4190 '
4200 ' +--------------------------+
4210 ' | COLOR MENU -PART 2 |
4220 ' +--------------------------+
4230 '
4240 SCREEN 0,5:OUTLINE 0
4250 FOR X=0 TO 7:FOR Y=0 TO 3
4260 PENA X+Y*8
4270 BOX(83+X*9,16+Y*8;89+X*9,21+Y*8),1
4280 NEXT Y,X
4290 GOSUB 4700
4300 IF Z$="N" THEN 4330
4310 SSHAPE(82,16;153,46),CLR2MENU%()
4320 BSAVE "CLR2MENU",VARPTR(CLR2MENU%(0)),1508
4330 '
4340 ' +-------------------+
4350 ' | EXTRAS MENU |
4360 ' +-------------------+
4370 '
4380 SCREEN 0,1:GRAPHIC 1:DRAWMODE 0:PENA 1:BOX(176,0;299,25),1
4390 PENA 0
4400 PRINT AT(182,10);"Information"
4410 PRINT AT(182,19);"Copying APaint"
4420 GOSUB 4700
4430 IF Z$="N" THEN 4460
4440 SSHAPE(176,0;300,26),EXTRMENU%()
4450 BSAVE "EXTRMENU",VARPTR(EXTRMENU%(0)),424
4460 '
4470 ' +-----------------+
4480 ' | UNDO MENU |
4490 ' +-----------------+
4500 '
4510 SCNCLR:PENA 1
4520 BOX(224,0;271,17),1
4530 PENA 0:PRINT AT(232,12);"Undo"
4540 GOSUB 4700
4550 IF Z$<>"Y" THEN 4580
4560 SSHAPE(224,0;272,18),UNDOMENU%()
4570 BSAVE "UNDOMENU",VARPTR(UNDOMENU%(0)),116
4580 ' All done!
4590 '
4600 '
4610 ' +--------------------------------+
4620 ' | CLEAN UP BEFORE QUITTING |
4630 ' +--------------------------------+
4640 '
4650 RGB 0,STDRED%,STDGRN%,STDBLU%:RGB 1,0,0,0
4660 SCREEN 1,4:FONT 2
4670 GRAPHIC 0:DRAWMODE 1
4680 SCNCLR
4690 END
4700 '
4710 ' +-----------------------------------+
4720 ' | CHECK IF OK TO SAVE TO DISK |
4730 ' +-----------------------------------+
4740 '
4750 PENA 1:PRINT AT(0,186);"Save to disk? (Y/N) ";
4760 GETKEY Z$
4770 IF Z$="y" OR Z$="Y" THEN Z$="Y":GOTO 4800
4780 IF Z$="n" OR Z$="N" THEN Z$="N":GOTO 4800
4790 GOTO 4760
4800 PENA 0:BOX(0,180;170,188),1
4810 RETURN