/*
 *  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:  cReqLP.h             Defines for the Library/Part requester
 */


/*
 *  Gadget IDs and array positions
 */

#define LP_REMOVE   0
#define LP_VIEW     1
#define LP_CANCEL   2
#define LP_USE      3
#define LP_PNAMES   4
#define LP_LNAMES   5
#define LP_PSLIDE   6
#define LP_LSLIDE   7
#define LP_PUARROW  8
#define LP_PDARROW  9
#define LP_LUARROW  10
#define LP_LDARROW  11
#define LP_NAME     12
#define LP_IMGADG   13

/*
 *  Array positions
 */

#define LPB_PANEL   0
#define LPB_FRAME1  2
#define LPB_FRAME2  4
#define LPB_FRAME3  6
#define LPB_PSLIDE  8
#define LPB_LSLIDE  10
#define LPB_PNAMES  12
#define LPB_LNAMES  14
#define LPB_NAME    16
#define LPB_BUTTONV 18
#define LPB_BUTTONF 20
#define LPB_BUTTONB 22

#define LPI_NAME    0
#define LPI_PSLIDE  1
#define LPI_LSLIDE  2
#define LPI_PBLANK  3
#define LPI_PSELECT 4
#define LPI_LBLANK  5
#define LPI_LSELECT 6
#define LPI_PBACK   7
#define LPI_LBACK   8

#define LPI_UARROW  3
#define LPI_DARROW  4

#define LPT_REMOVE  0
#define LPT_VIEW    1
#define LPT_CANCEL  2
#define LPT_USE     3
#define LPT_TITLE   4
#define LPT_PNAME0  5
#define LPT_PNAME7  12
#define LPT_LNAME0  13
#define LPT_LNAME5  18

#define LPP_PSLIDE  0
#define LPP_LSLIDE  1


/*
 * Sizes and screen positions
 */

#define LP_PANELW   200
#define LP_PANELH   116

#define LP_FRAMEW   96

#define LP_FRAME1X  3
#define LP_FRAME1Y  11
#define LP_FRAME1W  LP_FRAMEW
#define LP_FRAME1H  (LP_PANELH-14)

#define LP_FRAME2X  (LP_FRAMEW+5)
#define LP_FRAME2Y  LP_FRAME1Y
#define LP_FRAME2W  LP_FRAMEW
#define LP_FRAME2H  (LP_LNAMEH+6)

#define LP_FRAME3X  LP_FRAME2X
#define LP_FRAME3Y  (LP_FRAME2Y+LP_FRAME2H+2)
#define LP_FRAME3W  LP_FRAMEW
#define LP_FRAME3H  (2*LP_BUTTONH+6)

#define LP_NAMEX    (LP_FRAME1X+3)
#define LP_NAMEY    (LP_FRAME1Y+3)
#define LP_NAMEW    (LP_PNAMEW+SLIDEWH)
#define LP_NAMEH    TEXTH

#define LP_PNAMEX   LP_NAMEX
#define LP_PNAMEY   (LP_NAMEY+LP_NAMEH+2)
#define LP_PNAMEW   80
#define LP_PNAMEH   82

#define LP_PSLIDEX  (LP_PNAMEX+LP_PNAMEW)
#define LP_PSLIDEY  (LP_PNAMEY+SLIDEWH)
#define LP_PSLIDEW  SLIDEWH
#define LP_PSLIDEH  (LP_PNAMEH-2*SLIDEWH)

#define LP_PUARROWX LP_PSLIDEX
#define LP_PUARROWY LP_PNAMEY
#define LP_PDARROWX LP_PSLIDEX
#define LP_PDARROWY (LP_PNAMEY+LP_PNAMEH-SLIDEWH)

#define LP_LNAMEX   (LP_FRAME2X+3)
#define LP_LNAMEY   (LP_FRAME2Y+3)
#define LP_LNAMEW   LP_PNAMEW
#define LP_LNAMEH   62

#define LP_LSLIDEX  (LP_LNAMEX+LP_LNAMEW)
#define LP_LSLIDEY  (LP_LNAMEY+SLIDEWH)
#define LP_LSLIDEW  SLIDEWH
#define LP_LSLIDEH  (LP_LNAMEH-2*SLIDEWH)

#define LP_LUARROWX LP_LSLIDEX
#define LP_LUARROWY LP_LNAMEY
#define LP_LDARROWX LP_LSLIDEX
#define LP_LDARROWY (LP_LNAMEY+LP_LNAMEH-SLIDEWH)

#define LP_BUTTONX  (LP_FRAME3X+3)
#define LP_BUTTONY  (LP_FRAME3Y+3)
#define LP_BUTTONW  45
#define LP_BUTTONH  (TEXTH+1)


extern struct ExtRequest LPRequest;
