/* four in a row's gadget structures and routines */

#include <intuition/intuitionbase.h> 
#include <graphics/display.h> 


/*  Define gadget ID numbers */

#define  GAD1  1
#define  GAD2  2
#define  GAD3  3
#define  GAD4  4
#define  GAD5  5
#define  GAD6  6
#define  GAD7  7
#define  GAD8  8

/* define coordinate offsets for gadgets */

#define X   XOFF+9
#define Y   YOFF+ROWS*MAXY+11


void set_gadget(), init_gadgets();

struct Gadget Gadget1, Gadget2, Gadget3, Gadget4,
              Gadget5, Gadget6, Gadget7, Gadget8;


/*  gadget structure and routines */

void set_gadget(gadget, n, l, t, w, h, r, s, id)
struct Gadget *gadget, *n;
SHORT l, t, w, h;
APTR  r, s;
USHORT id;
{
   gadget-> NextGadget     =  n;
   gadget-> LeftEdge       =  l;
   gadget-> TopEdge        =  t;
   gadget-> Width          =  w;
   gadget-> Height         =  h;
   gadget-> Flags          =  GADGHIMAGE | GADGIMAGE;
   gadget-> Activation     =  GADGIMMEDIATE | RELVERIFY;
   gadget-> GadgetType     =  BOOLGADGET;
   gadget-> GadgetRender   =  r;
   gadget-> SelectRender   =  s;
   gadget-> GadgetText     =  NULL;
   gadget-> MutualExclude  =  0x0000;
   gadget-> SpecialInfo    =  NULL;
   gadget-> GadgetID       =  id;
   gadget-> UserData       =  NULL;
   return;
}


void init_gadgets()
{
   set_gadget(&Gadget8, NULL, X+7*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD8);
   set_gadget(&Gadget7, &Gadget8, X+6*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD7);
   set_gadget(&Gadget6, &Gadget7, X+5*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD6);
   set_gadget(&Gadget5, &Gadget6, X+4*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD5);
   set_gadget(&Gadget4, &Gadget5, X+3*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD4);
   set_gadget(&Gadget3, &Gadget4, X+2*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD3);
   set_gadget(&Gadget2, &Gadget3, X+1*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD2);
   set_gadget(&Gadget1, &Gadget2, X+0*COLS, Y, 11, 11, (APTR)&rendimage,
              (APTR)&selectimage, GAD1);
   return;
}
