/************************************************************************
                           Future Requester                 8th August 87
************************************************************************/
#include <intuition/intuition.h>

#include "shm_defines"

extern struct TextAttr Fnt;

/************************************************************************
                           Future Definitions
************************************************************************/
struct IntuiText future_continue_txt =
       {1, 0, JAM1, 8, 2, &Fnt, (UBYTE *)"Continue", NL};

struct IntuiText jtxt[] =
{
{1, 0, JAM1, 200, 5, &Fnt,
"Possible Future Improvements",
&jtxt[1]},
{1, 0, JAM1, 20, 20, &Fnt,
"1) Storage and retrieval of images on disk in IFF format.",
&jtxt[2]},
{1, 0, JAM1, 20, 35, &Fnt,
"2) Prevent the ugly cycling of menu bar colours.",
&jtxt[3]},
{1, 0, JAM1, 20, 50, &Fnt,
"3) A separate menu option to turn the title bar on and off. I tried",
&jtxt[4]},
{1, 0, JAM1, 20, 60, &Fnt,
"   SetWindowTitles() with a null WindowTitle but this gives a blank",
&jtxt[5]},
{1, 0, JAM1, 20, 70, &Fnt,
"   title bar, it doesn't remove it. RefreshWindowFrame() with",
&jtxt[6]},
{1, 0, JAM1, 20, 80, &Fnt,
"   Wdw->Title = null does the same. I also tried a borderless backdrop",
&jtxt[7]},
{1, 0, JAM1, 20, 90, &Fnt,
"   window and controlled a screen title with ShowTitle() but the current",
&jtxt[8]},
{1, 0, JAM1, 20, 100, &Fnt,
"   method of using 'Erase' seems best so far.",
&jtxt[9]},
{1, 0, JAM1, 20, 115, &Fnt,
"4) Have the window view only a part of a larger RastPort so the 'Centre'",
&jtxt[10]},
{1, 0, JAM1, 20, 125, &Fnt,
"   setting could move the picture without redrawing it.",
NULL}
};

struct Image future_continue_img = {0,0, 80,11, 1, NL, 0, 2, NL};

struct Gadget future_continue_gad =
{
NL,
554, 176, 80, 11,
GADGHBOX | GADGIMAGE, RELVERIFY | ENDGADGET,
BOOLGADGET | REQGADGET,
(APTR)&future_continue_img, NL,
&future_continue_txt,
NL, NL, 1, NL
};

struct Requester future_req;

SHORT future_border_coords[] = {0,0, 639,0, 639,189, 0,189, 0,0};

struct Border future_border =
{
0, 0,
1, 0, JAM1,           /* White Border */
5, &future_border_coords[0],
NL
};

/************************************************************************
                             Future Function
************************************************************************/
future(cW)
struct Window *cW;
{
struct IntuiMessage *message;
BOOL loop;
int class;

InitRequester(&future_req);

future_req.LeftEdge = 0;
future_req.TopEdge = 10;
future_req.Width = 640;
future_req.Height = 190;
future_req.ReqGadget = &future_continue_gad;
future_req.ReqText = &jtxt[0];
future_req.BackFill = 3;
future_req.Flags = 0;
future_req.ReqBorder = &future_border;

Request(&future_req,cW);

loop = TRUE;

while (loop)
      {
      Wait(1 << cW->UserPort->mp_SigBit);
      message = (struct IntuiMessage *) GetMsg(cW->UserPort);
      class = message->Class;
      ReplyMsg(message);
      if (class == REQCLEAR) loop = FALSE;
      }
return(TRUE);
}
