home *** CD-ROM | disk | FTP | other *** search
- // TSMorph - Amiga Morphing program
- // Copyright (C) © 1993 Topicsave Limited
-
- // This program is free software; you can redistribute it and/or modify
- // it under the terms of the GNU General Public License as published by
- // the Free Software Foundation; either version 2 of the License, or
- // any later version.
-
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU General Public License for more details.
-
- // You should have received a copy of the GNU General Public License
- // along with this program; if not, write to the Free Software
- // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- // mpaddock@cix.compulink.co.uk
-
- // $Author: M_J_Paddock $
- // $Date: 1993/09/04 17:42:36 $
- // $Revision: 1.12 $
-
- // Include precompiled headers if not already included
- #ifndef TSMORPH_H
- #include "TSMorph.h"
- #endif
-
- /* Gadgets in the control window */
- extern struct Gadget OneGadget = {
- &TwoGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &One_im,
- &One_imx,
- NULL,
- 0,
- NULL,
- ONEGADGET,
- NULL
- };
- extern struct Gadget TwoGadget = {
- &RelGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Two_im,
- &Two_imx,
- NULL,
- 0,
- NULL,
- TWOGADGET,
- NULL
- };
- extern struct Gadget RelGadget = {
- &MyAddGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Rel_im,
- &Rel_imx,
- NULL,
- 0,
- NULL,
- RELGADGET,
- NULL
- };
- extern struct Gadget MyAddGadget = { // Note not AddGadget as this is a function!
- &DelGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Add_im,
- &Add_imx,
- NULL,
- 0,
- NULL,
- ADDGADGET,
- NULL
- };
- extern struct Gadget DelGadget = {
- &LinkGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Del_im,
- &Del_imx,
- NULL,
- 0,
- NULL,
- DELGADGET,
- NULL
- };
- extern struct Gadget LinkGadget = {
- &UnlinkGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Link_im,
- &Link_imx,
- NULL,
- 0,
- NULL,
- LINKGADGET,
- NULL
- };
- extern struct Gadget UnlinkGadget = {
- &NoneGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &Unlink_im,
- &Unlink_imx,
- NULL,
- 0,
- NULL,
- UNLINKGADGET,
- NULL
- };
- extern struct Gadget NoneGadget = {
- &stGadget,
- 0,0,
- IMAGE_WIDTH,IMAGE_HEIGHT,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE|GFLG_SELECTED,
- GACT_IMMEDIATE,
- GTYP_BOOLGADGET,
- &None_im,
- &None_imx,
- NULL,
- 0,
- NULL,
- NONEGADGET,
- NULL
- };
- extern struct Gadget stGadget = {
- &prevGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &st_im,
- &st_imx,
- NULL,
- 0,
- NULL,
- STGADGET,
- NULL
- };
- extern struct Gadget prevGadget = {
- &gotoGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &prev_im,
- &prev_imx,
- NULL,
- 0,
- NULL,
- PREVGADGET,
- NULL
- };
- extern struct Gadget gotoGadget = {
- &nextGadget,
- 0,0,
- AIMAGE+1,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &goto_im,
- &goto_imx,
- NULL,
- 0,
- NULL,
- GOTOGADGET,
- NULL
- };
- extern struct Gadget nextGadget = {
- &lastGadget,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &next_im,
- &next_imx,
- NULL,
- 0,
- NULL,
- NEXTGADGET,
- NULL
- };
- extern struct Gadget lastGadget = {
- NULL,
- 0,0,
- AIMAGE,AIMAGE,
- GFLG_GADGHIMAGE|GFLG_GADGIMAGE,
- GACT_RELVERIFY,
- GTYP_BOOLGADGET,
- &last_im,
- &last_imx,
- NULL,
- 0,
- NULL,
- LASTGADGET,
- NULL
- };
-
- /* Menu for the Control Window - comments on the right are the array index */
- extern struct NewMenu MyNewMenu[] = { // There must be an easier way!
- { NM_TITLE, "Project",NULL,0,0,NULL }, // 0
- { NM_ITEM,"New Points","N",0,0,0 }, // 1
- { NM_ITEM,"Open Points...","O",0,0,0 }, // 2
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 3
- { NM_ITEM,"Save","S",0,0,0}, // 4
- { NM_ITEM,"Save As...","A",0,0,0}, // 5
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 6
- { NM_ITEM,"About...",NULL,0,0,0 }, // 7
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 8
- { NM_ITEM,"Exit Points",NULL,0,0,0 }, // 9
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 10
- { NM_ITEM,"Quit","Q",0,0,0 }, // 11
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 12
- { NM_ITEM,"Preview...",NULL,0,0,NULL }, // 13
- { NM_TITLE, "Edit",0,0,0,NULL}, // 14
- { NM_ITEM,"Add Grid...","G",0,0,0 }, // 15
- { NM_ITEM,"Frame",NULL,0,0,NULL }, // 16
- { NM_SUB,"First","<",0,0,0 }, // 17
- { NM_SUB,"Previous","-",0,0,0 }, // 18
- { NM_SUB,"Goto...",".",0,0,0 }, // 19
- { NM_SUB,"Next","+",0,0,0 }, // 20
- { NM_SUB,"Last",">",0,0,0 }, // 21
- { NM_ITEM,"Mode",0,0,0,NULL }, // 22
- { NM_SUB, "Edit One","1",CHECKIT,~1,NULL }, // 23
- { NM_SUB, "Edit Two","2",CHECKIT,~2,NULL }, // 24
- { NM_SUB, "Edit Rel","3",CHECKIT,~4,NULL }, // 25
- { NM_SUB, "Add", "4",CHECKIT,~8,NULL }, // 26
- { NM_SUB, "Delete", "5",CHECKIT,~16,NULL }, // 27
- { NM_SUB, "Link", "6",CHECKIT,~32,NULL }, // 28
- { NM_SUB, "Unlink", "7",CHECKIT,~64,NULL }, // 29
- { NM_SUB, "None", "8",CHECKIT|CHECKED,~128,NULL }, // 30
- { NM_TITLE, "Settings",0,0,0,NULL }, // 31
- { NM_ITEM,"Create Icons?",NULL, CHECKIT|MENUTOGGLE,0,NULL }, // 32
- { NM_ITEM,"Change Palette?","P", CHECKIT|MENUTOGGLE,0,NULL }, // 33
- { NM_ITEM,"Zoom?","Z", CHECKIT|MENUTOGGLE,0,NULL }, // 34
- { NM_ITEM,"Open Mode",NULL,0,NULL}, // 35
- { NM_SUB, "ILBM Always",NULL,CHECKIT,~1,NULL }, // 36
- { NM_SUB, "ILBM If ILBM",NULL,CHECKIT,~2,NULL }, // 37
- { NM_SUB, "ILBM If Colours",NULL,CHECKIT,~4,NULL }, // 38
- { NM_SUB, "Remap",NULL,CHECKIT,~8,NULL }, // 39
- { NM_SUB, "Opal",NULL,CHECKIT,~16,NULL }, // 40
- { NM_ITEM,"Public Screen...",NULL,0,NULL}, // 41
- { NM_ITEM,"Custom Mode...",NULL,0,NULL}, // 42
- { NM_ITEM,"Custom Depth...",NULL,0,NULL}, // 43
- { NM_ITEM,"Preview Script...",NULL,0,NULL}, // 44
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 45
- { NM_ITEM,"Create Prefs Icons?",NULL,CHECKIT|MENUTOGGLE,NULL},// 46
- { NM_ITEM,"Keep Settings?",NULL,CHECKIT|MENUTOGGLE,NULL}, // 47
- { NM_ITEM,"Load Settings...", NULL, 0, NULL }, // 48
- { NM_ITEM,"Save Settings", NULL, 0, NULL }, // 49
- { NM_ITEM,"Save Settings As...", NULL, 0, NULL }, // 50
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 51
- { NM_ITEM,"Create Render Icons?",NULL, CHECKIT|MENUTOGGLE,NULL },// 52
- { NM_ITEM,"DX...",NULL,0,NULL}, // 53
- { NM_ITEM,"DY...",NULL,0,NULL}, // 54
- { NM_ITEM,"Load Script...",NULL,0,NULL}, // 55
- { NM_ITEM,"Pre Script...",NULL,0,NULL}, // 56
- { NM_ITEM,"Post Script...",NULL,0,NULL}, // 57
- { NM_ITEM,"Depth...",NULL,0,NULL}, // 58
- { NM_ITEM,"Mode",NULL,0,NULL}, // 59
- { NM_SUB, "Quick(0)",NULL,CHECKIT,~1,NULL }, // 60
- { NM_SUB, "Quick Stationary(1)",NULL,CHECKIT,~2,NULL }, // 61
- { NM_SUB, "Closest(2)",NULL,CHECKIT,~4,NULL }, // 62
- { NM_SUB, "Closest Stationary(3)",NULL,CHECKIT,~8,NULL },// 63
- { NM_ITEM,"Save Format", NULL, 0, NULL }, // 64
- { NM_SUB, "ILBM 24",NULL,CHECKIT,~1,NULL }, // 65
- { NM_SUB, "Opal 24",NULL,CHECKIT,~2,NULL }, // 66
- { NM_SUB, "Opal 24 Thumbnail",NULL,CHECKIT,~4,NULL }, // 67
- { NM_SUB, "Opal 24 Fast",NULL,CHECKIT,~8,NULL }, // 68
- { NM_SUB, "Opal 24 Fast Thumbnail",NULL,CHECKIT,~16,NULL }, // 69
- { NM_SUB, "Opal JPEG",NULL,CHECKIT,~32,NULL }, // 70
- { NM_SUB, "Opal JPEG Thumbnail",NULL,CHECKIT,~64,NULL }, // 71
- { NM_SUB, "PPM (P6)",NULL,CHECKIT,~128,NULL }, // 72
- { NM_SUB, "B&W 16",NULL,CHECKIT,~256,NULL }, // 73
- { NM_SUB, "B&W 256",NULL,CHECKIT,~512,NULL }, // 74
- { NM_SUB, "HAM 6",NULL,CHECKIT,~1024,NULL }, // 75
- { NM_SUB, "HAM 8",NULL,CHECKIT,~2048,NULL }, // 76
- { NM_SUB, "DCTV 3",NULL,CHECKIT,~4096,NULL }, // 77
- { NM_SUB, "DCTV 4",NULL,CHECKIT,~8192,NULL }, // 78
- { NM_ITEM,"JPEG Quality...", NULL, 0, NULL }, // 79
- { NM_ITEM,"Render Screen...", NULL, 0, NULL }, // 80
- { NM_ITEM,"Anti-Alias?",NULL,CHECKIT|MENUTOGGLE,NULL }, // 81
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 82
- { NM_ITEM,"Reset To Defaults",NULL,0,NULL }, // 83
- { NM_ITEM,"Last Saved",NULL,0,NULL }, // 84
- { NM_ITEM,"Restore",NULL,0,NULL }, // 85
- { NM_ITEM,NM_BARLABEL,NULL,0,0,NULL }, // 86
- { NM_ITEM,"Continuous Help?",NULL,CHECKIT|MENUTOGGLE,NULL }, // 87
- { NM_END,NULL,NULL,0,0,NULL }
- };
-
- /* Screen and VisualInfo for ControlWindow */
- static struct Screen *Screen = NULL;
- static struct VisualInfo *VisInfo = NULL;
-
- /* The Window and its menus and (animated) screen title */
- extern struct Window *ControlWindow = NULL;
- extern struct Menu *MyMenu = NULL;
- extern UBYTE *CWTitle = "TSMorph - Frame "; // note spaces at end for frame number!
-
- /* Open the Control Window
- * Not really sure why it returns a Struct Window *
- * as ControlWindow is set up inside this function anyway
- * should really be a BOOL
- */
- struct Window *
- OpenControlWindow(void) {
- ULONG HNum; // The current edit mode is displayed as help
- switch (Mode) {
- case EDIT1:
- HNum = H_EOne;
- break;
- case EDIT2:
- HNum = H_ETwo;
- break;
- case EDITREL:
- HNum = H_ERel;
- break;
- case ADD:
- HNum = H_EAdd;
- break;
- case DELETE:
- HNum = H_EDel;
- break;
- case LINK1:
- HNum = H_ELnk;
- break;
- case UNLINK1:
- HNum = H_EUnl;
- break;
- case NONE:
- HNum = H_EMov;
- break;
- }
- if (Screen = LockPubScreen(PubScreenName)) { /* Supplied in PUBSCREEN= */
- // Dynamically position all the gadgets (actually only based on window top border)
- /* Gadgets in the left column */
- OneGadget.LeftEdge =
- RelGadget.LeftEdge =
- DelGadget.LeftEdge =
- UnlinkGadget.LeftEdge =
- stGadget.LeftEdge = Screen->WBorLeft;
- /* Gadgets in the right column */
- TwoGadget.LeftEdge =
- MyAddGadget.LeftEdge =
- LinkGadget.LeftEdge =
- NoneGadget.LeftEdge = Screen->WBorLeft + IMAGE_WIDTH;
- prevGadget.LeftEdge = Screen->WBorLeft + AIMAGE;
- gotoGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE);
- nextGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE+AIMAGE+1); // +1 as gotoGadget is 1 wider
- lastGadget.LeftEdge = Screen->WBorLeft + (AIMAGE+AIMAGE+AIMAGE+1+AIMAGE);
- /* Gadgets in top row */
- OneGadget.TopEdge =
- TwoGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1;
- /* Gadgets in 2nd row */
- RelGadget.TopEdge =
- MyAddGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT);
- /* Gadgets in 3rd row */
- DelGadget.TopEdge =
- LinkGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT);
- /* Gadgets in bottom (-1) row */
- UnlinkGadget.TopEdge =
- NoneGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT);
- /* Arrow gadgets */
- stGadget.TopEdge =
- prevGadget.TopEdge =
- gotoGadget.TopEdge =
- nextGadget.TopEdge =
- lastGadget.TopEdge = Screen->WBorTop + Screen->Font->ta_YSize+1+(IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT);
- if ((SinglePicture == 2) || (SinglePicture == 3)) { // Animated so set screen title
- sprintf(CWTitle,"TSMorph - Frame %03ld",FrameNumber);
- }
- else {
- strcpy(CWTitle,"TSMorph"); // Otherwise default
- }
- /* Open the window, in a default position */
- if (ControlWindow = OpenWindowTags(NULL,
- WA_Gadgets, &OneGadget,
- WA_IDCMP, IDCMP_MENUPICK | IDCMP_CLOSEWINDOW | IDCMP_MENUHELP |
- IDCMP_GADGETDOWN | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_GADGETUP |
- IDCMP_GADGETHELP | IDCMP_MOUSEMOVE,
- WA_SimpleRefresh, TRUE,
- WA_Flags, WFLG_DRAGBAR | WFLG_DEPTHGADGET | WFLG_CLOSEGADGET |
- WFLG_NOCAREREFRESH,
- WA_PubScreen, Screen,
- WA_Width, Screen->WBorLeft + Screen->WBorRight +
- (IMAGE_WIDTH+IMAGE_WIDTH),
- WA_Height, Screen->WBorTop + Screen->Font->ta_YSize + 1 +
- Screen->WBorBottom +
- (IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+IMAGE_HEIGHT+AIMAGE),
- WA_Left, 0, // left edge of screen
- WA_Top, TSMorphWnd->TopEdge + Rect[GD_Help].MaxY + 2,
- WA_ScreenTitle, CWTitle, // Top edge means help gadget is still visible
- WA_Title, "Mov", // This is wrong - could be a different mode ?
- WA_MenuHelp, TRUE,
- WA_NewLookMenus, TRUE,
- TAG_DONE)) {
- if (IntuitionBase->lib_Version > 38) { // If running 3.0+ turn on gadget help
- HelpControl(ControlWindow,HC_GADGETHELP);
- }
- UpdateMenuDefs(); // Update the menu off/on/checks etc.
- /* Create,layout and add the menu */
- if (MyMenu = CreateMenus(MyNewMenu,
- GTMN_FullMenu,TRUE,
- TAG_END)) {
- if (VisInfo = GetVisualInfo(Screen, TAG_END)) {
- if (LayoutMenus(MyMenu,VisInfo,
- GTMN_NewLookMenus,TRUE,
- TAG_END)) {
- if (SetMenuStrip(ControlWindow,MyMenu)) {
- // display either full or short help
- if (GHelp) {
- help(HNum);
- }
- else {
- ihelp(HNum);
- }
- return ControlWindow; /* Success !!! */
- }
- }
- }
- }
- }
- }
- /* Something failed so clear everything down */
- CloseControlWindow();
- return NULL;
- }
-
-
- /* Close the Control Window
- * or at least as much as it is open
- * Clearing down all variables
- */
- void
- CloseControlWindow(void) {
- if (ControlWindow) {
- ClearMenuStrip(ControlWindow);
- }
- if (VisInfo) {
- FreeVisualInfo(VisInfo);
- VisInfo = NULL;
- }
- if (MyMenu) {
- FreeMenus(MyMenu);
- MyMenu = NULL;
- }
- if (ControlWindow) {
- CloseWindow(ControlWindow);
- ControlWindow = NULL;
- }
- if (Screen) {
- UnlockPubScreen(NULL,Screen);
- Screen = NULL;
- }
- }
-
- /* Update the new menu array based on the current settings
- * updates enabled/disabled status
- * and checkmarks
- */
- void
- UpdateMenuDefs(void) {
- if ((SinglePicture == 2) || (SinglePicture == 3)) { // No frame controls if not anim
- MyNewMenu[NM_FRAME].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_FRAME].nm_Flags |= NM_ITEMDISABLED;
- }
- if (CreateIcons) { /* Supplied in CREATEICONS= */
- MyNewMenu[NM_CREATEICONS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_CREATEICONS].nm_Flags &= ~CHECKED;
- }
- if (CreateIconsP) { /* Supplied in CREATEICONSP= */
- MyNewMenu[NM_ICONSP].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ICONSP].nm_Flags &= ~CHECKED;
- }
- if (KeepSettings) { /* Supplied in KEEPSETTINGS= */
- MyNewMenu[NM_KEEPS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_KEEPS].nm_Flags &= ~CHECKED;
- }
- if (PaletteAllowed) { /* Supplied in CHANGEPALETTE= */
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags |= NM_ITEMDISABLED;
- }
- if (palette) { /* Supplied in CHANGEPALETTE= */
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_CHANGEPALETTE].nm_Flags &= ~CHECKED;
- }
- if (ZoomAllowed) { /* Supplied in ZOOM= */
- MyNewMenu[NM_ZOOM].nm_Flags &= ~NM_ITEMDISABLED;
- }
- else {
- MyNewMenu[NM_ZOOM].nm_Flags |= NM_ITEMDISABLED;
- }
- if (Zoom) { /* Supplied in ZOOM= */
- MyNewMenu[NM_ZOOM].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ZOOM].nm_Flags &= ~CHECKED;
- }
- if (AntiAlias) { /* Supplied in ANTIALIAS= */
- MyNewMenu[NM_ANTIALIAS].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ANTIALIAS].nm_Flags &= ~CHECKED;
- }
- if (!ReqToolsBase) { // No reqtools.library so disable all string and int requesters
- MyNewMenu[NM_SCREEN].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DX].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_LOADSCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_PRESCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_POSTSCRIPT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DEPTH].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_QUALITY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_SCREENR].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_PPREVIEW].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_SPREVIEW].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_CUSTOM].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_CDEPTH].nm_Flags |= NM_ITEMDISABLED;
- TSMorphNewMenu[12].nm_Flags |= NM_ITEMDISABLED;
- }
- if (!OpalBase) { // No opal.library so disable opal output formats and input mode
- MyNewMenu[NM_OPAL24].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24T].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24F].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPAL24FT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPALJPEG].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_OPALJPEGT].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_QUALITY].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_ILBMOPAL].nm_Flags |= NM_ITEMDISABLED;
- }
- if (!DCTVBase) { // no dctv.library so disable dctv output formats
- MyNewMenu[NM_DCTV3].nm_Flags |= NM_ITEMDISABLED;
- MyNewMenu[NM_DCTV4].nm_Flags |= NM_ITEMDISABLED;
- }
- if (CreateIconsR) { /* Supplied in CREATEICONSR= */
- MyNewMenu[NM_ICONSR].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_ICONSR].nm_Flags &= ~CHECKED;
- }
- if (GHelp) { /* Supplied in HELP= */
- MyNewMenu[NM_HELP].nm_Flags |= CHECKED;
- }
- else {
- MyNewMenu[NM_HELP].nm_Flags &= ~CHECKED;
- }
- if (!handle) { // Have not managed to open amigaguide help file
- MyNewMenu[NM_HELP].nm_Flags |= NM_ITEMDISABLED;
- }
- // Switch off all modes except current
- MyNewMenu[NM_MODE0].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE1].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE2].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE3].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_MODE0+RenderMode].nm_Flags |= CHECKED;
- // switch off all output formats except current
- MyNewMenu[NM_ILBM24].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24T].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24F].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPAL24FT].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPALJPEG].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_OPALJPEGT].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_PBM].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_BW16].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_BW256].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_HAM6].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_HAM8].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_DCTV3].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_DCTV4].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBM24+SaveFormat].nm_Flags |= CHECKED;
- // switch off all input modes except current
- MyNewMenu[NM_ILBMALWAYS].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMIFILBM].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMIFCOLOURS].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMOPAL].nm_Flags &= ~CHECKED;
- MyNewMenu[NM_ILBMALWAYS+OpenMode].nm_Flags |= CHECKED;
- }
-