/* file drawmap-menu.h */

/* ================ Project Menu ===================== */

#define PROJECT 0

#define HELP 0
#define SAVEIT 1
#define SAVE_CONFIG 2
#define PRINT 3
#define CLEARS 4
#define QUIT 5

/* ================ Maps Menu ===================== */

#define MAPS 1

#define PLANE 0

#define FLAT 0
#define MERCATOR 1

#define SPHERE 1

#define GLOBE 0
#define ORBITAL 1
#define ZOOM_IN 2
#define ZOOM_OUT 3

#define BOXES 2

#define BOX 0
#define BOX_ZOOM_IN 1
#define BOX_ZOOM_OUT 2

/* ================ Colors Menu ===================== */

#define COLORS 2

#define PALETTE 0
#define FLOOD_COLOR 1
#define LINE_COLOR 2
#define TEXT_COLOR 3
#define RESET_COLOR 4

/* ================ Edit Menu ===================== */

#define EDIT 3

#define GRID 0
#define FLOOD 1
#define DRAW_LINE 2
#define SHADOW 3
#define TEXT 4
#define TTOGGLE 5

/* ================ MenuItem Widths ===================== */

#define MWIDTH_PROJECT  (8*13+10+COMMWIDTH)
#define MWIDTH_MAPS     (8*7+10+COMMWIDTH)
#define MWIDTH_COLORS   (8*13+10+COMMWIDTH)
#define MWIDTH_EDIT     (8*13+10+COMMWIDTH)
#define MWIDTH_PLANE    (8*9+10+COMMWIDTH)
#define MWIDTH_MERCATOR (8*9+10+COMMWIDTH)
#define MWIDTH_GLOBE    (8*9+10+COMMWIDTH)
#define MWIDTH_SPHERE   (8*9+10+COMMWIDTH)
#define MWIDTH_BOXES    (8*13+10+COMMWIDTH)
#define COLOR_HEIGHT    10
#define COLOR_WIDTH     (CHECKWIDTH+COLOR_HEIGHT+5)

/* =============== MenuItem comparison values =============== */

#define HELP_TYPE         ((100*PROJECT+HELP)*100)
#define PRINT_TYPE        ((100*PROJECT+PRINT)*100)
#define CLEARS_TYPE       ((100*PROJECT+CLEARS)*100)
#define FLAT_TYPE         ((100*MAPS+PLANE)*100+FLAT)
#define MERCATOR_TYPE     ((100*MAPS+PLANE)*100+MERCATOR)
#define GLOBE_TYPE        ((100*MAPS+SPHERE)*100+GLOBE)
#define ORBITAL_TYPE      ((100*MAPS+SPHERE)*100+ORBITAL)
#define ZOOM_IN_TYPE      ((100*MAPS+SPHERE)*100+ZOOM_IN)
#define ZOOM_OUT_TYPE     ((100*MAPS+SPHERE)*100+ZOOM_OUT)
#define BOX_TYPE          ((100*MAPS+BOXES)*100+BOX)
#define BOX_ZOOM_IN_TYPE  ((100*MAPS+BOXES)*100+BOX_ZOOM_IN)
#define BOX_ZOOM_OUT_TYPE ((100*MAPS+BOXES)*100+BOX_ZOOM_OUT)
#define PALETTE_TYPE      ((100*COLORS+PALETTE)*100)
#define FLOOD_COLOR_TYPE  ((100*COLORS+FLOOD_COLOR)*100)
#define LINE_COLOR_TYPE   ((100*COLORS+LINE_COLOR)*100)
#define TEXT_COLOR_TYPE   ((100*COLORS+TEXT_COLOR)*100)
#define RESET_COLOR_TYPE  ((100*COLORS+RESET_COLOR)*100)
#define FLOOD_TYPE        ((100*EDIT+FLOOD)*100)
#define DRAW_LINE_TYPE    ((100*EDIT+DRAW_LINE)*100)
#define SHADOW_TYPE       ((100*EDIT+SHADOW)*100)
#define TEXT_TYPE         ((100*EDIT+TEXT)*100)

/* ======================== IntuiTexts ==================== */

struct IntuiText text_PROJECT[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Help",         NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Save Map",     NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Save Config",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Print Map",    NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Clear Screen", NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Quit",         NULL }
};

struct IntuiText text_MAPS[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Plane",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Sphere", NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Boxes",  NULL }
};

struct IntuiText text_MAPS_PLANE[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flat",     NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Mercator", NULL }
};

struct IntuiText text_MAPS_SPHERE[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Globe",    NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Orbital",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Zoom In",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Zoom Out", NULL }
};

struct IntuiText text_MAPS_BOXES[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box",          NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box Zoom In",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box Zoom Out", NULL }
};

struct IntuiText text_COLORS[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Palette",      NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flood Color",  NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Line Color",   NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Text Color",   NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Reset Colors", NULL }
};

struct IntuiText text_EDIT[] = {
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Grid",         NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flood Fill",   NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Draw Line",    NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Shadow",       NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Text",         NULL },
   { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Toggle Title", NULL }
};

/* =================== Menu Subitem Color Images =============== */

struct Image image[] = {
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0000, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0001, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0002, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0003, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0004, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0005, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0006, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0007, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0008, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0009, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000a, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000b, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000c, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000d, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000e, NULL },
   { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000f, NULL }
};

/* ======================== Menu SubItems ==================== */

struct MenuItem subitem_COLORS_FLOOD_COLOR[] = {

   { &subitem_COLORS_FLOOD_COLOR[1],
     MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[2],
     MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[3],
     MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[4],
     MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[5],
     MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[6],
     MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
     (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[7],
     MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[8],
     MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[9],
     MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[10],
     MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[11],
     MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[12],
     MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[13],
     MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[14],
     MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_FLOOD_COLOR[15],
     MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
     NULL, NULL, MENUNULL },

   { NULL,
     MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
     NULL, NULL, MENUNULL }

};

/* ================================================================= */

struct MenuItem subitem_COLORS_LINE_COLOR[] = {

   { &subitem_COLORS_LINE_COLOR[1],
     MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[2],
     MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[3],
     MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[4],
     MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[5],
     MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[6],
     MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[7],
     MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[8],
     MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[9],
     MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
     (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[10],
     MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[11],
     MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[12],
     MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[13],
     MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[14],
     MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_LINE_COLOR[15],
     MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
     NULL, NULL, MENUNULL },

   { NULL,
     MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
     NULL, NULL, MENUNULL }

};

/* ================================================================= */

struct MenuItem subitem_COLORS_TEXT_COLOR[] = {

   { &subitem_COLORS_TEXT_COLOR[1],
     MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[2],
     MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
     (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[3],
     MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[4],
     MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[5],
     MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[6],
     MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[7],
     MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[8],
     MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[9],
     MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[10],
     MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[11],
     MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[12],
     MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[13],
     MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[14],
     MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
     NULL, NULL, MENUNULL },

   { &subitem_COLORS_TEXT_COLOR[15],
     MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
     NULL, NULL, MENUNULL },

   { NULL,
     MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
     ITEMENABLED | HIGHBOX | CHECKIT,
     (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
     NULL, NULL, MENUNULL }

};

/* ================================================================= */

struct MenuItem subitem_MAPS_PLANE[] = {

   { &subitem_MAPS_PLANE[1], MWIDTH_MAPS,10*FLAT, MWIDTH_MERCATOR,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_MAPS_PLANE[0], NULL, 'F', NULL, MENUNULL },

   { NULL,                   MWIDTH_MAPS,10*MERCATOR, MWIDTH_MERCATOR,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_MAPS_PLANE[1], NULL, 'M', NULL, MENUNULL }

};

struct MenuItem subitem_MAPS_SPHERE[] = {

   { &subitem_MAPS_SPHERE[1], MWIDTH_MAPS,10*GLOBE, MWIDTH_GLOBE,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_MAPS_SPHERE[0], NULL, 'G', NULL, MENUNULL },

   { &subitem_MAPS_SPHERE[2], MWIDTH_MAPS,10*ORBITAL, MWIDTH_GLOBE,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_MAPS_SPHERE[1], NULL, 'O', NULL, MENUNULL },

   { &subitem_MAPS_SPHERE[3], MWIDTH_MAPS,10*ZOOM_IN, MWIDTH_GLOBE,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS_SPHERE[2], NULL, NULL, NULL, MENUNULL },

   { NULL,                    MWIDTH_MAPS,10*ZOOM_OUT, MWIDTH_GLOBE,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS_SPHERE[3], NULL, NULL, NULL, MENUNULL }

};

struct MenuItem subitem_MAPS_BOXES[] = {

   { &subitem_MAPS_BOXES[1], MWIDTH_MAPS,10*BOX, MWIDTH_BOXES,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_MAPS_BOXES[0], NULL, 'B', NULL, MENUNULL },

   { &subitem_MAPS_BOXES[2], MWIDTH_MAPS,10*BOX_ZOOM_IN, MWIDTH_BOXES,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS_BOXES[1], NULL, NULL, NULL, MENUNULL },

   { NULL,                   MWIDTH_MAPS,10*BOX_ZOOM_OUT, MWIDTH_BOXES,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS_BOXES[2], NULL, NULL, NULL, MENUNULL }

};

/* ======================== MenuItems ==================== */

struct MenuItem menuitem_PROJECT[] = {

   { &menuitem_PROJECT[1], 0,10*HELP, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_PROJECT[0], NULL, 'H', NULL, MENUNULL },

   { &menuitem_PROJECT[2], 0,10*SAVEIT, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_PROJECT[1], NULL, 'S', NULL, MENUNULL },

   { &menuitem_PROJECT[3], 0,10*SAVE_CONFIG, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_PROJECT[2], NULL, NULL, NULL, MENUNULL },

   { &menuitem_PROJECT[4], 0,10*PRINT, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_PROJECT[3], NULL, NULL, NULL, MENUNULL },

   { &menuitem_PROJECT[5], 0,10*CLEARS, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_PROJECT[4], NULL, 'C', NULL, MENUNULL },

   { NULL,                 0,10*QUIT, MWIDTH_PROJECT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_PROJECT[5], NULL, 'Q', NULL, MENUNULL }

};

struct MenuItem menuitem_MAPS[] = {

   { &menuitem_MAPS[1], 0,10*PLANE, MWIDTH_MAPS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS[0], NULL, NULL, &subitem_MAPS_PLANE[0], MENUNULL },

   { &menuitem_MAPS[2], 0,10*SPHERE, MWIDTH_MAPS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS[1], NULL, NULL, &subitem_MAPS_SPHERE[0], MENUNULL },

   { NULL,              0,10*BOXES, MWIDTH_MAPS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_MAPS[2], NULL, NULL, &subitem_MAPS_BOXES[0], MENUNULL }

};

struct MenuItem menuitem_COLORS[] = {

   { &menuitem_COLORS[1], 0,10*PALETTE, MWIDTH_COLORS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_COLORS[0], NULL, 'P', NULL, MENUNULL },

   { &menuitem_COLORS[2], 0,10*FLOOD_COLOR, MWIDTH_COLORS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_COLORS[1], NULL, NULL, &subitem_COLORS_FLOOD_COLOR[0],
     MENUNULL },

   { &menuitem_COLORS[3], 0,10*LINE_COLOR, MWIDTH_COLORS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_COLORS[2], NULL, NULL, &subitem_COLORS_LINE_COLOR[0],
     MENUNULL },

   { &menuitem_COLORS[4], 0,10*TEXT_COLOR, MWIDTH_COLORS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_COLORS[3], NULL, NULL, &subitem_COLORS_TEXT_COLOR[0],
     MENUNULL },

   { NULL,                0,10*RESET_COLOR, MWIDTH_COLORS,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_COLORS[4], NULL, 'R', NULL, MENUNULL }

};

struct MenuItem menuitem_EDIT[] = {

   { &menuitem_EDIT[1], 0,10*GRID, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_EDIT[0], NULL, NULL, NULL, MENUNULL },

   { &menuitem_EDIT[2], 0,10*FLOOD, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_EDIT[1], NULL, NULL, NULL, MENUNULL },

   { &menuitem_EDIT[3], 0,10*DRAW_LINE, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_EDIT[2], NULL, NULL, NULL, MENUNULL },

   { &menuitem_EDIT[4], 0,10*SHADOW, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_EDIT[3], NULL, NULL, NULL, MENUNULL },

   { &menuitem_EDIT[5], 0,10*TEXT, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP,
     0, (APTR)&text_EDIT[4], NULL, NULL, NULL, MENUNULL },

   { NULL,              0,10*TTOGGLE, MWIDTH_EDIT,10,
     ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
     0, (APTR)&text_EDIT[5], NULL, 'T', NULL, MENUNULL }

};

/* ======================== Menus ==================== */

struct Menu menu[] = {

   { &menu[1],   0,0, 75,0, MENUENABLED, " Project", &menuitem_PROJECT[0] },
   { &menu[2],  85,0, 50,0, MENUENABLED, " Maps",    &menuitem_MAPS[0] },
   { &menu[3], 140,0, 65,0, MENUENABLED, " Colors",  &menuitem_COLORS[0] },
   { NULL,     220,0, 50,0, MENUENABLED, " Edit",    &menuitem_EDIT[0] }

};
