/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
* |_o_o|\\ Copyright (c) 1987 The Software Distillery.  All Rights Reserved *
* |. o.| ||          Written by Doug Walker                                 *
* | .  | ||          The Software Distillery                                *
* | o  | ||          235 Trillingham Lane                                   *
* |  . |//           Cary, NC 27511                                         *
* ======             BBS:(919)-471-6436                                     *
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#define I_REV 29
#define G_REV 29

#define CTSIZ  16    /* Color table size */
#define IWIDTH  8    /* # of pixels wide */
#define IHEIGHT 8    /* # of pixels high */
#define IDEPTH  4    /* # of bitplanes   */
#define ILENGTH (IHEIGHT * IDEPTH)  /* Size of one icon's image data */

#define SWIDTH  640
#define SHEIGHT 200
#define SDEPTH    4

#define IMXLEFT    6
#define IMYTOP    12
#define IMXSKIP   20
#define IMYSKIP   23

#define EDXLEFT   36
#define EDYTOP    20
#define ELWIDTH    7
#define ELHEIGHT   7
#define EDWIDTH   (ELWIDTH*IWIDTH)
#define EDHEIGHT  (ELHEIGHT*IHEIGHT)

#define PLXLEFT   (EDXLEFT+EDWIDTH+4)
#define PLYTOP    EDYTOP
#define PLXWIDTH  14
#define PLYHEIGHT 7

#if 0
#define IMNCOLS ((int)(SWIDTH-2*IMXLEFT)/IMXSKIP)
#else
#define IMNCOLS 32
#endif

/* I{X,Y}CALC(num) calculates the {x,y}-pos of the 'num'th icon */
#define IXCALC(num) (IMXLEFT+(num%IMNCOLS)*IMXSKIP)
#define IYCALC(num) (IMYTOP+((int)(num/IMNCOLS))*IMYSKIP)

#define CESWIDTH  (PLXLEFT+2*PLXWIDTH+22)
#define CESHEIGHT (EDYTOP+EDHEIGHT+10)

#define MAXFONTS 2


/* Iconfont FLAGS bits */
#define CHANGED 1   /* The font has changed */

struct iconfont
{
   char filename[50];                  /* Name of file this font came from */
   int flags;                          /* Bit flags, see above             */
   unsigned char firstchar;            /* First char in the font           */
   unsigned char lastchar;             /* Last char in the font            */
   USHORT colormap[CTSIZ];             /* Color map of this font           */
   struct Image images[256];           /* Image structures                 */
   USHORT idata[256*ILENGTH]; /* Actual image data                */
};

#define M_LOAD     0
#define M_SAVE     1
#define M_SAVEAS   2
#define M_COLORS   3
#define M_ALTFONT  4
#define M_COPY     5
#define M_MCOPY    6
#define M_QUIT     7

#define ME_SAVE    0
#define ME_RESET   1
#define ME_QUIT    2

#define ME_FLIP    0  /* Edit menu first item - FLIP*/
#define ME_XFLIP   0     /* Subitems - X and Y*/
#define ME_YFLIP   1

#define ME_ROTATE  1  /* Edit menu second item - ROTATE */
#define ME_POSROT  0     /* Subitems - +90, -90, 180 */
#define ME_NEGROT  1
#define ME_180ROT  2

#define ME_SHIFT   2  /* Edit menu third item - SHIFT */
#define ME_LSHIFT  0     /* Subitems - LEFT, RIGHT, UP, DOWN */
#define ME_RSHIFT  1
#define ME_USHIFT  2
#define ME_DSHIFT  3

#define MC_ALTFONT  0
#define MC_CANCEL   1

#define MC_ORGCOL   0
#define MC_ALTCOL   1

/* 0-15 are reserved for color gadgets */
#define G_RED     16
#define G_GREEN   17
#define G_BLUE    18
#define G_RSTR    19
#define G_ROK     20
#define G_RCANCEL 21
