home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / commodity / superdark / programmer.lha / programmer / util / show_info.c < prev    next >
C/C++ Source or Header  |  1995-01-05  |  3KB  |  129 lines

  1.  
  2. #include <exec/types.h>
  3. #include <intuition/intuition.h>
  4. #include <intuition/intuitionbase.h>
  5. #include <graphics/gfxbase.h>
  6. #include <clib/exec_protos.h>
  7. #include <clib/intuition_protos.h>
  8. #include "/includes/struct.h"
  9.  
  10.  
  11. struct    IntuitionBase    *IntuitionBase;
  12. struct    GfxBase    *GfxBase;
  13. struct    Screen    *scr;
  14.  
  15. BPTR    hd=0;
  16. struct NewWindow    Window = {
  17.     439,
  18.     10,
  19.     200,
  20.     150,0,1,
  21.     IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW|IDCMP_INTUITICKS,
  22.     WFLG_ACTIVATE|WFLG_CLOSEGADGET|WFLG_DRAGBAR|WFLG_DEPTHGADGET,
  23.     0l,0,"SDark info",0,0,5,5,-1,-1,WBENCHSCREEN};
  24.  
  25. void    my_print(rp,x,y,pt)
  26. struct    RastPort    *rp;
  27. int    x,y;
  28. char    *pt;
  29. {
  30.     SetAPen(rp,1L);
  31.     Move(rp,x,y);
  32.     Text(rp,pt,strlen(pt));
  33. }
  34.  
  35. main()
  36. {
  37.    struct    Window    *win;
  38.    struct    RastPort *rp;
  39.    struct    IntuiMessage *msg;
  40.    struct    MsgPort    *mp,*old_mp;
  41.    struct    appel_proc    *p_data_proc;
  42.    struct my_data    *p_info;
  43.    int        class;
  44.    int    flg_end;
  45.    char    buffer[100];
  46.  
  47.    IntuitionBase=(struct IntuitionBase *)OpenLibrary("intuition.library",0);
  48.    GfxBase=(struct GfxBase *)OpenLibrary("graphics.library",0);
  49.    old_mp=0;
  50.    printf("Version:%d Revision:%d\n",
  51.                     GfxBase->LibNode.lib_Version,
  52.                     GfxBase->LibNode.lib_Revision);
  53.    printf("Id:%lx\n", GetVPModeID( &IntuitionBase->FirstScreen->ViewPort ));
  54.  
  55.     hd=(BPTR)Open("con:0/10/438/150/Superdark debug window",MODE_OLDFILE);
  56.     if (  win = OpenWindow(&Window )){
  57.  
  58.         rp=win->RPort;
  59.         flg_end=FALSE;
  60.         while(flg_end!=TRUE){
  61.             if((msg=(struct IntuiMessage *)GetMsg(win->UserPort))!=0){
  62.                 class=msg->Class;
  63.                 ReplyMsg((struct Message *)msg);
  64.                 switch(class){
  65.                     case CLOSEWINDOW:
  66.                         flg_end=TRUE;
  67.                         break;
  68.                     default:
  69.                         break;
  70.                 }
  71.             }else{
  72.                Delay(10);
  73.                if((mp=FindPort("That's Dark!"))!=0){
  74.  
  75. /*                
  76.                 if(old_mp==0){
  77.                     SetRast(rp,0);
  78.                 }
  79. */
  80.                 /*********************************************/
  81.                 /* On recupere les informaitons ainsi passee */
  82.                 /*********************************************/
  83.                 p_data_proc=(struct appel_proc *)mp;
  84.                 p_data_proc->out_hd=hd;
  85.                 p_info=p_data_proc->p_info;
  86.  
  87.                 sprintf(buffer,"flg_stop     :%1d",p_info->flg_stop);
  88.                 my_print(rp,10,20,buffer);
  89.                 sprintf(buffer,"flg_send     :%1d",p_info->flg_send);
  90.                 my_print(rp,10,30,buffer);
  91.                 sprintf(buffer,"tempo        :%2d",p_info->tempo);
  92.                 my_print(rp,10,40,buffer);
  93.                 sprintf(buffer,"tempo_end    :%4d",p_info->tempo_end);
  94.                 my_print(rp,10,50,buffer);
  95.                 sprintf(buffer,"debug1(tempo):%4d",p_info->debug1);
  96.                 my_print(rp,10,60,buffer);
  97.                 sprintf(buffer,"flg_alea     :%1d",p_info->flg_alea);
  98.                 my_print(rp,10,70,buffer);
  99.                 sprintf(buffer,"sigstart     :%x",1<<p_info->sigstart);
  100.                 my_print(rp,10,80,buffer);
  101.                 sprintf(buffer,"sigstop      :%x",1<<p_info->sigstop);
  102.                 my_print(rp,10,90,buffer);
  103.                 sprintf(buffer,"signext      :%x",1<<p_info->signext);
  104.                 my_print(rp,10,100,buffer);
  105.                 sprintf(buffer,"sigtimeout   :%x",1<<p_info->sigtimeout);
  106.                 my_print(rp,10,110,buffer);
  107.                 sprintf(buffer,"posx:%08d ",p_info->debug2);
  108.                 my_print(rp,10,120,buffer);
  109.  
  110.                 scr = IntuitionBase->FirstScreen;
  111.  
  112.                 sprintf(buffer,"Height:%08d ",scr->Height);
  113.                 my_print(rp,10,130,buffer);
  114.                 old_mp=rp;
  115.                 }else{
  116.                 if(old_mp!=0){
  117.                     SetRast(rp,0);
  118.                     old_mp=0;
  119.                 }
  120.                 my_print(rp,10,20,"SuperDark not here");
  121.                 }                
  122.             }
  123.             old_mp=mp;
  124.         }
  125.         CloseWindow( win );
  126.     }
  127.     Close(hd);
  128. }
  129.