#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); }