home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / disks / disk418.lzh / ModulaDefs / Intuition.MOD < prev    next >
Text File  |  1990-12-17  |  2KB  |  81 lines

  1. (************************************
  2.  * Name : Intuition.MOD             *
  3.  * Function : interface to intuition*
  4.  *            lib. functions        *
  5.  ************************************)
  6.  
  7. IMPLEMENTATION MODULE Intuition;
  8.  
  9. FROM SYSTEM    IMPORT ADDRESS,ADR,BYTE,LONG;
  10. FROM AMIGABase IMPORT ExecBase,ExecOpenLib,LibCall,Regs;
  11.  
  12. CONST openwindow   = -204D;
  13.       closewindow  = -72D;
  14.       openscreen   = -198D;
  15.       closescreen  = -66D;
  16.       viewpad      = -300D;
  17.  
  18. VAR
  19.     intuibase : LONGINT;
  20.     r: Regs;
  21.  
  22. PROCEDURE OpenWindow(VAR nw: NewWindow): WindowPtr;
  23.  
  24. BEGIN
  25.    r.a[0] := ADR(nw);
  26.    LibCall(intuibase,openwindow,r);
  27.    RETURN WindowPtr(r.d[0]);
  28. END OpenWindow;
  29.  
  30. PROCEDURE CloseWindow(w: WindowPtr);
  31.  
  32. BEGIN
  33.    r.a[0] := LONGINT(w);
  34.    LibCall(intuibase,closewindow,r);
  35. END CloseWindow;
  36.  
  37. PROCEDURE OpenScreen(VAR ns: NewScreen):LONGINT;
  38.  
  39. BEGIN
  40.    r.a[0] := ADR(ns);
  41.    LibCall(intuibase,openscreen,r);
  42.    RETURN r.d[0];
  43. END OpenScreen;
  44.  
  45. PROCEDURE CloseScreen(s : LONGINT);
  46.  
  47. BEGIN
  48.   r.a[0] := s;
  49.   LibCall(intuibase,closescreen,r);
  50. END CloseScreen;
  51.  
  52. PROCEDURE ViewPortAddress(w: WindowPtr) : ADDRESS;
  53.  
  54. BEGIN
  55.   r.a[0] := ADDRESS(w);
  56.   LibCall(intuibase,viewpad,r);
  57.   RETURN ADDRESS(r.d[0]);
  58. END ViewPortAddress;
  59.  
  60. PROCEDURE ShowTitle(scrn:LONGINT;OnOff:BOOLEAN);
  61.  
  62. BEGIN
  63.   r.a[0] := scrn;
  64.   r.d[0] := 0;
  65.   IF OnOff THEN r.d[0] := -1 END;
  66.   LibCall(intuibase,-282D,r);
  67. END ShowTitle;
  68.  
  69.  
  70. VAR st : ARRAY[0..30] OF CHAR;
  71.  
  72. BEGIN
  73.    st := 'intuition.library';
  74.    r.a[1] := ADR(st);
  75.    r.d[0] := 0D;
  76.    LibCall(ExecBase(),ExecOpenLib(),r);
  77.    intuibase := r.d[0];
  78. END Intuition.
  79.  
  80.  
  81.