/* file drawmap-req.h */

#define NUM_CHAR 25                    /* # characters in text buffer */

#define TLEFT   24                     /* left edge of requester */
#define TTOP    24                     /* top edge of requester  */
#define TWIDTH  8*(NUM_CHAR+5)         /* width of requester     */
#define THEIGHT 80                     /* height of requester    */

#define GAD_FIRST 1                    /* initial gadget id       */
#define GAD_LEFT  16                   /* string gadget left edge */
#define GAD_TOP   THEIGHT/2            /* string gadget top edge  */

struct IntuiText rtext = {             /* prompt in text requester */
   BLACK, ORANGE, JAM1,
   GAD_LEFT, (GAD_TOP-4)/2,
   NULL,
   (UBYTE *) "Enter desired text:",
   NULL
};

struct IntuiText dtext = {             /* prompt in doubleword requester */
   BLACK, ORANGE, JAM1,
   GAD_LEFT, (GAD_TOP-4)/2,
   NULL,
   (UBYTE *) "Enter desired altitude:",
   NULL
};

UBYTE user_text_input[NUM_CHAR+1];     /* buffer for user text */
UBYTE default_text[] = "Text";         /* default text         */
UBYTE user_double_input[NUM_CHAR+1];   /* buffer for user doubleword */
UBYTE default_double[NUM_CHAR+1];      /* buffer for default value   */

struct StringInfo gadgetinput = {      /* gadget string text           */
   &user_text_input[0],                /* buffer for user input        */
   NULL,                               /* no undo buffer               */
   0,                                  /* character position in buffer */
   NUM_CHAR+1,                         /* max. characters in buffer    */
   0,                                  /* buffer position of first     */
                                       /*   displayed character        */
   0, 0, 0, 0, 0, NULL, 0, NULL        /* Intuition local variables    */
};

struct Gadget gad = {                  /* string gadget structure  */
   NULL,                               /* pointer to next gadget   */
   GAD_LEFT, GAD_TOP, 8*(NUM_CHAR+1),  /* left, top, width, height */
         10,                           /*   of hit box             */
   GADGHCOMP,                          /* flags                    */
   RELVERIFY | ENDGADGET,              /* activation flags         */
   REQGADGET | STRGADGET,              /* gadget type = string     */
   NULL,                               /* border descriptor        */
   NULL,                               /* alternate imagery        */
   NULL,                               /* gadget text              */
   0,                                  /* no mutual exclusion      */
   (APTR) &gadgetinput,                /* special info             */
   GAD_FIRST,                          /* gadget identifier        */
   NULL                                /* pointer to data          */
};

short bordertop2[] = {                 /* inside top & left borders */
   TWIDTH-9, 8,
   8, 8,
   8, THEIGHT-9
};

#define NUM_PAIRS_TOP2 sizeof(bordertop2)/(2*sizeof(short))

short borderright2[] = {               /* inside right & bottom borders */
   8, THEIGHT-9,
   TWIDTH-9, THEIGHT-9,
   TWIDTH-9, 8
};

#define NUM_PAIRS_RIGHT2 sizeof(borderright2)/(2*sizeof(short))

short bordertop[] = {                  /* top & left borders */
   TWIDTH-1, 0,
   0, 0,
   0, THEIGHT-1,
   1, THEIGHT-2,
   1, 1,
   TWIDTH-2, 1
};

#define NUM_PAIRS_TOP sizeof(bordertop) / (2*sizeof(short))

short borderright[] = {                /* right & bottom borders */
   TWIDTH-2, 1,
   TWIDTH-2, THEIGHT-2,
   1, THEIGHT-2,
   0, THEIGHT-1,
   TWIDTH-1, THEIGHT-1,
   TWIDTH-1, 0
};

#define NUM_PAIRS_RIGHT sizeof(borderright) / (2*sizeof(short))

struct Border border_right2 = {        /* inside right & bottom borders */
   0, 0,
   WHITE, ORANGE, JAM1,
   NUM_PAIRS_RIGHT2,
   (short *) &borderright2[0],
   NULL
};

struct Border border_top2 = {          /* inside top & left borders */
   0, 0,
   BLACK, ORANGE, JAM1,
   NUM_PAIRS_TOP2,
   (short *) &bordertop2[0],
   &border_right2
};

struct Border border_right = {         /* right & bottom borders */
   0, 0,
   BLACK, ORANGE, JAM1,
   NUM_PAIRS_RIGHT,
   (short *) &borderright[0],
   &border_top2
};

struct Border border_top = {           /* top & left borders */
   0, 0,
   WHITE, ORANGE, JAM1,
   NUM_PAIRS_TOP,
   (short *) &bordertop[0],
   &border_right
};
