home *** CD-ROM | disk | FTP | other *** search
- #include "gadgetdef.h"
-
- static struct IntuiText filetext[] = {
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save as", NULL },
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save first", NULL },
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"save next", NULL },
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"open map", NULL },
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"close map", NULL }
- };
-
- static struct IntuiText greytext[] = {
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"Grey model", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Average", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Lumin", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"Distance", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"R only", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"G only", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"B only", NULL }
- };
-
- static struct IntuiText packtext[] = {
- { 0, 1, JAM2, 2, 0, NULL, (UBYTE *)"compression", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"run length", NULL },
- { 0, 1, JAM2, 20, 0, NULL, (UBYTE *)"none", NULL }
- };
-
-
-
- #define FILEFLAGS ( ITEMTEXT | HIGHCOMP | ITEMENABLED )
-
- static struct MenuItem packitems[] = {
- { &packitems[1], /* next item */
- 90, 0, 110 , 10, /* x,y,w,h */
- COLMEMFLAGS| CHECKED,
- 2, /* mutual exclude bits */
- (APTR) &packtext[1], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { NULL, /* next item */
- 90, 10, 110 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- 1, /* mutual exclude bits */
- (APTR) &packtext[2], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- }
- };
-
- #define GREYMUTUAL(pos) (077 ^ (1<<(pos)))
- static struct MenuItem greyitems[] = {
- { &greyitems[1], /* next item */
- 90, 0, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS|CHECKED,
- GREYMUTUAL(0), /* mutual exclude bits */
- (APTR) &greytext[1], /* average */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &greyitems[2], /* next item */
- 90, 10, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- GREYMUTUAL(1), /* mutual exclude bits */
- (APTR) &greytext[2], /* lumin */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &greyitems[3], /* next item */
- 90, 20, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- GREYMUTUAL(2), /* mutual exclude bits */
- (APTR) &greytext[3], /* dist */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &greyitems[4], /* next item */
- 90, 30, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- GREYMUTUAL(3), /* mutual exclude bits */
- (APTR) &greytext[4], /* dist */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &greyitems[5], /* next item */
- 90, 40, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- GREYMUTUAL(4), /* mutual exclude bits */
- (APTR) &greytext[5], /* dist */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { NULL, /* next item */
- 90, 50, 80 , 10, /* x,y,w,h */
- COLMEMFLAGS,
- GREYMUTUAL(5), /* mutual exclude bits */
- (APTR) &greytext[6], /* dist */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- }
- };
-
-
-
-
- static struct MenuItem fileitems[] = {
- { &fileitems[1], /* next item */
- 10, 0, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &filetext[0], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &fileitems[2], /* next item */
- 10, 10, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &filetext[1], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &fileitems[3], /* next item */
- 10, 20, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &filetext[2], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &fileitems[4], /* next item */
- 10, 30, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &packtext[0], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- packitems, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &fileitems[5], /* next item */
- 10, 40, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &filetext[3], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- },
- { &fileitems[6], /* next item */
- 10, 50, IMAGE_HITWIDTH , 10, /* x,y,w,h */
- COLMEMFLAGS,
- 1, /* mutual exclude bits */
- (APTR) &greytext[0], /* red */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- greyitems, /* submenu item */
- 0 /* next select for select dragging */
- },
- { NULL, /* next item */
- 10, 60, 90 , 10, /* x,y,w,h */
- FILEFLAGS,
- 0, /* mutual exclude bits */
- (APTR) &filetext[4], /* grey */
- NULL, /* highlight image */
- 'h', /* command byte ? */
- NULL, /* submenu item */
- 0 /* next select for select dragging */
- }
- };
-
- extern char *GetOutFile();
- extern char *GetInFile();
-
- MenuDoFile(item)
- int item;
- {
- static int filecnt = 0;
- char tempbuff[80];
- char *filename;
- bool packflag;
- int i;
-
- packflag = Selected( packitems[0] )?1:0;
-
-
- switch (item ) {
- case 0:
- if( (filename = GetOutFile())) {
- SetHourGlass();
- WriteIlbm(filename, &SurfWinDef, &SurfScrnDef, packflag);
- }
- break;
- case 1:
- filecnt = 0; /* deliberate fall into case 2 */
- case 2:
- if( filename = GetOutFile()) {
- SetHourGlass();
- sprintf(tempbuff, "%s.%d", filename, filecnt++ );
- WriteIlbm(tempbuff, &SurfWinDef, &SurfScrnDef, packflag);
- }
- break;
- case 4:
- if( filename = GetInFile()){
- SetHourGlass();
- ReadIlbm( filename);
- }
- break;
- case 5:
- for( i = 0; i < (sizeof(greyitems)/sizeof(greyitems[0])); i++ ) {
- if( Selected(greyitems[i])) {
- SetGreyModel(i);
- }
- }
- break;
- case 6:
- CloseImgPix();
- break;
- default:
- break;
- }
-
- ClearHourGlass();
- }
-