home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 2
/
FFMCD02.bin
/
new
/
gfx
/
edit
/
tsmorph
/
controlwindow.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-12-21
|
19KB
|
619 lines
// 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