/* * MandelVroom 2.0 * * (c) Copyright 1987,1989 Kevin L. Clague, San Jose, CA * * All rights reserved. * * Permission is hereby granted to distribute this program's source * executable, and documentation for non-comercial purposes, so long as the * copyright notices are not removed from the sources, executable or * documentation. This program may not be distributed for a profit without * the express written consent of the author Kevin L. Clague. * * This program is not in the public domain. * * Fred Fish is expressly granted permission to distribute this program's * source and executable as part of the "Fred Fish freely redistributable * Amiga software library." * * Permission is expressly granted for this program and it's source to be * distributed as part of the Amicus Amiga software disks, and the * First Amiga User Group's Hot Mix disks. * * contents: this file contains the data definitions for MandelVroom's * menus. */ #include "mandp.h" UBYTE MandStr[] = { "MAND" }; UBYTE JuliaStr[] = { "JULIA" }; struct IntuiText PictShadow[] = { { HIGHLIGHTPEN, 0, JAM1, 0, 2, NULL, MandStr, NULL }, { HIGHLIGHTPEN, 0, JAM1, 0, 2, NULL, JuliaStr, NULL } }; struct IntuiText PictSubsIntui[] = { { SHADOWPEN, 0, JAM1, 1, 3, NULL, MandStr, &PictShadow[0] }, { SHADOWPEN, 0, JAM1, 1, 3, NULL, JuliaStr, &PictShadow[1] } }; struct MenuItem PictSubs[] = { { (struct MenuItem *) &PictSubs[1], -42, 0, 42, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, NULL, (APTR) &PictSubsIntui[0], NULL, '\0', NULL, NULL }, { (struct MenuItem *) NULL, -42, 12, 42, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, NULL, (APTR) &PictSubsIntui[1], NULL, '\0', NULL, NULL } }; UBYTE AboutStr1[] = { " MandelVroom" }; UBYTE AboutStr2[] = { "The Multitasking Mandelbrot Program" }; UBYTE AboutStr3[] = { " Only Amiga Makes It Possible!" }; UBYTE AboutStr4[] = { " Copyright 1987,1989" }; UBYTE AboutStr5[] = { " Kevin L. Clague" }; struct IntuiText AboutShadow[] = { { HIGHLIGHTPEN, 0, JAM1, 5, 0, NULL, AboutStr1, &AboutShadow[1] }, { HIGHLIGHTPEN, 0, JAM1, 5, 10, NULL, AboutStr2, &AboutShadow[2] }, { HIGHLIGHTPEN, 0, JAM1, 5, 20, NULL, AboutStr3, &AboutShadow[3] }, { HIGHLIGHTPEN, 0, JAM1, 5, 34, NULL, AboutStr4, &AboutShadow[4] }, { HIGHLIGHTPEN, 0, JAM1, 5, 44, NULL, AboutStr5, NULL }, }; struct IntuiText AboutSubsIntui[] = { { SHADOWPEN, 0, JAM1, 6, 1, NULL, AboutStr1, &AboutSubsIntui[1] }, { SHADOWPEN, 0, JAM1, 6, 11, NULL, AboutStr2, &AboutSubsIntui[2] }, { SHADOWPEN, 0, JAM1, 6, 21, NULL, AboutStr3, &AboutSubsIntui[3] }, { SHADOWPEN, 0, JAM1, 6, 35, NULL, AboutStr4, &AboutSubsIntui[4] }, { SHADOWPEN, 0, JAM1, 6, 45, NULL, AboutStr5, &AboutShadow[0] }, }; struct MenuItem AboutSubs = { NULL, -44, 0, 300, 53, ITEMTEXT|ITEMENABLED|HIGHNONE, NULL, (APTR) &AboutSubsIntui[0], NULL, '\0', NULL, NULL }; UBYTE NewStr[] = { "New" }; UBYTE CurStr[] = { "Current" }; UBYTE LoadStr[] = { "Load" }; UBYTE SavePStr[] = { "Save" }; UBYTE ClosePStr[] = { "Close" }; UBYTE SaveIStr[] = { "Save ILBM" }; UBYTE HelpStr[] = { "Help" }; UBYTE CancelStr[] = { "Cancel" }; UBYTE QuitStr[] = { "Quit" }; UBYTE AboutStr[] = { "About" }; struct IntuiText NewShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, NewStr, NULL }; struct IntuiText CurShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, CurStr, NULL }; struct IntuiText LoadShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, LoadStr, NULL }; struct IntuiText SaveProjShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, SavePStr, NULL }; struct IntuiText CloseShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, ClosePStr, NULL }; struct IntuiText SaveILBMShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, SaveIStr, NULL }; struct IntuiText HelpShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, HelpStr, NULL }; struct IntuiText CancelShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, CancelStr, NULL }; struct IntuiText QuitShadow = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, QuitStr, NULL }; struct IntuiText AboutShadowII = { HIGHLIGHTPEN, 0, JAM1, 5, 2, NULL, AboutStr, NULL }; struct IntuiText ProjectItemsIntui[] = { { SHADOWPEN, 0, JAM1, 6, 3, NULL, NewStr, &NewShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, CurStr, &CurShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, LoadStr, &LoadShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, SavePStr, &SaveProjShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, ClosePStr, &CloseShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, SaveIStr, &SaveILBMShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, HelpStr, &HelpShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, CancelStr, &CancelShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, QuitStr, &QuitShadow }, { SHADOWPEN, 0, JAM1, 6, 3, NULL, AboutStr, &AboutShadowII }, }; struct MenuItem ProjectItems[] = { { /* New */ (struct MenuItem *) &ProjectItems[1], 0, 0, 116, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[0], NULL, 0, (struct MenuItem *) &PictSubs[0], NULL }, { /* Current */ (struct MenuItem *) &ProjectItems[2], 0, 14, 116, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[1], NULL, ' ', NULL, NULL }, { /* Load */ (struct MenuItem *) &ProjectItems[3], 0, 28, 116, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[2], NULL, 'L', NULL, NULL }, { /* Save */ (struct MenuItem *) &ProjectItems[4], 0, 42, 116, 14, ITEMTEXT|ITEMENABLED|COMMSEQ|HIGHBOX, 0, (APTR) &ProjectItemsIntui[3], NULL, 'S', NULL, NULL }, { /* Close */ (struct MenuItem *) &ProjectItems[5], 0, 56, 116, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[4], NULL, ' ', NULL, NULL }, { /* Save ILBM */ (struct MenuItem *) &ProjectItems[6], 0, 70, 116, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[5], NULL, 'I', NULL, NULL }, { /* Help */ (struct MenuItem *) &ProjectItems[7], 0, 84, 116, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[6], NULL, 'H', NULL, NULL }, { /* Cancel */ (struct MenuItem *) &ProjectItems[8], 0, 98, 116, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[7], NULL, 'Z', NULL, NULL }, { /* quit */ (struct MenuItem *) &ProjectItems[9], 0, 112, 116, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &ProjectItemsIntui[8], NULL, 'Q', NULL, NULL, }, { /* About */ NULL, 0, 126, 116, 14, ITEMTEXT|ITEMENABLED|HIGHNONE, 0, (APTR) &ProjectItemsIntui[9], NULL, 0, (struct MenuItem *) &AboutSubs, NULL }, }; UBYTE TypeIStr[] = { " I" }; UBYTE TypeIIStr[] = { "II" }; struct IntuiText AutoShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, TypeIStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, TypeIIStr, NULL } }; struct IntuiText AutoSubsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, TypeIStr, &AutoShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, TypeIIStr, &AutoShadow[1] } }; struct MenuItem AutoSub[] = { { (struct MenuItem *) &AutoSub[1], -28, 0, 28, 12, ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0000, (APTR) &AutoSubsIntui[0], NULL, 0, NULL, NULL }, { (struct MenuItem *) NULL, -28, 12, 28, 12, ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0000, (APTR) &AutoSubsIntui[1], NULL, 0, NULL, NULL } }; UBYTE HiResStr[] = { "High Res" }; UBYTE LaceStr[] = { "Interlace" }; UBYTE HBStr[] = { "HalfBrite" }; struct IntuiText ViewModesShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, HiResStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, LaceStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, HBStr, NULL } }; struct IntuiText ViewModeSubsIntui[] = { { SHADOWPEN, 1, JAM1, 17, 3, NULL, HiResStr, &ViewModesShadow[0] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, LaceStr, &ViewModesShadow[1] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, HBStr, &ViewModesShadow[2] } }; struct MenuItem ViewModeSubs[] = { { (struct MenuItem *) &ViewModeSubs[1], -88, 0, 88, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ViewModeSubsIntui[0], NULL, '\0x1a', NULL, NULL }, { (struct MenuItem *) &ViewModeSubs[2], -88, 12, 88, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ViewModeSubsIntui[1], NULL, '\0x1a', NULL, NULL }, { (struct MenuItem *) NULL, -88, 24, 88, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ViewModeSubsIntui[2], NULL, '\0x1a', NULL, NULL } }; UBYTE StdStr[] = { "Standard" }; UBYTE WBStr[] = { "Workbench" }; struct IntuiText ScreenSizeShadow[] = { { HIGHLIGHTPEN, 0, JAM1, 16, 2, NULL, StdStr, NULL }, { HIGHLIGHTPEN, 0, JAM1, 16, 2, NULL, WBStr, NULL }, }; struct IntuiText ScreenSizeSubsIntui[] = { { SHADOWPEN, 0, JAM1, 17, 3, NULL, StdStr, &ScreenSizeShadow[0], }, { SHADOWPEN, 0, JAM1, 17, 3, NULL, WBStr, &ScreenSizeShadow[1], }, }; struct MenuItem ScreenSizeSubs[] = { { (struct MenuItem *) &ScreenSizeSubs[1], -88, 0, 88, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0003-0x0001, (APTR) &ScreenSizeSubsIntui[0], NULL, '\0x1a', NULL, NULL }, { NULL, -88, 12, 88, 12, CHECKED|CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0003-0x0002, (APTR) &ScreenSizeSubsIntui[1], NULL, '\0x1a', NULL, NULL }, }; UBYTE TwoStr[] = { " 2" }; UBYTE FourStr[] = { " 4" }; UBYTE EightStr[] = { " 8" }; UBYTE _16Str[] = { "16" }; UBYTE _32Str[] = { "32" }; UBYTE _64Str[] = { "64" }; struct IntuiText DepthShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, TwoStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, FourStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, EightStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, _16Str, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, _32Str, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, _64Str, NULL } }; struct IntuiText DepthSubsIntui[] = { { SHADOWPEN, 1, JAM1, 17, 3, NULL, TwoStr, &DepthShadow[0] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, FourStr, &DepthShadow[1] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, EightStr, &DepthShadow[2] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, _16Str, &DepthShadow[3] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, _32Str, &DepthShadow[4] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, _64Str, &DepthShadow[5] } }; struct MenuItem DepthSubs[] = { { (struct MenuItem *) &DepthSubs[1], -68, 0, 68, 12, CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0001, (APTR) &DepthSubsIntui[0], NULL, '1', NULL, NULL }, { (struct MenuItem *) &DepthSubs[2], -68, 12, 68, 12, CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0002, (APTR) &DepthSubsIntui[1], NULL, '2', NULL, NULL }, { (struct MenuItem *) &DepthSubs[3], -68, 24, 68, 12, CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0004, (APTR) &DepthSubsIntui[2], NULL, '3', NULL, NULL }, { (struct MenuItem *) &DepthSubs[4], -68, 36, 68, 12, CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0008, (APTR) &DepthSubsIntui[3], NULL, '4', NULL, NULL }, { (struct MenuItem *) &DepthSubs[5], -68, 48, 68, 12, CHECKIT|CHECKED|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0010, (APTR) &DepthSubsIntui[4], NULL, '5', NULL, NULL }, { NULL, -68, 60, 68, 12, CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0x003F-0x0020, (APTR) &DepthSubsIntui[5], NULL, '6', NULL, NULL } }; UBYTE OnStr[] = { "On" }; UBYTE OffStr[] = { "Off" }; struct IntuiText OnOffShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, OnStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, OffStr, NULL } }; struct IntuiText OnOffIntui[] = { { SHADOWPEN, 1, JAM1, 17, 3, NULL, OnStr, &OnOffShadow[0] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, OffStr, &OnOffShadow[1] } }; struct MenuItem BorderSubs[] = { { (struct MenuItem *) &BorderSubs[1], -40, 0, 40, 12, CHECKIT | ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0003-0x001, (APTR) &OnOffIntui[1], NULL, 0, NULL, NULL }, { (struct MenuItem *) NULL, -40, 12, 40, 12, CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0003-0x002, (APTR) &OnOffIntui[0], NULL, 0, NULL, NULL } }; UBYTE ColorStr[] = { "Colors" }; UBYTE CycleStr[] = { "Cycling" }; UBYTE CntrStr[] = { "Contours" }; UBYTE AutoStr[] = { "AutoContour" }; UBYTE HistStr[] = { "Histogram" }; UBYTE ViewStr[] = { "View Modes" }; UBYTE NumStr[] = { "Num Colors" }; UBYTE ScreenStr[] = { "Screen Size" }; UBYTE BorderStr[] = { "Borderless" }; struct IntuiText DisplayShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, ColorStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, CycleStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, CntrStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, AutoStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, HistStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, BorderStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, NumStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, ViewStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, ScreenStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 5, 2, NULL, BorderStr, NULL }, }; struct IntuiText DisplayItemsIntui[] = { { SHADOWPEN, 1, JAM1, 6, 3, NULL, ColorStr, &DisplayShadow[0] }, { SHADOWPEN, 1, JAM1, 6, 3, NULL, CycleStr, &DisplayShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, CntrStr, &DisplayShadow[2] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, AutoStr, &DisplayShadow[3] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, HistStr, &DisplayShadow[4] }, { SHADOWPEN, 1, JAM1, 6, 3, NULL, BorderStr, &DisplayShadow[5] }, { SHADOWPEN, 1, JAM1, 6, 3, NULL, NumStr, &DisplayShadow[6] }, { SHADOWPEN, 1, JAM1, 6, 3, NULL, ViewStr, &DisplayShadow[7] }, { SHADOWPEN, 1, JAM1, 6, 3, NULL, ScreenStr, &DisplayShadow[8] }, }; struct MenuItem DisplayItems[] = { { /* Colors */ (struct MenuItem *) &DisplayItems[1], 0, 0, 108, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[0], NULL, 'C', NULL, NULL }, { /* Cycling */ (struct MenuItem *) &DisplayItems[2], 0, 14, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[1], NULL, '\t', NULL, NULL }, { /* Contours */ (struct MenuItem *) &DisplayItems[3], 0, 28, 108, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[2], NULL, 'K', NULL, NULL }, { /* AutoContour */ (struct MenuItem *) &DisplayItems[4], 0, 42, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[3], NULL, ' ', (struct MenuItem *) &AutoSub, NULL }, { /* Histogram */ (struct MenuItem *) &DisplayItems[5], 0, 56, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[4], NULL, ' ', NULL, NULL }, { /* Border */ (struct MenuItem *) &DisplayItems[6], 0, 70, 108, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[5], NULL, '\0x0', (struct MenuItem *) &BorderSubs, NULL }, { /* Depth */ (struct MenuItem *) &DisplayItems[7], 0, 84, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[6], NULL, '\0x0', (struct MenuItem *) &DepthSubs, NULL }, { /* ViewModes */ (struct MenuItem *) &DisplayItems[8], 0, 98, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[7], NULL, '\0x0', (struct MenuItem *) &ViewModeSubs, NULL }, { /* Screen Size */ NULL, 0, 112, 108, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &DisplayItemsIntui[8], NULL, '\0x0', (struct MenuItem *) &ScreenSizeSubs, NULL }, }; UBYTE InStr[] = { "In" }; UBYTE OutStr[] = { "Out" }; UBYTE CloseStr[] = { "Close" }; UBYTE JuliaPStr[] = { "Julia" }; struct IntuiText ZoomInShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, InStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, OutStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, CloseStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 6, NULL, JuliaPStr, NULL } }; struct IntuiText ZoomInSubsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, InStr, &ZoomInShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, OutStr, &ZoomInShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, CloseStr, &ZoomInShadow[2] }, { SHADOWPEN, 1, JAM1, 5, 7, NULL, JuliaPStr, &ZoomInShadow[3] } }; struct MenuItem ZoomInSubs[] = { { (struct MenuItem *) &ZoomInSubs[1], -48, 0, 48, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ZoomInSubsIntui[0], NULL, '\0', NULL, NULL }, { (struct MenuItem *) &ZoomInSubs[2], -48, 12, 48, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ZoomInSubsIntui[1], NULL, '\0', NULL, NULL }, { (struct MenuItem *) &ZoomInSubs[3], -48, 24, 48, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ZoomInSubsIntui[2], NULL, '\0', NULL, NULL }, { (struct MenuItem *) NULL, -48, 36, 48, 16, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &ZoomInSubsIntui[3], NULL, '\0', NULL, NULL } }; UBYTE StartStr[] = { "Start" }; UBYTE StopStr[] = { "Stop" }; UBYTE ContStr[] = { "Resume" }; struct IntuiText GenItShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, StartStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, StopStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, ContStr, NULL } }; struct IntuiText GenItSubsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, StartStr, &GenItShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, StopStr, &GenItShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, ContStr, &GenItShadow[2] }, }; struct MenuItem GenItSubs[] = { { (struct MenuItem *) &GenItSubs[1], -56, 0, 56, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, NULL, (APTR) &GenItSubsIntui[0], NULL, 'G', NULL, NULL }, { (struct MenuItem *) &GenItSubs[2], -56, 12, 56, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, NULL, (APTR) &GenItSubsIntui[1], NULL, 'S', NULL, NULL }, { (struct MenuItem *) NULL, -56, 24, 56, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, NULL, (APTR) &GenItSubsIntui[2], NULL, 'J', NULL, NULL }, }; UBYTE Int68000[] = { "Int68000" }; UBYTE FFPStr[] = { "FFP" }; UBYTE IEEEStr[] = { "IEEE" }; UBYTE Int68020[] = { "Int68020" }; UBYTE IEEE8Str[] = { "020/881" }; struct IntuiText GenerateShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, Int68000, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, FFPStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, IEEEStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, Int68020, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, IEEE8Str, NULL } }; struct IntuiText GenerateSubsIntui[] = { { SHADOWPEN, 1, JAM1, 17, 3, NULL, Int68000, &GenerateShadow[0] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, FFPStr, &GenerateShadow[1] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, IEEEStr, &GenerateShadow[2] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, Int68020, &GenerateShadow[3] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, IEEE8Str, &GenerateShadow[4] } }; struct MenuItem GenerateSubs[] = { { (struct MenuItem *) &GenerateSubs[1], -120, 0, 120, 12, CHECKIT|CHECKED|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0001f-0x0001, (APTR) &GenerateSubsIntui[0], NULL, 'I', NULL, NULL }, { (struct MenuItem *) &GenerateSubs[2], -120, 12, 120, 12, CHECKIT|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0001f-0x0002, (APTR) &GenerateSubsIntui[1], NULL, 'F', NULL, NULL }, { (struct MenuItem *) &GenerateSubs[3], -120, 24, 120, 12, CHECKIT|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0001f-0x0004, (APTR) &GenerateSubsIntui[2], NULL, 'E', NULL, NULL }, { (struct MenuItem *) &GenerateSubs[4], -120, 36, 120, 12, CHECKIT|ITEMTEXT|HIGHBOX, 0x0001f-0x0008, (APTR) &GenerateSubsIntui[3], NULL, ' ', NULL, NULL }, { (struct MenuItem *) NULL, -120, 48, 120, 12, CHECKIT|ITEMTEXT|HIGHBOX, 0x0001f-0x0001, (APTR) &GenerateSubsIntui[4], NULL, ' ', NULL, NULL }, }; struct MenuItem LensSub[] = { { (struct MenuItem *) &LensSub[1], -40, 0, 40, 12, CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0003-0x001, (APTR) &OnOffIntui[0], NULL, 0, NULL, NULL }, { (struct MenuItem *) NULL, -40, 12, 40, 12, CHECKIT | ITEMTEXT | ITEMENABLED | HIGHBOX, 0x0003-0x002, (APTR) &OnOffIntui[1], NULL, 0, NULL, NULL } }; UBYTE GenStr[] = { "Generate" }; struct IntuiText ScrollShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, StartStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, GenStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, CancelStr, NULL }, }; struct IntuiText ScrollSubsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, StartStr, &ScrollShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, GenStr, &ScrollShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, CancelStr, &ScrollShadow[2] }, }; struct MenuItem ScrollSubs[] = { { (struct MenuItem *) &ScrollSubs[1], -80, 0, 80, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0000, (APTR) &ScrollSubsIntui[0], NULL, 'I', NULL, NULL }, { (struct MenuItem *) &ScrollSubs[2], -80, 12, 80, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0000, (APTR) &ScrollSubsIntui[1], NULL, 'F', NULL, NULL }, { (struct MenuItem *) NULL, -80, 24, 80, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0000, (APTR) &ScrollSubsIntui[2], NULL, 'E', NULL, NULL }, }; UBYTE ZoomStr[] = { "Zoom" }; UBYTE ScrollStr[] = { "Pan" }; UBYTE LensStr[] = { "Magnifier" }; UBYTE DataStr[] = { "Math Mode" }; UBYTE MaxStr[] = { "MaxIteration" }; UBYTE StatStr[] = { "Statistics" }; struct IntuiText CalculateShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, GenStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, ZoomStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, ScrollStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, LensStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, DataStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, MaxStr, NULL, }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, StatStr, NULL, }, }; struct IntuiText CalculateItemsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, GenStr, &CalculateShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, ZoomStr, &CalculateShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, ScrollStr, &CalculateShadow[2] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, LensStr, &CalculateShadow[3] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, DataStr, &CalculateShadow[4] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, MaxStr, &CalculateShadow[5] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, StatStr, &CalculateShadow[6] }, }; struct MenuItem CalculateItems[] = { { /* Generate */ (struct MenuItem *) &CalculateItems[1], 0, 0, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[0], NULL, '\0', (struct MenuItem *) &GenItSubs, NULL }, { /* Zoom */ (struct MenuItem *) &CalculateItems[2], 0, 14, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[1], NULL, '\0', (struct MenuItem *) &ZoomInSubs, NULL }, { /* Scroll */ (struct MenuItem *) &CalculateItems[3], 0, 28, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[2], NULL, '\0', (struct MenuItem *) ScrollSubs, NULL }, { /* Lens */ (struct MenuItem *) &CalculateItems[4], 0, 42, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[3], NULL, '\0', (struct MenuItem *) LensSub, NULL }, { /* Generator */ (struct MenuItem *) &CalculateItems[5], 0, 56, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[4], NULL, '\0x0', (struct MenuItem *) &GenerateSubs, NULL }, { /* MaxI */ (struct MenuItem *) &CalculateItems[6], 0, 70, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[5], NULL, '\0x0', NULL, NULL }, { /* Statistics */ (struct MenuItem *) NULL, 0, 84, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &CalculateItemsIntui[6], NULL, '\0x0', NULL, NULL }, }; UBYTE BigStr[] = { "Big Brot" }; UBYTE HeyStr[] = { "Hey Baby" }; UBYTE DragonStr[] = { "Aug 85 Cover" }; UBYTE SpineStr[] = { "Sea Horse" }; UBYTE VertStr[] = { "Golden Dragon" }; UBYTE BStr[] = { "Dual Spiral" }; UBYTE SeaStr[] = { "HalfBrite" }; UBYTE ChainStr[] = { "Valley Gal" }; UBYTE LinkStr[] = { "Dragon Julia" }; UBYTE BabyStr[] = { "Halo" }; struct IntuiText PresetShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, BigStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, HeyStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, DragonStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, SpineStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, VertStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, BStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, SeaStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, ChainStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, LinkStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, BabyStr, NULL }, }; struct IntuiText PresetIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, BigStr, &PresetShadow[0], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, HeyStr, &PresetShadow[1], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, DragonStr, &PresetShadow[2], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, SpineStr, &PresetShadow[3], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, VertStr, &PresetShadow[4], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, BStr, &PresetShadow[5], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, SeaStr, &PresetShadow[6], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, ChainStr, &PresetShadow[7], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, LinkStr, &PresetShadow[8], }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, BabyStr, &PresetShadow[9], }, }; struct MenuItem PresetSubs[] = { { (struct MenuItem *) &PresetSubs[1], -110, 0, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[0], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[2], -110, 14, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[1], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[3], -110, 28, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[2], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[4], -110, 42, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[3], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[5], -110, 56, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[4], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[6], -110, 70, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[5], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[7], -110, 84, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[6], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[8], -110, 98, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[7], NULL, 'p', NULL, NULL }, { (struct MenuItem *) &PresetSubs[9], -110, 112, 110, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[8], NULL, 'p', NULL, NULL }, { (struct MenuItem *) NULL, -110, 126, 110, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &PresetIntui[9], NULL, 'p', NULL, NULL }, }; struct IntuiText OrbitModeShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, Int68000, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, FFPStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 16, 2, NULL, IEEEStr, NULL }, }; struct IntuiText OrbitModeSubsIntui[] = { { SHADOWPEN, 1, JAM1, 17, 3, NULL, Int68000, &OrbitModeShadow[0] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, FFPStr, &OrbitModeShadow[1] }, { SHADOWPEN, 1, JAM1, 17, 3, NULL, IEEEStr, &OrbitModeShadow[2] }, }; struct MenuItem OrbitModeSubs[] = { { (struct MenuItem *) &OrbitModeSubs[1], -80, 0, 80, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0007-0x0001, (APTR) &OrbitModeSubsIntui[0], NULL, 'I', NULL, NULL }, { (struct MenuItem *) &OrbitModeSubs[2], -80, 12, 80, 12, CHECKIT|CHECKED|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0007-0x0002, (APTR) &OrbitModeSubsIntui[1], NULL, 'F', NULL, NULL }, { (struct MenuItem *) NULL, -80, 24, 80, 12, CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX, 0x0007-0x0004, (APTR) &OrbitModeSubsIntui[2], NULL, 'E', NULL, NULL }, }; UBYTE PresetStr[] = { "Preset" }; UBYTE OrbtStr[] = { "Orbit" }; UBYTE OModStr[] = { "Orbit Mode" }; UBYTE OMaxStr[] = { "Max Orbit" }; struct IntuiText SpecialShadow[] = { { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, PresetStr, NULL }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, OrbtStr, NULL, }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, OModStr, NULL, }, { HIGHLIGHTPEN, 1, JAM1, 4, 2, NULL, OMaxStr, NULL, }, }; struct IntuiText SpecialItemsIntui[] = { { SHADOWPEN, 1, JAM1, 5, 3, NULL, PresetStr, &SpecialShadow[0] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, OrbtStr, &SpecialShadow[1] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, OModStr, &SpecialShadow[2] }, { SHADOWPEN, 1, JAM1, 5, 3, NULL, OMaxStr, &SpecialShadow[3] }, }; struct MenuItem SpecialItems[] = { { /* Presets */ (struct MenuItem *) &SpecialItems[1], -32, 0, 90, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &SpecialItemsIntui[0], NULL, '\0', (struct MenuItem *) &PresetSubs, NULL }, { /* Orbit */ (struct MenuItem *) &SpecialItems[2], -32, 14, 90, 14, ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX, 0, (APTR) &SpecialItemsIntui[1], NULL, 'R', NULL, NULL }, { /* Orbit MathMode */ (struct MenuItem *) &SpecialItems[3], -32, 28, 90, 14, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &SpecialItemsIntui[2], NULL, ' ', (struct MenuItem *) OrbitModeSubs, NULL }, { /* Orbit MaxOrbit */ (struct MenuItem *) NULL, -32, 42, 90, 12, ITEMTEXT|ITEMENABLED|HIGHBOX, 0, (APTR) &SpecialItemsIntui[3], NULL, ' ', NULL, NULL }, }; struct Menu Menu[] = { { (struct Menu *) &Menu[1], 4+42, 0, 60, 8, 1, (BYTE *) "Project", (struct MenuItem *) &ProjectItems, }, { (struct Menu *) &Menu[2], 68+42, 0, 60, 8, 1, (BYTE *) "Display", (struct MenuItem *) &DisplayItems, }, { (struct Menu *) &Menu[3], 132+42, 0, 76, 8, 0, (BYTE *) "Calculate", (struct MenuItem *) &CalculateItems, }, { NULL, 212+42, 0, 64, 8, 1, (BYTE *) "Special", (struct MenuItem *) &SpecialItems, } }; #define NUM_ITEMS(a) (sizeof(a)/sizeof(a[0])) extern struct NewScreen NewScreen; /* * Set up Menu's check marks to reflect viewmodes. */ InitViewModesSubs() { SHORT i; ClearItems( ViewModeSubs, NUM_ITEMS( ViewModeSubs )); for (i = HIRESSUB; i <= HALFBRITESUB; i++) { switch (i) { case HIRESSUB: if (NewScreen.ViewModes & HIRES) ViewModeSubs[i].Flags |= CHECKED; break; case INTERLACESUB: if (NewScreen.ViewModes & INTERLACE) ViewModeSubs[i].Flags |= CHECKED; break; case HALFBRITESUB: if (NewScreen.ViewModes & EXTRA_HALFBRITE) ViewModeSubs[i].Flags |= CHECKED; break; } } } /* InitViewModesSubs */ /* * Set up Menu's check marks to reflect Depth. */ InitDepthSubs() { ClearItems( DepthSubs, NUM_ITEMS( DepthSubs ) ); DepthSubs[NewScreen.Depth-1].Flags |= CHECKED; } /* InitScreenViewMode */ /* * Set up Menu's check marks to reflect Generator Type */ InitGenSubs() { if (CurPict) { ClearItems( GenerateSubs, NUM_ITEMS( GenerateSubs ) ); GenerateSubs[ CurPict->MathMode ].Flags |= CHECKED; } } /* InitGenSubs */ /* * Set up Menu's check marks to reflect Zoom Lens Configuration */ InitLensSubs() { extern UBYTE LensOn; ClearItems( LensSub, NUM_ITEMS( LensSub ) ); LensSub[ LensOn ].Flags |= CHECKED; } /* InitLensSubs */ /* * Set up Menu's check marks to reflect Screen Size Configuration */ InitSizeSubs() { extern UBYTE StandardSize; ClearItems( ScreenSizeSubs, NUM_ITEMS( ScreenSizeSubs ) ); ScreenSizeSubs[ StandardSize ].Flags |= CHECKED; } /* InitScreenSize */ /* * Set up Menu's check marks to reflect Screen Size Configuration */ InitBorderSubs() { if (CurPict) { ClearItems( BorderSubs, NUM_ITEMS( BorderSubs ) ); if (CurPict->Flags & BORDERLESS_PROJ) BorderSubs[ 1 ].Flags |= CHECKED; else BorderSubs[ 0 ].Flags |= CHECKED; } } /* InitScreenSize */ /* * Set up Menu's check marks to reflect Screen Size Configuration */ InitOrbitSubs() { if (CurPict) { ClearItems( OrbitModeSubs, NUM_ITEMS( OrbitModeSubs ) ); if (CurPict->Flags & BORDERLESS_PROJ) OrbitModeSubs[ 1 ].Flags |= CHECKED; else OrbitModeSubs[ 0 ].Flags |= CHECKED; } } /* InitOrbitSize */ /* * Clear a menu's check marks */ ClearItems( ClearMenu, NumItems ) register struct MenuItem *ClearMenu; register int NumItems; { register SHORT i; for (i = 0; i < NumItems; i++) { ClearMenu->Flags &= ~CHECKED; ClearMenu++; } } /* ClearItems */