
                      /* Listato 3 */

       /* Apertura finestra su WB con gestione di Intuition */


#include <grafica.h>

#define PORT finestra->UserPort  /* Port della nostra finestra */


 main()
 {
struct Window *finestra;/* prepara struttura per la finestra */
struct IntuiMessage *messaggio;
ULONG class;
USHORT code;
SHORT x,y;



  AttivaG(); /* Apre le librerie */

finestra=(struct Window *)Finestra(100,50,300,150,-1,-1,CLOSEWINDOW+
                                   MOUSEBUTTONS,WINDOWCLOSE+
                                   WINDOWDRAG+WINDOWDEPTH+WINDOWSIZING+
                                   ACTIVATE,NULL,NULL,
                                   "Finestra",NULL,50,50,600,250);



          /* Gestione Intuition Messages */

 for(;;)  /* Ciclo infinito */
     {
              /* Attende un messaggio valido */
       while ((messaggio=(struct IntuiMessage *)GetMsg(PORT))!=NULL)
               {
                    /* Salvo i campi che interessano */
                 class=messaggio->Class;
                 code=messaggio->Code;
                 x=messaggio->MouseX;
                 y=messaggio->MouseY;

                 ReplyMsg(messaggio); /* Messaggio ricevuto ! */

                 if (class==CLOSEWINDOW) { /* Chiude la finestra */
                                           CloseWindow(finestra);
                                           EndG();
                                           exit();
                                          };

                 if (class==MOUSEBUTTONS) { /* Tasti del Mouse */
                                            printf("\nTasto del mouse !\n");
                                            printf("Coord: %d %d\n",x,y);
                                           };

                }; /* Ciclo WHILE */

     };  /* Ciclo infinto */

} /* FINE */


 
