home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <intuition/intuition.h>
-
-
- extern struct Screen *screen;
-
- struct IntuiText MessageText = {
- 1,0,JAM2, /* front and back text pens, drawmode and fill byte */
- 37,20, /* XY origin relative to container TopLeft */
- NULL, /* font pointer or NULL for default */
- NULL, /* pointer to text */
- NULL /* next IntuiText structure */
- };
-
-
- SHORT OkayVectors[] = {
- 0,0,
- 118,0,
- 118,25,
- 0,25,
- 0,0
- };
- struct Border OkayBorder = {
- -2,-1, /* XY origin relative to container TopLeft */
- 1,0,JAM1, /* front pen, back pen and drawmode */
- 5, /* number of XY vectors */
- OkayVectors, /* pointer to XY vectors */
- NULL /* next border in list */
- };
-
- struct IntuiText OkayText = {
- 1,0,JAM2, /* front and back text pens, drawmode and fill byte */
- 37,7, /* XY origin relative to container TopLeft */
- NULL, /* font pointer or NULL for default */
- "Okay", /* pointer to text */
- NULL /* next IntuiText structure */
- };
-
- struct Gadget Okay = {
- NULL, /* next gadget */
- 86,54, /* origin XY of hit box relative to window TopLeft */
- 115,24, /* hit box width and height */
- NULL, /* gadget flags */
- RELVERIFY, /* activation flags */
- BOOLGADGET, /* gadget type flags */
- (APTR)&OkayBorder, /* gadget border or image to be rendered */
- NULL, /* alternate imagery for selection */
- &OkayText, /* first IntuiText structure */
- NULL, /* gadget mutual-exclude long word */
- NULL, /* SpecialInfo structure */
- NULL, /* user-definable data */
- NULL /* pointer to user-definable data */
- };
-
- struct NewWindow newmessage = {
- 140,100, /* window XY origin relative to TopLeft of screen */
- 304,102, /* window width and height */
- 2,1, /* detail and block pens */
- RAWKEY | GADGETUP, /* IDCMP flags */
- ACTIVATE, /* other window flags */
- &Okay, /* first gadget in gadget list */
- NULL, /* custom CHECKMARK imagery */
- NULL, /* window title */
- NULL, /* custom screen pointer */
- NULL, /* custom bitmap */
- 5,5, /* minimum width and height */
- 640,200, /* maximum width and height */
- CUSTOMSCREEN /* destination screen type */
- };
-
-
-
- struct Window *p_MesWindow;
- #define GO 1
- #define STOP 0
-
-
-
- void Message(message)
- char *message;
- {
- USHORT QuitFlag;
- ULONG MesClass; /* Fields for storing */
- ULONG MesCode; /* Fields for storing */
-
- APTR MesPointer; /* */
- struct IntuiMessage *p_MesMessage; /* pointer to message */
- struct RastPort *p;
-
- QuitFlag=GO;
- newmessage.Screen = screen;
- MessageText.IText = message;
-
- if( (p_MesWindow = (struct Window *)OpenWindow(&newmessage))==NULL)
- {
- ErrorAlert(5);
- exit(10);
- }
- p = p_MesWindow->RPort;
- PrintIText(p,&MessageText,0,0);
- while (QuitFlag !=STOP)
- {
- Wait(1l<<p_MesWindow->UserPort->mp_SigBit); /* wait for a message */
- while (p_MesMessage = (struct IntuiMessage *)GetMsg(p_MesWindow->UserPort))
- {
- MesClass = p_MesMessage->Class; /* Store values */
- MesCode = p_MesMessage->Code; /* Store values */
- MesPointer = p_MesMessage->IAddress;
- ReplyMsg(p_MesMessage); /* Reply to message */
- if ( MesClass == GADGETUP)
- {
- QuitFlag=STOP;
- }
- else if ( MesClass == RAWKEY) {
- if (MesCode ==95) ; /* HELP key PRESSED */
- else if (MesCode ==69) /* ESCAPE key PRESSED */
- {
- QuitFlag=STOP;
- }
- else if (MesCode ==196) /* RETURN key RELEASED */
- {
- QuitFlag=STOP;
- }
- }
- }
- }
- CloseWindow(p_MesWindow);
- }
-
-
-
-
-