#include "pz.h"

/* IFF2PCS help box code.
** Ali Ozer, Nov 1987
*/

#define ABOUTBOXLEFTMARGIN 5L

static long cury;

WL (wrp, line)
struct RastPort *wrp;
char *line;
{
  Move (wrp, ABOUTBOXLEFTMARGIN, (cury+=9L));
  Text (wrp, line, (long)strlen(line));
}


struct NewWindow hw = {
  15, 13, 605, 92, -1, -1, 
  ACTIVEWINDOW, BORDERLESS | SIMPLE_REFRESH, 
  NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, CUSTOMSCREEN
};

extern struct Screen *picscr;
extern struct Window *picwin;

/* Approx memory required per plane (and background) of help window...
*/
#define SCRSIZEPERPLANE 16000

int DoAboutBox (boxcolor, textcolor)
int boxcolor, textcolor;
{
  struct Window *win;
  struct RastPort *wrp;

  hw.Screen = picscr;

  /* Safety check! */
  if ((AvailMem (MEMF_CHIP) < SCRSIZEPERPLANE * picscr->BitMap.Depth) ||
      ((win = OpenWindow (&hw)) == NULL)) return (false);
  wrp = win->RPort; 
  
  SetRast (wrp, (long)boxcolor);
  SetBPen (wrp, (long)boxcolor);
  SetAPen (wrp, (long)textcolor);
  SetDrMd (wrp, JAM2);
  cury = 0;
WL(wrp, COPYRIGHT);
  cury += 3;
WL(wrp,
"Put the picture back together from the pieces. To grab a piece, move the");
WL(wrp,
"mouse over it and click the left button. To rotate a piece (90 degrees CW)");
WL(wrp,
"first grab it, then click the right button. To see what the full picture");
WL(wrp,
"looks like, choose the SHOW option from the menu. To see how close you are");
WL(wrp,
"to the solution, choose the CHECK option. ");
  cury += 3;
WL(wrp,
"Many thanks go to: D. John Hodgson (for the small IFF reader), Tom Rokicki");
WL(wrp,
"(for the bitmap rotations), and Helene (Lee) Taran (for the popup menus &");
WL(wrp,
"her many suggestions). Please read the IFF2PCS.DOC file for more info.");

  Wait ((1L << win->UserPort->mp_SigBit) | (1L << picwin->UserPort->mp_SigBit));
  CloseWindow (win);
  return (true);
}


