home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 329.lha / MultiPlot / source / message.c < prev    next >
C/C++ Source or Header  |  1990-01-05  |  4KB  |  119 lines

  1. #include <exec/types.h>
  2. #include <intuition/intuition.h>
  3.  
  4.  
  5. extern struct Screen *screen;
  6.  
  7. struct IntuiText MessageText = {
  8.         1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
  9.         37,20,   /* XY origin relative to container TopLeft */
  10.         NULL,   /* font pointer or NULL for default */
  11.         NULL, /* pointer to text */
  12.         NULL    /* next IntuiText structure */
  13. };
  14.  
  15.  
  16. SHORT OkayVectors[] = {
  17.         0,0,
  18.         118,0,
  19.         118,25,
  20.         0,25,
  21.         0,0
  22. };
  23. struct Border OkayBorder = {
  24.         -2,-1,  /* XY origin relative to container TopLeft */
  25.         1,0,JAM1,       /* front pen, back pen and drawmode */
  26.         5,      /* number of XY vectors */
  27.         OkayVectors, /* pointer to XY vectors */
  28.         NULL    /* next border in list */
  29. };
  30.  
  31. struct IntuiText OkayText = {
  32.         1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
  33.         37,7,   /* XY origin relative to container TopLeft */
  34.         NULL,   /* font pointer or NULL for default */
  35.         "Okay", /* pointer to text */
  36.         NULL    /* next IntuiText structure */
  37. };
  38.  
  39. struct Gadget Okay = {
  40.         NULL,   /* next gadget */
  41.         86,54,  /* origin XY of hit box relative to window TopLeft */
  42.         115,24, /* hit box width and height */
  43.         NULL,   /* gadget flags */
  44.         RELVERIFY,      /* activation flags */
  45.         BOOLGADGET,     /* gadget type flags */
  46.         (APTR)&OkayBorder, /* gadget border or image to be rendered */
  47.         NULL,   /* alternate imagery for selection */
  48.         &OkayText,        /* first IntuiText structure */
  49.         NULL,   /* gadget mutual-exclude long word */
  50.         NULL,   /* SpecialInfo structure */
  51.         NULL,   /* user-definable data */
  52.         NULL    /* pointer to user-definable data */
  53. };
  54.  
  55. struct NewWindow newmessage = {
  56.         140,100,  /* window XY origin relative to TopLeft of screen */
  57.         304,102,        /* window width and height */
  58.         2,1,    /* detail and block pens */
  59.         GADGETUP,       /* IDCMP flags */
  60.         NULL,   /* other window flags */
  61.         &Okay,       /* first gadget in gadget list */
  62.         NULL,   /* custom CHECKMARK imagery */
  63.         NULL,   /* window title */
  64.         NULL,   /* custom screen pointer */
  65.         NULL,   /* custom bitmap */
  66.         5,5,    /* minimum width and height */
  67.         640,200,        /* maximum width and height */
  68.         CUSTOMSCREEN    /* destination screen type */
  69. };
  70.  
  71.  
  72.  
  73. struct Window *p_MesWindow;
  74. #define GO 1
  75. #define STOP 0
  76.  
  77.  
  78.  
  79. void Message(message)
  80. char *message;
  81. {
  82. USHORT QuitFlag;
  83. ULONG MesClass;                          /*     Fields for storing      */
  84. APTR MesPointer;                            /*                             */
  85. struct IntuiMessage  *p_MesMessage;         /*      pointer to message     */
  86. struct RastPort *p;
  87.  
  88.   QuitFlag=GO;
  89.   newmessage.Screen = screen;
  90.   MessageText.IText = message;
  91.  
  92.   if( (p_MesWindow = (struct Window *)OpenWindow(&newmessage))==NULL)
  93.     {
  94.     printf("Unable to open message window");
  95.     exit(10);
  96.     }
  97.   p = p_MesWindow->RPort;
  98.   PrintIText(p,&MessageText,0,0);
  99.   while (QuitFlag !=STOP)
  100.     {
  101.        Wait(1l<<p_MesWindow->UserPort->mp_SigBit);        /* wait for a message */
  102.        while (p_MesMessage = (struct IntuiMessage *)GetMsg(p_MesWindow->UserPort))
  103.         {
  104.           MesClass = p_MesMessage->Class;             /* Store values */
  105.           MesPointer = p_MesMessage->IAddress;
  106.           ReplyMsg(p_MesMessage);                     /* Reply to message */
  107.           if ( MesClass == GADGETUP)
  108.            {
  109.                 QuitFlag=STOP;
  110.            }
  111.         }
  112.     }
  113.    CloseWindow(p_MesWindow);
  114. }
  115.  
  116.  
  117.  
  118.  
  119.