page%swap@Sun.COM (Bob Page) (06/21/89)
Submitted-by: kevin@uts.amdahl.com (Kevin Clague)
Posting-number: Volume 89, Issue 157
Archive-name: graphics/mandelv20.6
# This is a shell archive.
# Remove anything above and including the cut line.
# Then run the rest of the file through 'sh'.
# Unpacked files will be owned by you and have default permissions.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: SHell ARchive
# Run the following text through 'sh' to create:
# menu.c
# menu1.c
# This is archive 6 of a 9-part kit.
# This archive created: Tue Jun 20 20:45:30 1989
echo "extracting menu.c"
sed 's/^X//' << \SHAR_EOF > menu.c
X/*
X * MandelVroom 2.0
X *
X * (c) Copyright 1987,1989 Kevin L. Clague, San Jose, CA
X *
X * All rights reserved.
X *
X * Permission is hereby granted to distribute this program's source
X * executable, and documentation for non-comercial purposes, so long as the
X * copyright notices are not removed from the sources, executable or
X * documentation. This program may not be distributed for a profit without
X * the express written consent of the author Kevin L. Clague.
X *
X * This program is not in the public domain.
X *
X * Fred Fish is expressly granted permission to distribute this program's
X * source and executable as part of the "Fred Fish freely redistributable
X * Amiga software library."
X *
X * Permission is expressly granted for this program and it's source to be
X * distributed as part of the Amicus Amiga software disks, and the
X * First Amiga User Group's Hot Mix disks.
X *
X * contents: this file contains functions to decode Intuition Menu messages.
X */
X
X#include "mandp.h"
X
Xextern struct NewScreen NewScreen;
X
Xextern int Num_vp_Colors;
X
Xchar File[80] = "", Path[80] = "Mandelbrot:PROJECTS";
X
XHandleMenuPick( Msg )
X register struct IntuiMessage *Msg;
X{
X register struct MenuItem *Item;
X register USHORT code = Msg->Code;
X
X if (code == MENUNULL) {
X return;
X }
X
X if (State == HELPSTATE) {
X HelpMenuCmd(Msg);
X State = IDLESTATE;
X return;
X } else {
X State = IDLESTATE;
X }
X
X while (code != MENUNULL) {
X
X switch ( MENUNUM( code ) ) {
X
X case PROJECTMENU:
X ProjectMenu( Msg, code );
X break;
X
X case DISPLAYMENU:
X DisplayMenu( Msg, code );
X break;
X
X case CALCULATEMENU:
X CalculateMenu( Msg, code );
X break;
X
X case SPECIALMENU:
X SpecialMenu( Msg, code );
X break;
X }
X Item = ItemAddress( (struct Menu *) &Menu[0], (long) code);
X code = Item->NextSelect;
X }
X MaybeNewScreen();
X}
X
X/*
X * Decide what to do for Project menu's Items
X */
XProjectMenu(Msg,code)
X struct IntuiMessage *Msg;
X USHORT code;
X{
X char Name[160];
X char *p;
X
X register struct Picture *Pict = CurPict;
X register struct Picture *LoadPict;
X register struct Window *Window;
X register SHORT Type;
X
X struct Picture *NewPict();
X
X if (Pict) {
X Window = Pict->Window;
X } else {
X Window = BackWind;
X }
X
X switch (ITEMNUM(code)) {
X
X case NEWITEM:
X
X switch( SUBNUM(code) ) {
X
X case 0:
X Type = MANDPICT;
X break;
X
X case 1:
X Type = JULIAPICT;
X break;
X }
X
X if ( Pict )
X ClonePict( Pict, Type );
X else
X NewPreset( -1, Type );
X break;
X
X case CURITEM:
X MakeCurProj( (struct Picture *) Msg->IDCMPWindow->UserData );
X break;
X
X case CLOSEPROJ:
X CloseWinds( CurPict->Window );
X break;
X
X case HELPITEM:
X SetWithPointer();
X State = HELPSTATE;
X break;
X
X case SAVEPROJ:
X strcpy( File, Pict->Title+2 );
X
X case LOADITEM:
X case SAVEILBM:
X
X switch( ITEMNUM(code) ) {
X case LOADITEM: p = "Load Project"; break;
X case SAVEPROJ: p = "Save Project"; break;
X case SAVEILBM: p = "Save ILBM"; break;
X }
X
X if (get_fname(BackWind, screen, p, File, Path)) {
X
X SetSleepyPointer();
X
X strcpy(Name,Path);
X if (Name[0] != '\0' && Name[strlen(Name)-1] != ':') {
X strcat(Name,"/");
X }
X strcat(Name,File);
X
X switch( ITEMNUM(code) ) {
X
X case LOADITEM:
X (void) LoadPicture( Name );
X RefreshContours();
X
X RefreshContours();
X CalcHist(CurPict);
X ShowStats(CurPict);
X SetDirGadget(CurPict);
X ModifySpeedPot();
X break;
X
X case SAVEPROJ:
X
X PauseChild( Pict );
X
X strncpy( Pict->Title+2, File, sizeof(Pict->Title)-3);
X (void) SaveCounts(Name,Pict);
X
X AwakenChild( Pict );
X break;
X
X case SAVEILBM:
X SaveILBM(Name, Pict->Crngs, 4);
X break;
X }
X SetNormPointer();
X }
X
X case CANCELITEM:
X State = IDLESTATE;
X break;
X
X case QUITITEM:
X if (DispErrMsg("Really quit?",1)) {
X
X QuitScreen = TRUE;
X }
X }
X} /* ProjectMenu */
X
X/*
X * Decide what to do for Display menu's Items
X */
XDisplayMenu(Msg,code)
X struct IntuiMessage *Msg;
X USHORT code;
X{
X double gapy,gapx;
X extern UBYTE ScreenSizeChanged;
X extern UBYTE StandardSize;
X extern UBYTE NewDepth;
X extern USHORT NewViewModes;
X extern struct MenuItem ScreenSizeSubs[];
X extern struct MenuItem BorderSubs[];
X
X switch (ITEMNUM(code)) {
X
X case COLORITEM:
X OpenPalWind();
X break;
X
X case CYCLEITEM:
X OpenCycWind();
X break;
X
X case CONTOURITEM:
X OpenContWind();
X break;
X
X case HISTOGRAMITEM:
X OpenHistWind();
X break;
X
X case AUTOCNTRITEM:
X AutoContour(CurPict,SUBNUM(code));
X break;
X
X case DEPTHITEM:
X NewDepth = SUBNUM(code) + 1;
X
X if (CurPict)
X CurPict->Depth = NewDepth;
X break;
X
X case VIEWMODEITEM:
X EditScreenViewModes(code);
X
X if (CurPict) {
X CurPict->ViewModes = NewViewModes;
X if (NewViewModes & HIRES && CurPict->Depth > 4) {
X CurPict->Depth = 4;
X }
X }
X break;
X
X case SCREENITEM:
X StandardSize = (ScreenSizeSubs[0].Flags & CHECKED) == CHECKED;
X ScreenSizeChanged = 1;
X break;
X
X case BORDERITEM:
X if (CurPict) {
X int Changed;
X
X Changed = 0;
X
X if ((BorderSubs[0].Flags & CHECKED) == CHECKED) {
X
X /* Make it bordered */
X
X if (CurPict->Flags & BORDERLESS_PROJ &&
X CurPict->CountX+LEFTMARG+RIGHTMARG <= screen->Width &&
X CurPict->CountY+TOPMARG+BOTMARG <= screen->Height) {
X
X CurPict->Flags &= ~BORDERLESS_PROJ;
X Changed = 1;
X }
X } else {
X
X if (!(CurPict->Flags & BORDERLESS_PROJ)) {
X CurPict->Flags |= BORDERLESS_PROJ;
X Changed = 1;
X }
X }
X
X InitBorderSubs();
X
X if (Changed) {
X
X if ( CurPict->cTask ) {
X
X KillReColor( CurPict );
X }
X
X PauseChild( CurPict );
X
X ClosePicture(CurPict);
X OpenPicture(CurPict);
X
X if (CurPict->Counts)
X ReColor(CurPict);
X
X AwakenChild(CurPict);
X }
X }
X break;
X }
X} /* DisplayMenu */
X
X/*
X * Decide what to do for Calculate Menu's Items
X */
XCalculateMenu(Msg,code)
X struct IntuiMessage *Msg;
X USHORT code;
X{
X extern struct Picture *ZoomedPict;
X extern struct MenuItem LensSub[];
X
X double gapy,gapx;
X LONG Temp;
X extern UBYTE LensOn;
X
X switch (ITEMNUM(code)) {
X
X case GENERATORITEM: /* generator type */
X if (CurPict)
X CurPict->MathMode = SUBNUM(code);
X break;
X
X case ZOOMITEM:
X CurPict->ZoomType = SUBNUM(code);
X DoZoom( Msg );
X break;
X
X case SCROLLITEM:
X ScrollPictCmd(Msg);
X break;
X
X case LENSITEM:
X LensOn = (LensSub[0].Flags & CHECKED) == CHECKED;
X break;
X
X case GENERATEITEM:
X GenerateCmd(Msg);
X break;
X
X case COUNTITEM:
X
X Temp = CurPict->MaxIteration;
X
X if ( GetInt( "Max Iteration", &Temp) == 1 ) {
X
X if (Temp > 1023) Temp = 1023;
X
X CurPict->MaxIteration = Temp;
X }
X break;
X
X case STATSITEM:
X
X#ifndef DEVELOPMENT
X
X OpenStatsWind( CurPict );
X#else
X { char Name[80];
X char VD0[80];
X
X strcpy( VD0, "ram:");
X
X if (get_fname(BackWind, screen, "Preset", File, VD0)) {
X
X strcpy(Name,VD0);
X
X if (Name[strlen(Name)-1] != ':') {
X strcat(Name,"/");
X }
X strcat(Name,File);
X
X SavePreset( Name, CurPict );
X }
X }
X#endif
X break;
X }
X} /* CalculateMenu */
X
XDoZoom( Msg )
X struct IntuiMessage *Msg;
X{
X register struct Picture *Pict = CurPict;
X
X if (Pict == NULL)
X return;
X
X CloseZoomBox( Pict );
X
X ZoomedPict = Pict; /* Save this so we can use it later */
X
X switch ( SUBNUM(Msg->Code)) {
X
X case ZOOMIN:
X ZoomInCmd(Msg);
X break;
X
X case ZOOMOUT:
X ZoomOutCmd(Msg);
X break;
X
X case ZOOMOFF:
X ClearZoomBox( ZoomedPict );
X break;
X
X case ZOOMJULIA:
X SetJuliaCmd(Msg);
X break;
X }
X}
X
XUSHORT NewViewModes;
XUBYTE NewDepth = 5;
X
X/*
X * Modify the NewScreens ViewModes to match the menu
X */
XEditScreenViewModes(code)
X USHORT code;
X{
X switch (SUBNUM(code))
X {
X case HIRESSUB:
X NewViewModes ^= HIRES;
X break;
X
X case INTERLACESUB:
X NewViewModes ^= INTERLACE;
X break;
X
X case HALFBRITESUB:
X NewViewModes ^= EXTRA_HALFBRITE;
X break;
X }
X} /* EditScreenViewMode */
X
X/*
X * Decide what to do for Special Menu's Items
X */
XSpecialMenu(Msg, code)
X struct IntuiMessage *Msg;
X USHORT code;
X{
X extern SHORT MaxOrbit;
X
X LONG Temp;
X int rc;
X
X rc = SUCCESSFUL;
X
X switch (ITEMNUM(code)) {
X
X case ORBITITEM:
X OpenOrbitWind();
X break;
X
X case MAXORBITEM:
X Temp = MaxOrbit;
X
X if ( GetInt( "Max Iteration", &Temp) == 1 ) {
X
X if (Temp > 1023) Temp = 1023;
X
X MaxOrbit = Temp;
X }
X break;
X
X case ORBITMATHITEM:
X ConfOrbMode( SUBNUM(code) );
X break;
X
X case PRESETITEM:
X rc = SetPreset( SUBNUM( code ) );
X
X if (rc == UNSUCCESSFUL)
X DispErrMsg("Can't open preset. Out of RAM",0);
X else
X if (CurPict->Flags & NO_RAM_GENERATE)
X rc = UNSUCCESSFUL;
X
X RefreshContours();
X }
X return( rc );
X} /* SpecialMenu */
X
XLoadPicture( Name )
X char Name[];
X{
X struct Picture *LoadPict;
X
X LoadPict = NewPict( MANDPICT );
X
X if ( LoadPict ) {
X if ( LoadCounts( Name, LoadPict ) == UNSUCCESSFUL ) {
X
X ThrowPict( LoadPict );
X GetCurPict();
X return(UNSUCCESSFUL);
X
X }
X } else {
X ErrNoPict();
X return(UNSUCCESSFUL);
X }
X return(SUCCESSFUL);
X}
X
Xchar *
XExtractName( FullPath )
X char *FullPath;
X{
X char *File,*rindex(),*p;
X
X File = rindex( FullPath, '/' );
X
X if (File == NULL)
X
X File = rindex( FullPath, ':' );
X
X if (File)
X File += 1;
X
X /* Save a copy of it */
X
X strcpy( Path, FullPath );
X
X p = &Path[ File - FullPath - 1 ];
X
X if (*p == '/') *p = '\0';
X if (*p == ':') *(p+1) = '\0';
X
X return( File );
X}
X
SHAR_EOF
echo "extracting menu1.c"
sed 's/^X//' << \SHAR_EOF > menu1.c
X/*
X * MandelVroom 2.0
X *
X * (c) Copyright 1987,1989 Kevin L. Clague, San Jose, CA
X *
X * All rights reserved.
X *
X * Permission is hereby granted to distribute this program's source
X * executable, and documentation for non-comercial purposes, so long as the
X * copyright notices are not removed from the sources, executable or
X * documentation. This program may not be distributed for a profit without
X * the express written consent of the author Kevin L. Clague.
X *
X * This program is not in the public domain.
X *
X * Fred Fish is expressly granted permission to distribute this program's
X * source and executable as part of the "Fred Fish freely redistributable
X * Amiga software library."
X *
X * Permission is expressly granted for this program and it's source to be
X * distributed as part of the Amicus Amiga software disks, and the
X * First Amiga User Group's Hot Mix disks.
X *
X * contents: this file contains the data definitions for MandelVroom's
X * menus.
X */
X
X#include "mandp.h"
X
XUBYTE MandStr[] = { "MAND" };
XUBYTE JuliaStr[] = { "JULIA" };
X
Xstruct IntuiText PictShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 0,
X 2,
X NULL,
X MandStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 0,
X 2,
X NULL,
X JuliaStr,
X NULL
X }
X };
X
Xstruct IntuiText PictSubsIntui[] =
X {
X {
X SHADOWPEN,
X 0,
X JAM1,
X 1,
X 3,
X NULL,
X MandStr,
X &PictShadow[0]
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 1,
X 3,
X NULL,
X JuliaStr,
X &PictShadow[1]
X }
X };
X
Xstruct MenuItem PictSubs[] =
X {
X {
X (struct MenuItem *) &PictSubs[1],
X -42,
X 0,
X 42,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X NULL,
X (APTR) &PictSubsIntui[0],
X NULL,
X '\0',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -42,
X 12,
X 42,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X NULL,
X (APTR) &PictSubsIntui[1],
X NULL,
X '\0',
X NULL,
X NULL
X }
X };
X
XUBYTE AboutStr1[] = { " MandelVroom" };
XUBYTE AboutStr2[] = { "The Multitasking Mandelbrot Program" };
X
XUBYTE AboutStr3[] = { " Only Amiga Makes It Possible!" };
X
XUBYTE AboutStr4[] = { " Copyright 1987,1989" };
XUBYTE AboutStr5[] = { " Kevin L. Clague" };
X
Xstruct IntuiText AboutShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 0,
X NULL,
X AboutStr1,
X &AboutShadow[1]
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 10,
X NULL,
X AboutStr2,
X &AboutShadow[2]
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 20,
X NULL,
X AboutStr3,
X &AboutShadow[3]
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 34,
X NULL,
X AboutStr4,
X &AboutShadow[4]
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 44,
X NULL,
X AboutStr5,
X NULL
X },
X };
X
Xstruct IntuiText AboutSubsIntui[] =
X {
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 1,
X NULL,
X AboutStr1,
X &AboutSubsIntui[1]
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 11,
X NULL,
X AboutStr2,
X &AboutSubsIntui[2]
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 21,
X NULL,
X AboutStr3,
X &AboutSubsIntui[3]
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 35,
X NULL,
X AboutStr4,
X &AboutSubsIntui[4]
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 45,
X NULL,
X AboutStr5,
X &AboutShadow[0]
X },
X };
X
Xstruct MenuItem AboutSubs =
X {
X NULL,
X -44,
X 0,
X 300,
X 53,
X ITEMTEXT|ITEMENABLED|HIGHNONE,
X NULL,
X (APTR) &AboutSubsIntui[0],
X NULL,
X '\0',
X NULL,
X NULL
X };
X
XUBYTE NewStr[] = { "New" };
XUBYTE CurStr[] = { "Current" };
XUBYTE LoadStr[] = { "Load" };
XUBYTE SavePStr[] = { "Save" };
XUBYTE ClosePStr[] = { "Close" };
XUBYTE SaveIStr[] = { "Save ILBM" };
XUBYTE HelpStr[] = { "Help" };
XUBYTE CancelStr[] = { "Cancel" };
XUBYTE QuitStr[] = { "Quit" };
XUBYTE AboutStr[] = { "About" };
X
Xstruct IntuiText NewShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X NewStr,
X NULL
X };
X
Xstruct IntuiText CurShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X CurStr,
X NULL
X };
X
Xstruct IntuiText LoadShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X LoadStr,
X NULL
X };
X
Xstruct IntuiText SaveProjShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X SavePStr,
X NULL
X };
X
Xstruct IntuiText CloseShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X ClosePStr,
X NULL
X };
X
Xstruct IntuiText SaveILBMShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X SaveIStr,
X NULL
X };
X
Xstruct IntuiText HelpShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X HelpStr,
X NULL
X };
X
Xstruct IntuiText CancelShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X CancelStr,
X NULL
X };
X
Xstruct IntuiText QuitShadow =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X QuitStr,
X NULL
X };
X
Xstruct IntuiText AboutShadowII =
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 5,
X 2,
X NULL,
X AboutStr,
X NULL
X };
X
Xstruct IntuiText ProjectItemsIntui[] =
X {
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X NewStr,
X &NewShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X CurStr,
X &CurShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X LoadStr,
X &LoadShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X SavePStr,
X &SaveProjShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X ClosePStr,
X &CloseShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X SaveIStr,
X &SaveILBMShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X HelpStr,
X &HelpShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X CancelStr,
X &CancelShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X QuitStr,
X &QuitShadow
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 6,
X 3,
X NULL,
X AboutStr,
X &AboutShadowII
X },
X };
X
Xstruct MenuItem ProjectItems[] =
X {
X { /* New */
X (struct MenuItem *) &ProjectItems[1],
X 0,
X 0,
X 116,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[0],
X NULL,
X 0,
X (struct MenuItem *) &PictSubs[0],
X NULL
X },
X
X { /* Current */
X (struct MenuItem *) &ProjectItems[2],
X 0,
X 14,
X 116,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[1],
X NULL,
X ' ',
X NULL,
X NULL
X },
X
X { /* Load */
X (struct MenuItem *) &ProjectItems[3],
X 0,
X 28,
X 116,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[2],
X NULL,
X 'L',
X NULL,
X NULL
X },
X
X { /* Save */
X (struct MenuItem *) &ProjectItems[4],
X 0,
X 42,
X 116,
X 14,
X ITEMTEXT|ITEMENABLED|COMMSEQ|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[3],
X NULL,
X 'S',
X NULL,
X NULL
X },
X
X { /* Close */
X (struct MenuItem *) &ProjectItems[5],
X 0,
X 56,
X 116,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[4],
X NULL,
X ' ',
X NULL,
X NULL
X },
X
X { /* Save ILBM */
X (struct MenuItem *) &ProjectItems[6],
X 0,
X 70,
X 116,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[5],
X NULL,
X 'I',
X NULL,
X NULL
X },
X
X { /* Help */
X (struct MenuItem *) &ProjectItems[7],
X 0,
X 84,
X 116,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[6],
X NULL,
X 'H',
X NULL,
X NULL
X },
X
X { /* Cancel */
X (struct MenuItem *) &ProjectItems[8],
X 0,
X 98,
X 116,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[7],
X NULL,
X 'Z',
X NULL,
X NULL
X },
X
X { /* quit */
X (struct MenuItem *) &ProjectItems[9],
X 0,
X 112,
X 116,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ProjectItemsIntui[8],
X NULL,
X 'Q',
X NULL,
X NULL,
X },
X
X { /* About */
X NULL,
X 0,
X 126,
X 116,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHNONE,
X 0,
X (APTR) &ProjectItemsIntui[9],
X NULL,
X 0,
X (struct MenuItem *) &AboutSubs,
X NULL
X },
X };
X
XUBYTE TypeIStr[] = { " I" };
XUBYTE TypeIIStr[] = { "II" };
X
Xstruct IntuiText AutoShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X TypeIStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X TypeIIStr,
X NULL
X }
X };
X
Xstruct IntuiText AutoSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X TypeIStr,
X &AutoShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X TypeIIStr,
X &AutoShadow[1]
X }
X };
X
Xstruct MenuItem AutoSub[] =
X {
X {
X (struct MenuItem *) &AutoSub[1],
X -28,
X 0,
X 28,
X 12,
X ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0000,
X (APTR) &AutoSubsIntui[0],
X NULL,
X 0,
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -28,
X 12,
X 28,
X 12,
X ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0000,
X (APTR) &AutoSubsIntui[1],
X NULL,
X 0,
X NULL,
X NULL
X }
X };
X
XUBYTE HiResStr[] = { "High Res" };
XUBYTE LaceStr[] = { "Interlace" };
XUBYTE HBStr[] = { "HalfBrite" };
X
Xstruct IntuiText ViewModesShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X HiResStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X LaceStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X HBStr,
X NULL
X }
X };
X
Xstruct IntuiText ViewModeSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X HiResStr,
X &ViewModesShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X LaceStr,
X &ViewModesShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X HBStr,
X &ViewModesShadow[2]
X }
X };
X
Xstruct MenuItem ViewModeSubs[] =
X {
X {
X (struct MenuItem *) &ViewModeSubs[1],
X -88,
X 0,
X 88,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ViewModeSubsIntui[0],
X NULL,
X '\0x1a',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &ViewModeSubs[2],
X -88,
X 12,
X 88,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ViewModeSubsIntui[1],
X NULL,
X '\0x1a',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -88,
X 24,
X 88,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ViewModeSubsIntui[2],
X NULL,
X '\0x1a',
X NULL,
X NULL
X }
X };
X
XUBYTE StdStr[] = { "Standard" };
XUBYTE WBStr[] = { "Workbench" };
X
Xstruct IntuiText ScreenSizeShadow[] =
X {
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 16,
X 2,
X NULL,
X StdStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 0,
X JAM1,
X 16,
X 2,
X NULL,
X WBStr,
X NULL
X },
X };
X
Xstruct IntuiText ScreenSizeSubsIntui[] =
X {
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 17,
X 3,
X NULL,
X StdStr,
X &ScreenSizeShadow[0],
X },
X
X {
X SHADOWPEN,
X 0,
X JAM1,
X 17,
X 3,
X NULL,
X WBStr,
X &ScreenSizeShadow[1],
X },
X };
X
Xstruct MenuItem ScreenSizeSubs[] =
X {
X {
X (struct MenuItem *) &ScreenSizeSubs[1],
X -88,
X 0,
X 88,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0003-0x0001,
X (APTR) &ScreenSizeSubsIntui[0],
X NULL,
X '\0x1a',
X NULL,
X NULL
X },
X
X {
X NULL,
X -88,
X 12,
X 88,
X 12,
X CHECKED|CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0003-0x0002,
X (APTR) &ScreenSizeSubsIntui[1],
X NULL,
X '\0x1a',
X NULL,
X NULL
X },
X };
X
XUBYTE TwoStr[] = { " 2" };
XUBYTE FourStr[] = { " 4" };
XUBYTE EightStr[] = { " 8" };
XUBYTE _16Str[] = { "16" };
XUBYTE _32Str[] = { "32" };
XUBYTE _64Str[] = { "64" };
X
Xstruct IntuiText DepthShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X TwoStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X FourStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X EightStr,
X NULL
X },
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X _16Str,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X _32Str,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X _64Str,
X NULL
X }
X };
X
Xstruct IntuiText DepthSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X TwoStr,
X &DepthShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X FourStr,
X &DepthShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X EightStr,
X &DepthShadow[2]
X },
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X _16Str,
X &DepthShadow[3]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X _32Str,
X &DepthShadow[4]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X _64Str,
X &DepthShadow[5]
X }
X };
X
Xstruct MenuItem DepthSubs[] =
X {
X {
X (struct MenuItem *) &DepthSubs[1],
X -68,
X 0,
X 68,
X 12,
X CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0001,
X (APTR) &DepthSubsIntui[0],
X NULL,
X '1',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &DepthSubs[2],
X -68,
X 12,
X 68,
X 12,
X CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0002,
X (APTR) &DepthSubsIntui[1],
X NULL,
X '2',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &DepthSubs[3],
X -68,
X 24,
X 68,
X 12,
X CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0004,
X (APTR) &DepthSubsIntui[2],
X NULL,
X '3',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &DepthSubs[4],
X -68,
X 36,
X 68,
X 12,
X CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0008,
X (APTR) &DepthSubsIntui[3],
X NULL,
X '4',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &DepthSubs[5],
X -68,
X 48,
X 68,
X 12,
X CHECKIT|CHECKED|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0010,
X (APTR) &DepthSubsIntui[4],
X NULL,
X '5',
X NULL,
X NULL
X },
X
X {
X NULL,
X -68,
X 60,
X 68,
X 12,
X CHECKIT|ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0x003F-0x0020,
X (APTR) &DepthSubsIntui[5],
X NULL,
X '6',
X NULL,
X NULL
X }
X };
X
XUBYTE OnStr[] = { "On" };
XUBYTE OffStr[] = { "Off" };
X
Xstruct IntuiText OnOffShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X OnStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X OffStr,
X NULL
X }
X };
X
Xstruct IntuiText OnOffIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X OnStr,
X &OnOffShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X OffStr,
X &OnOffShadow[1]
X }
X };
X
Xstruct MenuItem BorderSubs[] =
X {
X {
X (struct MenuItem *) &BorderSubs[1],
X -40,
X 0,
X 40,
X 12,
X CHECKIT | ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0003-0x001,
X (APTR) &OnOffIntui[1],
X NULL,
X 0,
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -40,
X 12,
X 40,
X 12,
X CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0003-0x002,
X (APTR) &OnOffIntui[0],
X NULL,
X 0,
X NULL,
X NULL
X }
X };
X
XUBYTE ColorStr[] = { "Colors" };
XUBYTE CycleStr[] = { "Cycling" };
XUBYTE CntrStr[] = { "Contours" };
XUBYTE AutoStr[] = { "AutoContour" };
XUBYTE HistStr[] = { "Histogram" };
XUBYTE ViewStr[] = { "View Modes" };
XUBYTE NumStr[] = { "Num Colors" };
XUBYTE ScreenStr[] = { "Screen Size" };
XUBYTE BorderStr[] = { "Borderless" };
X
Xstruct IntuiText DisplayShadow[] =
X {
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X ColorStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X CycleStr,
X NULL
X },
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X CntrStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X AutoStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X HistStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X BorderStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X NumStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X ViewStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X ScreenStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 5,
X 2,
X NULL,
X BorderStr,
X NULL
X },
X };
X
Xstruct IntuiText DisplayItemsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X ColorStr,
X &DisplayShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X CycleStr,
X &DisplayShadow[1]
X },
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X CntrStr,
X &DisplayShadow[2]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X AutoStr,
X &DisplayShadow[3]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X HistStr,
X &DisplayShadow[4]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X BorderStr,
X &DisplayShadow[5]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X NumStr,
X &DisplayShadow[6]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X ViewStr,
X &DisplayShadow[7]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 6,
X 3,
X NULL,
X ScreenStr,
X &DisplayShadow[8]
X },
X };
X
Xstruct MenuItem DisplayItems[] =
X {
X { /* Colors */
X (struct MenuItem *) &DisplayItems[1],
X 0,
X 0,
X 108,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[0],
X NULL,
X 'C',
X NULL,
X NULL
X },
X
X { /* Cycling */
X (struct MenuItem *) &DisplayItems[2],
X 0,
X 14,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[1],
X NULL,
X '\t',
X NULL,
X NULL
X },
X
X { /* Contours */
X (struct MenuItem *) &DisplayItems[3],
X 0,
X 28,
X 108,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[2],
X NULL,
X 'K',
X NULL,
X NULL
X },
X
X { /* AutoContour */
X (struct MenuItem *) &DisplayItems[4],
X 0,
X 42,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[3],
X NULL,
X ' ',
X (struct MenuItem *) &AutoSub,
X NULL
X },
X
X { /* Histogram */
X (struct MenuItem *) &DisplayItems[5],
X 0,
X 56,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[4],
X NULL,
X ' ',
X NULL,
X NULL
X },
X
X { /* Border */
X (struct MenuItem *) &DisplayItems[6],
X 0,
X 70,
X 108,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[5],
X NULL,
X '\0x0',
X (struct MenuItem *) &BorderSubs,
X NULL
X },
X
X { /* Depth */
X (struct MenuItem *) &DisplayItems[7],
X 0,
X 84,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[6],
X NULL,
X '\0x0',
X (struct MenuItem *) &DepthSubs,
X NULL
X },
X
X { /* ViewModes */
X (struct MenuItem *) &DisplayItems[8],
X 0,
X 98,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[7],
X NULL,
X '\0x0',
X (struct MenuItem *) &ViewModeSubs,
X NULL
X },
X
X { /* Screen Size */
X NULL,
X 0,
X 112,
X 108,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &DisplayItemsIntui[8],
X NULL,
X '\0x0',
X (struct MenuItem *) &ScreenSizeSubs,
X NULL
X },
X };
X
XUBYTE InStr[] = { "In" };
XUBYTE OutStr[] = { "Out" };
XUBYTE CloseStr[] = { "Close" };
XUBYTE JuliaPStr[] = { "Julia" };
X
Xstruct IntuiText ZoomInShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X InStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X OutStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X CloseStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 6,
X NULL,
X JuliaPStr,
X NULL
X }
X };
X
Xstruct IntuiText ZoomInSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X InStr,
X &ZoomInShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X OutStr,
X &ZoomInShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X CloseStr,
X &ZoomInShadow[2]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 7,
X NULL,
X JuliaPStr,
X &ZoomInShadow[3]
X }
X };
X
Xstruct MenuItem ZoomInSubs[] =
X {
X {
X (struct MenuItem *) &ZoomInSubs[1],
X -48,
X 0,
X 48,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ZoomInSubsIntui[0],
X NULL,
X '\0',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &ZoomInSubs[2],
X -48,
X 12,
X 48,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ZoomInSubsIntui[1],
X NULL,
X '\0',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &ZoomInSubs[3],
X -48,
X 24,
X 48,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ZoomInSubsIntui[2],
X NULL,
X '\0',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -48,
X 36,
X 48,
X 16,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &ZoomInSubsIntui[3],
X NULL,
X '\0',
X NULL,
X NULL
X }
X };
X
XUBYTE StartStr[] = { "Start" };
XUBYTE StopStr[] = { "Stop" };
XUBYTE ContStr[] = { "Resume" };
X
Xstruct IntuiText GenItShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X StartStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X StopStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X ContStr,
X NULL
X }
X };
X
Xstruct IntuiText GenItSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X StartStr,
X &GenItShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X StopStr,
X &GenItShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X ContStr,
X &GenItShadow[2]
X },
X };
X
Xstruct MenuItem GenItSubs[] =
X {
X {
X (struct MenuItem *) &GenItSubs[1],
X -56,
X 0,
X 56,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X NULL,
X (APTR) &GenItSubsIntui[0],
X NULL,
X 'G',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &GenItSubs[2],
X -56,
X 12,
X 56,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X NULL,
X (APTR) &GenItSubsIntui[1],
X NULL,
X 'S',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -56,
X 24,
X 56,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X NULL,
X (APTR) &GenItSubsIntui[2],
X NULL,
X 'J',
X NULL,
X NULL
X },
X };
X
XUBYTE Int68000[] = { "Int68000" };
XUBYTE FFPStr[] = { "FFP" };
XUBYTE IEEEStr[] = { "IEEE" };
XUBYTE Int68020[] = { "Int68020" };
XUBYTE IEEE8Str[] = { "020/881" };
X
Xstruct IntuiText GenerateShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X Int68000,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X FFPStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X IEEEStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X Int68020,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X IEEE8Str,
X NULL
X }
X };
X
Xstruct IntuiText GenerateSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X Int68000,
X &GenerateShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X FFPStr,
X &GenerateShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X IEEEStr,
X &GenerateShadow[2]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X Int68020,
X &GenerateShadow[3]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X IEEE8Str,
X &GenerateShadow[4]
X }
X };
X
Xstruct MenuItem GenerateSubs[] =
X {
X {
X (struct MenuItem *) &GenerateSubs[1],
X -120,
X 0,
X 120,
X 12,
X CHECKIT|CHECKED|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0001f-0x0001,
X (APTR) &GenerateSubsIntui[0],
X NULL,
X 'I',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &GenerateSubs[2],
X -120,
X 12,
X 120,
X 12,
X CHECKIT|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0001f-0x0002,
X (APTR) &GenerateSubsIntui[1],
X NULL,
X 'F',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &GenerateSubs[3],
X -120,
X 24,
X 120,
X 12,
X CHECKIT|COMMSEQ|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0001f-0x0004,
X (APTR) &GenerateSubsIntui[2],
X NULL,
X 'E',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &GenerateSubs[4],
X -120,
X 36,
X 120,
X 12,
X CHECKIT|ITEMTEXT|HIGHBOX,
X 0x0001f-0x0008,
X (APTR) &GenerateSubsIntui[3],
X NULL,
X ' ',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -120,
X 48,
X 120,
X 12,
X CHECKIT|ITEMTEXT|HIGHBOX,
X 0x0001f-0x0001,
X (APTR) &GenerateSubsIntui[4],
X NULL,
X ' ',
X NULL,
X NULL
X },
X };
X
Xstruct MenuItem LensSub[] =
X {
X {
X (struct MenuItem *) &LensSub[1],
X -40,
X 0,
X 40,
X 12,
X CHECKIT | CHECKED | ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0003-0x001,
X (APTR) &OnOffIntui[0],
X NULL,
X 0,
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -40,
X 12,
X 40,
X 12,
X CHECKIT | ITEMTEXT | ITEMENABLED | HIGHBOX,
X 0x0003-0x002,
X (APTR) &OnOffIntui[1],
X NULL,
X 0,
X NULL,
X NULL
X }
X };
X
XUBYTE GenStr[] = { "Generate" };
X
Xstruct IntuiText ScrollShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X StartStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X GenStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X CancelStr,
X NULL
X },
X };
X
Xstruct IntuiText ScrollSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X StartStr,
X &ScrollShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X GenStr,
X &ScrollShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X CancelStr,
X &ScrollShadow[2]
X },
X };
X
Xstruct MenuItem ScrollSubs[] =
X {
X {
X (struct MenuItem *) &ScrollSubs[1],
X -80,
X 0,
X 80,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0000,
X (APTR) &ScrollSubsIntui[0],
X NULL,
X 'I',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &ScrollSubs[2],
X -80,
X 12,
X 80,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0000,
X (APTR) &ScrollSubsIntui[1],
X NULL,
X 'F',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -80,
X 24,
X 80,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0000,
X (APTR) &ScrollSubsIntui[2],
X NULL,
X 'E',
X NULL,
X NULL
X },
X };
X
XUBYTE ZoomStr[] = { "Zoom" };
XUBYTE ScrollStr[] = { "Pan" };
XUBYTE LensStr[] = { "Magnifier" };
XUBYTE DataStr[] = { "Math Mode" };
XUBYTE MaxStr[] = { "MaxIteration" };
XUBYTE StatStr[] = { "Statistics" };
X
Xstruct IntuiText CalculateShadow[] =
X {
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X GenStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X ZoomStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X ScrollStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X LensStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X DataStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X MaxStr,
X NULL,
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X StatStr,
X NULL,
X },
X };
X
Xstruct IntuiText CalculateItemsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X GenStr,
X &CalculateShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X ZoomStr,
X &CalculateShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X ScrollStr,
X &CalculateShadow[2]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X LensStr,
X &CalculateShadow[3]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X DataStr,
X &CalculateShadow[4]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X MaxStr,
X &CalculateShadow[5]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X StatStr,
X &CalculateShadow[6]
X },
X };
X
Xstruct MenuItem CalculateItems[] =
X {
X
X { /* Generate */
X (struct MenuItem *) &CalculateItems[1],
X 0,
X 0,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[0],
X NULL,
X '\0',
X (struct MenuItem *) &GenItSubs,
X NULL
X },
X
X { /* Zoom */
X (struct MenuItem *) &CalculateItems[2],
X 0,
X 14,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[1],
X NULL,
X '\0',
X (struct MenuItem *) &ZoomInSubs,
X NULL
X },
X
X { /* Scroll */
X (struct MenuItem *) &CalculateItems[3],
X 0,
X 28,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[2],
X NULL,
X '\0',
X (struct MenuItem *) ScrollSubs,
X NULL
X },
X
X { /* Lens */
X (struct MenuItem *) &CalculateItems[4],
X 0,
X 42,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[3],
X NULL,
X '\0',
X (struct MenuItem *) LensSub,
X NULL
X },
X
X { /* Generator */
X (struct MenuItem *) &CalculateItems[5],
X 0,
X 56,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[4],
X NULL,
X '\0x0',
X (struct MenuItem *) &GenerateSubs,
X NULL
X },
X
X { /* MaxI */
X (struct MenuItem *) &CalculateItems[6],
X 0,
X 70,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[5],
X NULL,
X '\0x0',
X NULL,
X NULL
X },
X
X { /* Statistics */
X (struct MenuItem *) NULL,
X 0,
X 84,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &CalculateItemsIntui[6],
X NULL,
X '\0x0',
X NULL,
X NULL
X },
X };
X
XUBYTE BigStr[] = { "Big Brot" };
XUBYTE HeyStr[] = { "Hey Baby" };
XUBYTE DragonStr[] = { "Aug 85 Cover" };
XUBYTE SpineStr[] = { "Sea Horse" };
XUBYTE VertStr[] = { "Golden Dragon" };
XUBYTE BStr[] = { "Dual Spiral" };
XUBYTE SeaStr[] = { "HalfBrite" };
XUBYTE ChainStr[] = { "Valley Gal" };
XUBYTE LinkStr[] = { "Dragon Julia" };
XUBYTE BabyStr[] = { "Halo" };
X
Xstruct IntuiText PresetShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X BigStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X HeyStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X DragonStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X SpineStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X VertStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X BStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X SeaStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X ChainStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X LinkStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X BabyStr,
X NULL
X },
X };
X
Xstruct IntuiText PresetIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X BigStr,
X &PresetShadow[0],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X HeyStr,
X &PresetShadow[1],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X DragonStr,
X &PresetShadow[2],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X SpineStr,
X &PresetShadow[3],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X VertStr,
X &PresetShadow[4],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X BStr,
X &PresetShadow[5],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X SeaStr,
X &PresetShadow[6],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X ChainStr,
X &PresetShadow[7],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X LinkStr,
X &PresetShadow[8],
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X BabyStr,
X &PresetShadow[9],
X },
X };
X
Xstruct MenuItem PresetSubs[] =
X {
X {
X (struct MenuItem *) &PresetSubs[1],
X -110,
X 0,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[0],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[2],
X -110,
X 14,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[1],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[3],
X -110,
X 28,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[2],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[4],
X -110,
X 42,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[3],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[5],
X -110,
X 56,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[4],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[6],
X -110,
X 70,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[5],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[7],
X -110,
X 84,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[6],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[8],
X -110,
X 98,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[7],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &PresetSubs[9],
X -110,
X 112,
X 110,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[8],
X NULL,
X 'p',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -110,
X 126,
X 110,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &PresetIntui[9],
X NULL,
X 'p',
X NULL,
X NULL
X },
X };
X
Xstruct IntuiText OrbitModeShadow[] =
X {
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X Int68000,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X FFPStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 16,
X 2,
X NULL,
X IEEEStr,
X NULL
X },
X };
X
Xstruct IntuiText OrbitModeSubsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X Int68000,
X &OrbitModeShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X FFPStr,
X &OrbitModeShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 17,
X 3,
X NULL,
X IEEEStr,
X &OrbitModeShadow[2]
X },
X };
X
Xstruct MenuItem OrbitModeSubs[] =
X {
X {
X (struct MenuItem *) &OrbitModeSubs[1],
X -80,
X 0,
X 80,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0007-0x0001,
X (APTR) &OrbitModeSubsIntui[0],
X NULL,
X 'I',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) &OrbitModeSubs[2],
X -80,
X 12,
X 80,
X 12,
X CHECKIT|CHECKED|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0007-0x0002,
X (APTR) &OrbitModeSubsIntui[1],
X NULL,
X 'F',
X NULL,
X NULL
X },
X
X {
X (struct MenuItem *) NULL,
X -80,
X 24,
X 80,
X 12,
X CHECKIT|ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0x0007-0x0004,
X (APTR) &OrbitModeSubsIntui[2],
X NULL,
X 'E',
X NULL,
X NULL
X },
X };
X
XUBYTE PresetStr[] = { "Preset" };
XUBYTE OrbtStr[] = { "Orbit" };
XUBYTE OModStr[] = { "Orbit Mode" };
XUBYTE OMaxStr[] = { "Max Orbit" };
X
Xstruct IntuiText SpecialShadow[] =
X {
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X PresetStr,
X NULL
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X OrbtStr,
X NULL,
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X OModStr,
X NULL,
X },
X
X {
X HIGHLIGHTPEN,
X 1,
X JAM1,
X 4,
X 2,
X NULL,
X OMaxStr,
X NULL,
X },
X };
X
Xstruct IntuiText SpecialItemsIntui[] =
X {
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X PresetStr,
X &SpecialShadow[0]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X OrbtStr,
X &SpecialShadow[1]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X OModStr,
X &SpecialShadow[2]
X },
X
X {
X SHADOWPEN,
X 1,
X JAM1,
X 5,
X 3,
X NULL,
X OMaxStr,
X &SpecialShadow[3]
X },
X };
X
Xstruct MenuItem SpecialItems[] =
X {
X
X { /* Presets */
X (struct MenuItem *) &SpecialItems[1],
X -32,
X 0,
X 90,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &SpecialItemsIntui[0],
X NULL,
X '\0',
X (struct MenuItem *) &PresetSubs,
X NULL
X },
X
X { /* Orbit */
X (struct MenuItem *) &SpecialItems[2],
X -32,
X 14,
X 90,
X 14,
X ITEMTEXT|COMMSEQ|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &SpecialItemsIntui[1],
X NULL,
X 'R',
X NULL,
X NULL
X },
X { /* Orbit MathMode */
X (struct MenuItem *) &SpecialItems[3],
X -32,
X 28,
X 90,
X 14,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &SpecialItemsIntui[2],
X NULL,
X ' ',
X (struct MenuItem *) OrbitModeSubs,
X NULL
X },
X
X { /* Orbit MaxOrbit */
X (struct MenuItem *) NULL,
X -32,
X 42,
X 90,
X 12,
X ITEMTEXT|ITEMENABLED|HIGHBOX,
X 0,
X (APTR) &SpecialItemsIntui[3],
X NULL,
X ' ',
X NULL,
X NULL
X },
X };
X
Xstruct Menu Menu[] =
X {
X {
X (struct Menu *) &Menu[1],
X 4+42,
X 0,
X 60,
X 8,
X 1,
X (BYTE *) "Project",
X (struct MenuItem *) &ProjectItems,
X },
X
X {
X (struct Menu *) &Menu[2],
X 68+42,
X 0,
X 60,
X 8,
X 1,
X (BYTE *) "Display",
X (struct MenuItem *) &DisplayItems,
X },
X
X {
X (struct Menu *) &Menu[3],
X 132+42,
X 0,
X 76,
X 8,
X 0,
X (BYTE *) "Calculate",
X (struct MenuItem *) &CalculateItems,
X },
X
X {
X NULL,
X 212+42,
X 0,
X 64,
X 8,
X 1,
X (BYTE *) "Special",
X (struct MenuItem *) &SpecialItems,
X }
X };
X
X#define NUM_ITEMS(a) (sizeof(a)/sizeof(a[0]))
X
Xextern struct NewScreen NewScreen;
X
X/*
X * Set up Menu's check marks to reflect viewmodes.
X */
XInitViewModesSubs()
X{
X SHORT i;
X
X ClearItems( ViewModeSubs, NUM_ITEMS( ViewModeSubs ));
X
X for (i = HIRESSUB; i <= HALFBRITESUB; i++) {
X
X switch (i) {
X case HIRESSUB:
X if (NewScreen.ViewModes & HIRES)
X ViewModeSubs[i].Flags |= CHECKED;
X break;
X case INTERLACESUB:
X if (NewScreen.ViewModes & INTERLACE)
X ViewModeSubs[i].Flags |= CHECKED;
X break;
X case HALFBRITESUB:
X if (NewScreen.ViewModes & EXTRA_HALFBRITE)
X ViewModeSubs[i].Flags |= CHECKED;
X break;
X }
X }
X} /* InitViewModesSubs */
X
X/*
X * Set up Menu's check marks to reflect Depth.
X */
XInitDepthSubs()
X{
X ClearItems( DepthSubs, NUM_ITEMS( DepthSubs ) );
X
X DepthSubs[NewScreen.Depth-1].Flags |= CHECKED;
X
X} /* InitScreenViewMode */
X
X/*
X * Set up Menu's check marks to reflect Generator Type
X */
XInitGenSubs()
X{
X if (CurPict) {
X
X ClearItems( GenerateSubs, NUM_ITEMS( GenerateSubs ) );
X
X GenerateSubs[ CurPict->MathMode ].Flags |= CHECKED;
X }
X} /* InitGenSubs */
X
X/*
X * Set up Menu's check marks to reflect Zoom Lens Configuration
X */
XInitLensSubs()
X{
X extern UBYTE LensOn;
X
X ClearItems( LensSub, NUM_ITEMS( LensSub ) );
X
X LensSub[ LensOn ].Flags |= CHECKED;
X} /* InitLensSubs */
X
X/*
X * Set up Menu's check marks to reflect Screen Size Configuration
X */
XInitSizeSubs()
X{
X extern UBYTE StandardSize;
X
X ClearItems( ScreenSizeSubs, NUM_ITEMS( ScreenSizeSubs ) );
X
X ScreenSizeSubs[ StandardSize ].Flags |= CHECKED;
X} /* InitScreenSize */
X
X/*
X * Set up Menu's check marks to reflect Screen Size Configuration
X */
XInitBorderSubs()
X{
X if (CurPict) {
X
X ClearItems( BorderSubs, NUM_ITEMS( BorderSubs ) );
X
X if (CurPict->Flags & BORDERLESS_PROJ)
X BorderSubs[ 1 ].Flags |= CHECKED;
X else
X BorderSubs[ 0 ].Flags |= CHECKED;
X }
X} /* InitScreenSize */
X
X/*
X * Set up Menu's check marks to reflect Screen Size Configuration
X */
XInitOrbitSubs()
X{
X if (CurPict) {
X
X ClearItems( OrbitModeSubs, NUM_ITEMS( OrbitModeSubs ) );
X
X if (CurPict->Flags & BORDERLESS_PROJ)
X OrbitModeSubs[ 1 ].Flags |= CHECKED;
X else
X OrbitModeSubs[ 0 ].Flags |= CHECKED;
X }
X} /* InitOrbitSize */
X
X/*
X * Clear a menu's check marks
X */
XClearItems( ClearMenu, NumItems )
X register struct MenuItem *ClearMenu;
X register int NumItems;
X{
X register SHORT i;
X
X for (i = 0; i < NumItems; i++) {
X ClearMenu->Flags &= ~CHECKED;
X ClearMenu++;
X }
X} /* ClearItems */
SHAR_EOF
echo "End of archive 6 (of 9)"
# if you want to concatenate archives, remove anything after this line
exit