home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 230.lha / SPY / Sources / IntuiCommon.Def next >
Text File  |  1989-04-08  |  5KB  |  147 lines

  1. DEFINITION MODULE IntuiCommon;
  2.  
  3.               (* * * * * * * * * * * * * * * * * * * * * * *)
  4.               (* Common Intuition-related routines.        *)
  5.           (* Originally written for the TDI package,   *)
  6.           (* but was quickly modified for the Oxxi     *)
  7.           (* compiler.                                 *)
  8.               (*                                           *)
  9.           (* (c) Copyright 1987 by Steve Faiwiszewski. *)
  10.           (* This program may be freely distributed,   *)
  11.           (* but it is not to be sold.                 *)
  12.           (* Please leave this notice intact.          *)
  13.               (* * * * * * * * * * * * * * * * * * * * * * *)
  14.  
  15. FROM Rasters   IMPORT DrawModeSet;
  16. FROM Views     IMPORT ViewModesSet;
  17. FROM Intuition IMPORT Border, BorderPtr, Gadget, GadgetPtr,
  18.               GadgetFlagsSet, RememberPtr,
  19.               GadgetActivationSet, GadgetTypeSet,
  20.                       Requester, IntuiText, ScreenPtr,
  21.               IDCMPFlagsSet, WindowFlagsSet, WindowPtr,
  22.                       IntuiTextPtr, Menu, MenuPtr, MenuItem,
  23.               MenuItemPtr;
  24. FROM SYSTEM    IMPORT BYTE, ADDRESS;
  25.  
  26. TYPE
  27.     CoordinateType = RECORD
  28.                         Left,
  29.                         Top  : INTEGER;
  30.                      END;    
  31.  
  32.     StandardCoordType = ARRAY [0..4] OF CoordinateType;
  33.  
  34. VAR
  35.     RKey: RememberPtr;
  36.  
  37. PROCEDURE ReleaseAllocations;
  38.  
  39. PROCEDURE InitMenuRec (VAR Amenu : Menu;
  40.                        left, top, width, height : INTEGER;
  41.                        text : ADDRESS) : MenuPtr;
  42. (* Initialize a menu record.        *)
  43.  
  44. PROCEDURE InitItemRec (VAR mi : MenuItem;
  45.                        left, top,
  46.                width, height : INTEGER;
  47.                        Cmd : CHAR;
  48.                ItemFillPtr : ADDRESS) : MenuItemPtr;
  49. (* Initialize an item record.       *)
  50.  
  51. PROCEDURE InitTextRec (VAR it : IntuiText;
  52.                        left, top : INTEGER;
  53.                        front, back : BYTE;
  54.                Mode : DrawModeSet;
  55.                        text : ADDRESS) : IntuiTextPtr;
  56. (* Initialize menu text record.     *)
  57.  
  58.  
  59. PROCEDURE InitBorder(VAR border : Border;
  60.                      Left, Top : INTEGER;
  61.                      Front, Back,
  62.                      count : BYTE;
  63.              Mode : DrawModeSet;
  64.                      Coords : ADDRESS;
  65.                      Next : BorderPtr);
  66.  
  67.  
  68. PROCEDURE InitReq(VAR requester : Requester;
  69.                   Left, Top : INTEGER;
  70.                   width, height : INTEGER;
  71.                   gadget : GadgetPtr;
  72.                   border : BorderPtr;
  73.                   Text   : IntuiTextPtr;
  74.                   Fill   : BYTE);
  75. (* Initialize a requester *)
  76.  
  77. PROCEDURE InitCoordEntry(VAR coords : ARRAY OF CoordinateType;
  78.                          offset : CARDINAL;
  79.                          left, top : INTEGER);
  80. (* Initialize coordinates *)
  81.  
  82. PROCEDURE SetUpSimpleBorder(VAR Coords: ARRAY OF CoordinateType;
  83.                        GadWidth, GadHeight : CARDINAL;
  84.                        VAR border : Border;
  85.                        Left, Top : INTEGER;
  86.                        Front, Back,
  87.                        count : BYTE;
  88.                Mode : DrawModeSet;
  89.                        NextBorder : BorderPtr);
  90. (* Initialize a border *)
  91.  
  92. PROCEDURE AllocateStandardBorder(Width, Height : CARDINAL;
  93.                          Front, Back : BYTE;
  94.              Mode : DrawModeSet): BorderPtr;
  95. (* Create a simple rectangular border *)
  96.  
  97. PROCEDURE AllocateReqBorder(Width, Height : CARDINAL;
  98.                          Front, Back : BYTE;
  99.              Mode : DrawModeSet): BorderPtr;
  100. (* Same as AllocateStandardBorder, with minor   *)
  101. (* variation for requesters             *)
  102.  
  103. PROCEDURE InitGadget(VAR gadget : Gadget;
  104.                       Left, Top : INTEGER;
  105.                       width, height : INTEGER;
  106.                       flags : GadgetFlagsSet;
  107.                       Activate : GadgetActivationSet;
  108.                       Type : GadgetTypeSet;
  109.                       Render : ADDRESS;
  110.                       Select : ADDRESS;
  111.                       Special: ADDRESS;
  112.                       ID     : CARDINAL;
  113.                       User   : ADDRESS;
  114.                       Text   : IntuiTextPtr) : GadgetPtr;
  115. (* Initialize a gadget *)
  116.  
  117. PROCEDURE AddGadgetToList(VAR GadList : GadgetPtr;
  118.                           Left, Top : INTEGER;
  119.                           width, height : INTEGER;
  120.                           flags : GadgetFlagsSet;
  121.                           Activate : GadgetActivationSet;
  122.                           Type : GadgetTypeSet;
  123.                           Render : ADDRESS;
  124.                           Select : ADDRESS;
  125.                           Special: ADDRESS;
  126.                           ID     : CARDINAL;
  127.                           User   : ADDRESS;
  128.                           Text   : IntuiTextPtr) : GadgetPtr;
  129. (* Initialize a gadget and add it to a gadget list *)
  130.  
  131. PROCEDURE OpenSimpleScreen(width,height,depth : CARDINAL;
  132.                        modeset : ViewModesSet;
  133.                Title : ADDRESS) : ScreenPtr;
  134.  
  135. PROCEDURE OpenSimpleWindow(width,height,left,top : CARDINAL;
  136.             title : ADDRESS;
  137.             flags : WindowFlagsSet;
  138.             idcmpflags : IDCMPFlagsSet;
  139.             gadget : GadgetPtr;
  140.             screen : ScreenPtr) : WindowPtr;
  141.  
  142.  
  143. PROCEDURE SetScreenColors(screen : ScreenPtr;
  144.               data : ARRAY OF CHAR);
  145.  
  146. END IntuiCommon.
  147.