home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Asl.def < prev    next >
Text File  |  1994-05-25  |  6KB  |  175 lines

  1. |##########|
  2. |#MAGIC   #|CLABLOAK
  3. |#PROJECT #|"IMPORTAll"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x-xxx--x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx-xx---
  9. |##########|
  10. DEFINITION MODULE Asl;
  11.  
  12. FROM System   IMPORT SysStringPtr,Regs,PROC;
  13. FROM Exec     IMPORT LibraryPtr;
  14. FROM Graphics IMPORT TextAttr,DrawModeSet,FontStyleSet,FontFlagSet;
  15. FROM Utility  IMPORT tagUser,TagListPtr,StdTags;
  16.  
  17. TYPE
  18.   AslRequesterPtr = POINTER TO AslRequester;
  19.   AslRequester    = RECORD END;
  20.  
  21.   WindowPtr  = DEFERRED POINTER Intuition.WindowPtr;
  22.   WBArgPtr   = DEFERRED POINTER Workbench.WBArgPtr;
  23.  
  24.   |
  25.   | don't extend the following structure, as it will change in the future
  26.   |
  27.   FileRequesterPtr = POINTER TO FileRequester;
  28.   FileRequester    = RECORD OF AslRequester
  29.                reserved1  :  ANYPTR;
  30.                file       :  SysStringPtr; | filename
  31.                dir        :  SysStringPtr; | directoryname
  32.                reserved2  :  ANYPTR;
  33.                reserved3  :  SHORTCARD;
  34.                reserved4  :  SHORTCARD;
  35.                reserved5  :  ANYPTR;
  36.                leftEdge   :  INTEGER;      | Preferred window pos
  37.                topEdge    :  INTEGER;
  38.                width      :  INTEGER;      | Preferred window size
  39.                height     :  INTEGER;
  40.                reserved6  :  INTEGER;
  41.                numArgs    :  LONGINT;      | for multiselects
  42.                arglist    :  WBArgPtr;     | a la WB Args
  43.                userData   :  ANYPTR;       | Applihandle (you may
  44.                            | write!!)
  45.                reserved7  :  ANYPTR;
  46.                reserved8  :  ANYPTR;
  47.                pat        :  SysStringPtr; | Pattern match Pointer
  48.              END; | note - more reserved fields follow
  49.  
  50.  
  51.   FileFuncFlags    = (
  52.            patGad,          | ask for pattern gadget
  53.            multiSelect = 3, | request multiple selections
  54.                     | (not for save)
  55.            newIDCMP,        | Force a new IDCMP (if window != NULL)
  56.            save,            | for a SAVE operation
  57.            doMsgFunc,       | Called with Object=IDCMP message
  58.                     | for other window of shared port.
  59.                     | You must return pointer to Object,
  60.                     | asl will reply the Object for you
  61.            doWildFunc,      | Called with an Object=AnchorPath,
  62.                     | ZERO return accepts.
  63.            fff31 = 31       | to make the SET a longword
  64.            );
  65.   FileFuncFlagSet  =  SET OF FileFuncFlags;
  66.  
  67. |
  68. | The following additional flags may be passed with the
  69. | ASL_ExtFlags1 tag.
  70. |
  71.  
  72.   FileExtFlags     = ( noFiles, matchDirs, fileefDummy=31 );
  73.   FileExtFlagSet   = SET OF FileExtFlags;
  74.  
  75.   FontRequesterPtr = POINTER TO FontRequester;
  76.   FontRequester    = RECORD OF AslRequester
  77.                reserved1  :  ARRAY [2] OF ANYPTR;
  78.                attr       :  TextAttr;  | Returned TextAttr
  79.                frontPen   :  SHORTCARD; | Returned Pens,
  80.                         | if selected
  81.                backPen    :  SHORTCARD;
  82.                drawMode   :  DrawModeSet;
  83.                userData   :  ANYPTR;
  84.              END;
  85.  
  86.   FontFuncFlags    = (frontColor, backColor, styles, drawMode, fixedWidth,
  87.               newIdcmp, doMsgFunc, doWildFunc, fontffDummy = 31);
  88.   FontFuncFlagSet  = SET OF FontFuncFlags;
  89.  
  90.   RequestType      = (fileRequest, fontRequest);
  91.  
  92.   ModeArray        = ARRAY OF SysStringPtr;
  93.  
  94.   AslTags          = TAGS OF StdTags
  95.                dummy           =  tagUser +$80000;
  96.                hail            :  SysStringPtr;
  97.                window          :  WindowPtr;
  98.                leftEdge        :  LONGINT;
  99.                topEdge         :  LONGINT;
  100.                width           :  LONGINT;
  101.                height          :  LONGINT;
  102.                hookFunc        :  PROC;
  103.                file            :  SysStringPtr;
  104.                dir             :  SysStringPtr;
  105.                fontName        :  SysStringPtr;
  106.                fontHeight      :  LONGCARD;
  107.                fontStyles      :  FontStyleSet;
  108.                fontFlags       :  FontFlagSet;
  109.                frontPen        :  LONGCARD;       | SHORTCARD
  110.                backPen         :  LONGCARD;       | SHORTCARD
  111.                minHeight       :  LONGCARD;       | CARDINAL
  112.                maxHeight       :  LONGCARD;       | CARDINAL
  113.                okText          :  SysStringPtr;
  114.                cancelText      :  SysStringPtr;
  115.                fileFuncFlags   :  FileFuncFlagSet;
  116.                fontFuncFlags = tagUser+ $80000 + 20 : FontFuncFlagSet;
  117.                modeList        :  POINTER TO ModeArray;
  118.                extFlags1       :  FileExtFlagSet;
  119.                pattern       = tagUser+ $80000 + 10 :  SysStringPtr;
  120.              END;
  121.  
  122.   AslTagAPtr       = POINTER TO AslTagA;
  123.   AslTagA          = ARRAY OF AslTags;
  124.  
  125. VAR
  126.   AslBase         :  LibraryPtr;
  127.  
  128.  
  129. LIBRARY AslBase BY -30
  130.   PROCEDURE AllocFileRequest(): FileRequesterPtr;
  131.  
  132. LIBRARY AslBase BY -36
  133.   PROCEDURE FreeFileRequest( fileReq IN A0 : FileRequesterPtr );
  134.  
  135. LIBRARY AslBase BY -42
  136.   PROCEDURE RequestFile( fileReq IN A0: FileRequesterPtr ): BOOLEAN;
  137.  
  138. LIBRARY AslBase BY -48
  139.   PROCEDURE AllocAslRequest(type    IN D0: RequestType;
  140.                 tagList IN A0: LIST OF AslTags): AslRequesterPtr;
  141.  
  142. LIBRARY AslBase BY -48
  143.   PROCEDURE AllocAslRequestA( type    IN D0: RequestType;
  144.                   tagList IN A0: AslTagAPtr ): AslRequesterPtr;
  145.  
  146. LIBRARY AslBase BY -54
  147.   PROCEDURE FreeAslRequest( request IN A0: AslRequesterPtr );
  148.  
  149. LIBRARY AslBase BY -60
  150.   PROCEDURE AslRequest( request IN A0: AslRequesterPtr;
  151.             tagList IN A1: LIST OF AslTags ): BOOLEAN;
  152.  
  153. LIBRARY AslBase BY -60
  154.   PROCEDURE AslRequestA( request IN A0: AslRequesterPtr;
  155.              tagList IN A1: AslTagAPtr ): BOOLEAN;
  156.  
  157.  
  158. GROUP
  159.  
  160.   ProcGrp          = AllocAslRequest,AllocAslRequestA,AllocFileRequest,
  161.              AslRequest,AslRequestA,FreeAslRequest,
  162.              FreeFileRequest,RequestFile;
  163.  
  164.   TypeGrp          = AslTagA,AslTagAPtr,AslTags,ModeArray,
  165.              FileExtFlags,FileExtFlagSet,FileFuncFlags,
  166.              FileFuncFlagSet,FileRequester,FileRequesterPtr,
  167.              FontFuncFlags,FontFuncFlagSet,FontRequester,
  168.              FontRequesterPtr,RequestType;
  169.  
  170.   All              = TypeGrp,ProcGrp;
  171.  
  172. END Asl.
  173.  
  174.  
  175.