/*
 *  CELLS       An Implementation of the WireWorld cellular automata
 *              as described in Scientific American, Jan 1990.
 *
 *              Copyright 1990 by Davide P. Cervone.
 *  You may use this code, provided this copyright notice is kept intact.
 *  See the CELLS.HELP file for complete information on distribution conditions.
 */

/*
 *  File:   cBoxes.h        Header file for gadget and requester defines
 */


#define CHAR_WIDTH  6       /* size of MOONSTONE font */
#define CHAR_HEIGHT 8

#define ITEXT(s,x,y)        {TEXTPEN,FOREGROUND,JAM2, x,y, NULL, s, NULL}
#define CTEXT(s,x,y,c)      {c,FOREGROUND,JAM2, x,y, NULL, s, NULL}
#define RTEXT(s,x,y)        {TEXTPEN,TEXTSELECT,JAM2, x,y, NULL, s, NULL}
#define IMAGE(x,y,w,h,c)    {x,y, w,h,0, NULL,0,c, NULL}
#define ARROWIMAGE(data)    {0,0, SLIDEWH,SLIDEWH,2, &data[0], 3,0, NULL}

#define HBOX(w,h)           {0,h-1, 0,0, w-2,0, w-1,0, w-1,h-1, 1,h-1}
#define VBOX(w,h)           {0,h-2, 0,0, w-1,0, w-1,1, w-1,h-1, 0,h-1}
#define FBOX(w,h)           {0,h-1, 0,0, w-1,0, w-1,1, w-1,h-1, 1,h-1}
#define BBOX(w,h)           {0,h-2, 0,0, w-2,0, w-1,0, w-1,h-1, 0,h-1}
#define RECT(w,h)           {0,0, w-1,0, w-1,h-1, 0,h-1, 0,1}
#define BRDR(n,c,x,y,box)   {x,y, c,0,JAM1, 5, &box[0], NEXTBORDER(n)}
#define INBRDR(n,x,y,box)\
   {x,y, SHADOW,0,JAM1,    3, &box[0], &BORDERNAME[n+1]},\
   {x,y, HIGHLIGHT,0,JAM1, 3, &box[6], NEXTBORDER(n)}
#define OUTBRDR(n,x,y,box)\
   {x,y, HIGHLIGHT,0,JAM1, 3, &box[0], &BORDERNAME[n+1]},\
   {x,y, SHADOW,0,JAM1,    3, &box[6], NEXTBORDER(n)}

#define SLIDEWH     10
#define TEXTH       12
#define LNAMEH      (CHAR_HEIGHT+2)
