home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / amiga / Intuition.mod < prev    next >
Encoding:
Modula Implementation  |  1993-11-22  |  1.6 KB  |  61 lines

  1. (* @B- @P- *)
  2. IMPLEMENTATION MODULE Intuition ;
  3.  
  4. FROM SYSTEM IMPORT ADR, ADDRESS ;
  5. IMPORT M2Lib ;
  6.  
  7. CONST
  8.   SHIFT5  = 32 ;
  9.   SHIFT11 = 2048 ;
  10.  
  11. PROCEDURE CUSTOM_HOOK( gadget : GadgetPtr ) : ADDRESS ;
  12. BEGIN RETURN ADDRESS( gadget^.MutualExclude )
  13. END CUSTOM_HOOK ;
  14.  
  15. PROCEDURE GADGET_BOX( g : GadgetPtr ) : IBoxPtr ;
  16. BEGIN RETURN ADR( g^.LeftEdge )
  17. END GADGET_BOX ;
  18.  
  19. PROCEDURE IM_BOX( im : ImagePtr ) : IBoxPtr ;
  20. BEGIN RETURN ADR( im^.LeftEdge )
  21. END IM_BOX ;
  22.  
  23. PROCEDURE IM_FGPEN( im : ImagePtr ) : SHORTCARD ;
  24. BEGIN RETURN im^.PlanePick
  25. END IM_FGPEN ;
  26.  
  27. PROCEDURE IM_BGPEN( im : ImagePtr ) : SHORTCARD ;
  28. BEGIN RETURN im^.PlaneOnOff
  29. END IM_BGPEN ;
  30.  
  31. PROCEDURE MENUNUM( n : CARDINAL ) : CARDINAL ;
  32. BEGIN RETURN CARDINAL( BITSET( n ) * BITSET( 01FH ) )
  33. END MENUNUM ;
  34.  
  35. PROCEDURE ITEMNUM( n : CARDINAL ) : CARDINAL ;
  36. BEGIN RETURN CARDINAL( BITSET( n / SHIFT5 ) * BITSET( 0003FH ) )
  37. END ITEMNUM ;
  38.  
  39. PROCEDURE SUBNUM( n : CARDINAL ) : CARDINAL ;
  40. BEGIN RETURN CARDINAL( BITSET( n / SHIFT11 ) * BITSET( 0001FH ) )
  41. END SUBNUM ;
  42.  
  43. PROCEDURE SHIFTMENU( n : CARDINAL ) : CARDINAL ;
  44. BEGIN RETURN CARDINAL( BITSET( n ) * BITSET( 01FH ) )
  45. END SHIFTMENU ;
  46.  
  47. PROCEDURE SHIFTITEM( n : CARDINAL ) : CARDINAL ;
  48. BEGIN RETURN CARDINAL( BITSET( n ) * BITSET( 03FH ) ) * SHIFT5
  49. END SHIFTITEM ;
  50.  
  51. PROCEDURE SHIFTSUB( n : CARDINAL ) : CARDINAL ;
  52. BEGIN RETURN CARDINAL( BITSET( n ) * BITSET( 01FH ) ) * SHIFT11
  53. END SHIFTSUB ;
  54.  
  55. PROCEDURE FULLMENUNUM( menu, item, sub : CARDINAL ) : CARDINAL ;
  56. BEGIN RETURN SHIFTMENU( menu ) + SHIFTITEM( item ) + SHIFTSUB( sub )
  57. END FULLMENUNUM ;
  58.  
  59. BEGIN IntuitionBase := M2Lib.OpenLib( "intuition.library", VERSION )
  60. END Intuition.
  61.