
#include <exec/types.h>
#include <exec/memory.h>
#include <graphics/display.h>
#include <graphics/gfxbase.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <stdio.h>

/**********************************/

/* Types */
#define PALTYPE  1
#define CONTYPE  2
#define NAVTYPE  3
#define ORBTYPE  4

#define WINDTYPEBITS 11
#define TYPEBITS  6

#define WINDMASK 0xffff
#define TYPEMASK 0xf
#define NUMMASK 0x3f

/* PALETTE GADGET TYPES */
#define PALPENS  0
#define PALPOTS  1
#define PALCNTLS 2

/* Palette Control Gadgets */
#define PALPEN   (PALTYPE << WINDTYPEBITS | PALPENS  << TYPEBITS)
#define PALPOT   (PALTYPE << WINDTYPEBITS | PALPOTS  << TYPEBITS)
#define PALCNTL  (PALTYPE << WINDTYPEBITS | PALCNTLS << TYPEBITS)
#define PALCOPY  (PALCNTL | 0)
#define PALRANGE (PALCNTL | 1)
#define PALEXCG  (PALCNTL | 2)

/* CONTOUR DEFINES */
#define CONTSELS  0
#define CONTUPS   1
#define CONTDOWNS 2
#define CONTPOTS  3
#define CONTCNTLS 4

#define CONTSEL  (CONTYPE << WINDTYPEBITS | CONTSELS  << TYPEBITS)
#define CONTUP   (CONTYPE << WINDTYPEBITS | CONTUPS   << TYPEBITS)
#define CONTDOWN (CONTYPE << WINDTYPEBITS | CONTDOWNS << TYPEBITS)
#define CONTPOT  (CONTYPE << WINDTYPEBITS | CONTPOTS  << TYPEBITS)
#define CONTCNTL (CONTYPE << WINDTYPEBITS | CONTCNTLS << TYPEBITS)
#define CONTRECOL (CONTCNTL | 0)
#define CONTSMTH  (CONTCNTL | 1)
#define CONTCEIL  (CONTCNTL | 2)

#define NUMCONTS   32

#define TOPMARG   11
#define BOTMARG   11
#define LEFTMARG  4
#define RIGHTMARG 15

/**********************************/

/*-------------------*/
/* Misc. definitions */
#define VERSION 100

/* Menu: Project, Item: Save's SubItems */
#define SAVEMAND     0
#define SAVEILBM     1

/* Menu Project's, Items */
#define LOADITEM     0
#define SAVEITEM     1
#define GENERATEITEM 2
#define USEITEM      3
#define QUITITEM     4

/* Menu: Edit, Item: ZoomIn's, SubItems */
#define ZOOMINON  0
#define ZOOMINOFF 1

/* Menu: Edit, Item: ViewMode's, SubItems */
#define HIRESSUB 0
#define INTERLACESUB 1
#define HALFBRITESUB 2

/* Menu: Edit, Item: Depth's, SubItems */
#define BITPLANE1SUB  0
#define BITPLANES2SUB 1
#define BITPLANES3SUB 2
#define BITPLANES4SUB 3
#define BITPLANES5SUB 4
#define BITPLANES6SUB 5

/* Menu Edit's, Items */
#define ZOOMITEM      0
#define COLORITEM     1
#define CONTOURITEM   2
#define GENERATORITEM 3
#define COUNTITEM     4
#define VIEWMODEITEM  5
#define DEPTHITEM     6

/* Menu Entries */
#define PROJECTMENU 0
#define EDITMENU    1
#define PRESETMENU  2

#define TOGGLED11 0x0200

/************************************/
/*                                  */
/*  CmdMode possibilities           */
/*                                  */
/*                                  */
/************************************/

#define SMOOTH 1
#define IMPLIEDSET 2

#define COPY   11
#define RANGE  12
#define EXCG   13

#define STARTBOX   20
#define STRETCHBOX 21
#define COLORSLIDE 22
#define ZOOMDRAG   23
#define ZOOMSIZE   24

