home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------------------------
- :Program. ReqTools
- :Contents. Interface to Nico François' reqtools.library
- :Author. Kai Bolay [kai] (C-Version by Nico François)
- :Address. Hoffmannstraße 168
- :Address. D-7250 Leonberg 1 (Germany)
- :Address. UUCP: ...!cbmvax!cbmehq!cbmger!depot1!amokle!kai
- :Address. FIDO: 2:247/706.3
- :History. v1.0 [kai] 22-Nov-91 (translated from C)
- :History. v2.0 [kai] 31-Jan-92 (fixed bug in ReqToolsBase)
- :History. v2.0n [Nico] 7-Mar-92 (comment added about ta.name bug)
- :History. v2.0 [kai] 14-May-92 (updated for V38)
- :History. v2.0n [Nico] 3-Jun-92 (cleanup, added V38 functions)
- :History. v2.0k [kai] 12-Jun-92 (made compile)
- :Copyright. Freeware
- :Language. Oberon
- :Translator. AMIGA OBERON v2.39d, A+L AG
- :Translator. In order to compile with older versions of the compiler
- :Translator. change "UNTRACED POINTER" to "POINTER" and "-" to "*"
- :Remark. Thanks to Nico for his great library
- :Remark. Thanks to Christian Stiens for finding a bug
- :Bugs. ReqTools/Arq should support each other
- :Bugs. Font-Hook: ta.name can contain odd pointer :-(
- :Bugs. <odd Pointer is fault of AvailFonts function> - Nico
- ------------------------------------------------------------------------ *)
-
- (*
- ** Filename: reqtools.mod
- ** Release: 2.0
- **
- ** Oberon interface.
- **
- ** (C) Copyright 1991/1992 Nico François
- ** All Rights Reserved
- *)
-
- MODULE ReqTools;
-
- IMPORT
- e: Exec, d: Dos, I: Intuition, g: Graphics, u: Utility;
-
- CONST
- ReqToolsName* = "reqtools.library";
- ReqToolsVersion* = 38;
-
- TYPE
- ReqToolsBasePtr* = UNTRACED POINTER TO ReqToolsBase;
- ReqToolsBase* = STRUCT (libNode*: e.Library)
- flags-: SHORTSET;
- pad0, pad1, pad2: SHORTINT;
- segList-: e.BPTR;
- (* The following library bases may be read and used by your program *)
- intuitionBase-: I.IntuitionBasePtr;
- gfxBase-: g.GfxBasePtr;
- dosBase-: d.DosLibraryPtr;
- (* Next two library bases are only (and always) valid on Kickstart 2.0!
- (1.3 version of reqtools also initializes these when run on 2.0) *)
- gadToolsBase-: e.LibraryPtr;
- utilityBase-: e.LibraryPtr;
- END;
-
- CONST
- (* types of requesters, for AllocRequestA() *)
- TypeFileReq* = 0;
- TypeReqInfo* = 1;
- TypeFontReq* = 2;
- TypeScreenModeReq* = 3;
-
- TYPE
- ReqToolsReqPtr * = UNTRACED POINTER TO ReqToolsReq;
- ReqToolsReq * = STRUCT END; (* make them compatible.. *)
-
-
- (***********************
- * *
- * File requester *
- * *
- ***********************)
-
- (* structure _MUST_ be allocated with AllocRequest() *)
-
- TYPE
- FileRequesterPtr* = UNTRACED POINTER TO FileRequester;
- FileRequester* = STRUCT (dummy: ReqToolsReq)
- reqPos*: LONGINT;
- leftOffset*: INTEGER;
- topOffset*: INTEGER;
- flags*: LONGSET;
- (* OBSOLETE IN V38! DON'T USE! *) hook*: u.HookPtr;
- dir-: e.STRPTR; (* READ ONLY! Change with ChangeReqAttrA()! *)
- matchPat-: e.STRPTR; (* READ ONLY! Change with ChangeReqAttrA()! *)
- defaultFont*: g.TextFontPtr;
- waitPointer*: e.ADDRESS;
- (* V38 *)
- lockWindow*: LONGINT;
- shareIDCMP*: LONGINT;
- intuiMsgFunc*: u.HookPtr;
- reserved1*: INTEGER;
- reserved2*: INTEGER;
- reserved3*: INTEGER;
- reqHeight-: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
- (* Private data follows! HANDS OFF :-) *)
- END;
-
- (* returned by FileRequestA() if multiselect is enabled,
- free list with FreeFileList() *)
-
- FileListPtr* = UNTRACED POINTER TO FileList;
- FileList* = STRUCT
- next*: FileListPtr;
- strLen*: LONGINT; (* -1 for directories *)
- name*: e.STRPTR;
- END;
-
- (* structure passed to RTFI_FilterFunc callback hook by
- volume requester (see RTFI_VolumeRequest tag) *)
-
- VolumeEntryPtr* = UNTRACED POINTER TO VolumeEntry;
- VolumeEntry* = STRUCT
- type*: LONGINT; (* DLT_DEVICE or DLT_DIRECTORY *)
- name*: e.STRPTR;
- END;
-
- (***********************
- * *
- * Font requester *
- * *
- ***********************)
-
- (* structure _MUST_ be allocated with AllocRequest() *)
-
- FontRequesterPtr* = UNTRACED POINTER TO FontRequester;
- FontRequester* = STRUCT (dummy: ReqToolsReq)
- reqPos*: LONGINT;
- leftOffset*: INTEGER;
- topOffset*: INTEGER;
- flags*: LONGSET;
- (* OBSOLETE IN V38! DON'T USE! *) hook*: u.HookPtr;
- attr-: g.TextAttr; (* READ ONLY! *)
- defaultFont*: g.TextFontPtr;
- waitPointer*: e.ADDRESS;
- (* V38 *)
- lockWindow*: LONGINT;
- shareIDCMP*: LONGINT;
- intuiMsgFunc*: u.HookPtr;
- reserved1*: INTEGER;
- reserved2*: INTEGER;
- reserved3*: INTEGER;
- reqHeight-: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
- (* Private data follows! HANDS OFF :-) *)
- END;
-
-
- (*************************
- * *
- * ScreenMode requester *
- * *
- *************************)
-
- (* structure _MUST_ be allocated with rtAllocRequest() *)
-
- ScreenModeRequesterPtr = UNTRACED POINTER TO ScreenModeRequester;
- ScreenModeRequester = STRUCT (dummy: ReqToolsReq)
- reqPos*: LONGINT;
- leftOffset*: INTEGER;
- topOffset*: INTEGER;
- flags*: LONGSET;
- private1*: LONGINT;
- displayID-: LONGINT; (* READ ONLY! *)
- displayWidth-: INTEGER; (* READ ONLY! *)
- displayHeight-: INTEGER; (* READ ONLY! *)
- defaultFont*: g.TextFontPtr;
- waitPointer*: e.ADDRESS;
- lockWindow*: LONGINT;
- shareIDCMP*: LONGINT;
- intuiMsgFunc*: u.HookPtr;
- reserved1*: INTEGER;
- reserved2*: INTEGER;
- reserved3*: INTEGER;
- reqHeight-: INTEGER; (* READ ONLY! Use RTFI_Height tag! *)
- displayDepth*: INTEGER;
- overscanType*: INTEGER;
- autoScroll*: LONGINT;
- (* Private data follows! HANDS OFF :-) *)
- END;
-
- (***********************
- * *
- * Requester Info *
- * *
- ***********************)
-
- (* for EZRequestA(), GetLongA(), GetStringA() and PaletteRequestA(),
- _MUST_ be allocated with AllocRequest() *)
-
- ReqInfoPtr* = UNTRACED POINTER TO ReqInfo;
- ReqInfo* = STRUCT (dummy: ReqToolsReq)
- reqPos*: LONGINT;
- leftOffset*: INTEGER;
- topOffset*: INTEGER;
- width*: LONGINT; (* not for EZRequestA() *)
- reqTitle*: e.STRPTR; (* currently only for EZRequestA() *)
- flags*: LONGSET;
- defaultFont*: g.TextFontPtr; (* currently only for PaletteRequestA() *)
- waitPointer*: e.ADDRESS;
- (* V38 *)
- lockWindow: LONGINT;
- shareIDCMP: LONGINT;
- intuiMsgFunc: u.HookPtr;
- (* structure may be extended in future *)
- END;
-
- (***********************
- * *
- * Handler Info *
- * *
- ***********************)
-
- (* for ReqHandlerA(), will be allocated for you when you use
- the ReqHandler tag, never try to allocate this yourself! *)
-
- HandlerInfoPtr* = UNTRACED POINTER TO HandlerInfo;
- HandlerInfo* = STRUCT
- private1: LONGINT;
- waitMask*: LONGSET;
- doNotWait*: I.LONGBOOL; (* ? *)
- (* Private data follows, HANDS OFF :-) *)
- END;
-
- (* possible return codes from ReqHandlerA() *)
- CONST
- CallHandler* = 080000000H;
-
-
- (*************************************
- * *
- * TAGS *
- * *
- *************************************)
-
- TagBase* = u.user;
-
- (*** tags understood by most requester functions ***)
- (* optional pointer to window *)
- Window* = TagBase+1;
- (* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) *)
- IDCMPFlags* = TagBase+2;
- (* position of requester window (see below) - default REQPOS_POINTER *)
- ReqPos* = TagBase+3;
- (* signal mask to wait for abort signal *)
- LeftOffset* = TagBase+4;
- (* topedge offset of requester relative to position specified by ReqPos *)
- TopOffset* = TagBase+5;
- (* name of public screen to put requester on (Kickstart 2.0 only!) *)
- PubScrName* = TagBase+6;
- (* address of screen to put requester on *)
- Screen* = TagBase+7;
- (* tagdata must hold the address of (!) an APTR variable *)
- DoReqHandler* = TagBase+8;
- (* font to use when screen font is rejected, _MUST_ be fixed-width font!
- (struct TextFont *, not struct TextAttr *!)
- - default GfxBase->DefaultFont *)
- DefaultFont* = TagBase+9;
- (* boolean to set the standard wait pointer in window - default FALSE *)
- WaitPointer* = TagBase+10;
- (* (V38) char preceding keyboard shortcut characters (will be underlined) *)
- Underscore* = TagBase+11;
- (* (V38) share IDCMP port with window - default FALSE *)
- ShareIDCMP* = TagBase+12;
- (* (V38) lock window and set standard wait pointer - default FALSE *)
- LockWindowTag* = TagBase+13;
- (* (V38) boolean to make requester's screen pop to front - default TRUE *)
- ScreenToFront* = TagBase+14;
- (* (V38) Requester should use this font - default: screen font *)
- TextAttr* = TagBase+15;
- (* (V38) call this hook for every IDCMP message not for requester *)
- IntuiMsgFunc* = TagBase+16;
- (* (V38) Locale ReqTools should use for text *)
- Locale* = TagBase+17;
-
- (*** tags specific to EZRequestA ***
- *)
- (* title of requester window - default "Request" or "Information" *)
- ezReqTitle* = TagBase+20;
- (* TagBase+21 reserved *)
- (* various flags (see below) *)
- ezFlags* = TagBase+22;
- (* default response (activated by pressing RETURN) - default TRUE *)
- ezDefaultResponse* = TagBase+23;
-
- (*** tags specific to GetLongA ***
- *)
- (* minimum allowed value - default MININT *)
- glMin* = TagBase+30;
- (* maximum allowed value - default MAXINT *)
- glMax* = TagBase+31;
- (* suggested width of requester window (in pixels) *)
- glWidth* = TagBase+32;
- (* boolean to show the default value - default TRUE *)
- glShowDefault* = TagBase+33;
- (* (V38) string with possible responses - default " _Ok |_Cancel" *)
- glGadFmt * = TagBase+34;
- (* (V38) optional arguments for RTGL_GadFmt *)
- glGadFmtArgs* = TagBase+35;
- (* (V38) invisible typing - default FALSE *)
- glInvisible* = TagBase+36;
- (* (V38) window backfill - default TRUE *)
- glBackFill* = TagBase+37;
- (* (V38) optional text above gadget *)
- glTextFmt* = TagBase+38;
- (* (V38) optional arguments for RTGS_TextFmt *)
- glTextFmtArgs* = TagBase+39;
- (* (V38) various flags (see below) *)
- glFlags* = ezFlags;
-
- (*** tags specfic to GetStringA ***
- *)
- (* suggested width of requester window (in pixels) *)
- gsWidth* = glWidth;
- (* allow empty string to be accepted - default FALSE *)
- gsAllowEmpty* = TagBase+80;
- (* (V38) string with possible responses - default " _Ok |_Cancel" *)
- gsGadFmt * = glGadFmt;
- (* (V38) optional arguments for RTGS_GadFmt *)
- gsGadFmtArgs* = glGadFmtArgs;
- (* (V38) invisible typing - default FALSE *)
- gsInvisible* = glInvisible;
- (* (V38) window backfill - default TRUE *)
- gsBackFill* = glBackFill;
- (* (V38) optional text above gadget *)
- gsTextFmt* = glTextFmt;
- (* (V38) optional arguments for RTGS_TextFmt *)
- gsTextFmtArgs* = glTextFmtArgs;
- (* (V38) various flags (see below) *)
- gsFlags* = ezFlags;
-
- (*** tags specific to FileRequestA ***
- *)
- (* various flags (see below) *)
- fiFlags* = TagBase+40;
- (* suggested height of file requester *)
- fiHeight* = TagBase+41;
- (* replacement text for 'Ok' gadget (max 6 chars) *)
- fiOkText* = TagBase+42;
- (* (V38) bring up volume requester, tag data holds flags (see below) *)
- fiVolumeRequest* = TagBase+43;
- (* (V38) call this hook for every file in the directory *)
- fiFilterFunc* = TagBase+44;
- (* (V38) allow empty file to be accepted - default FALSE *)
- fiAllowEmpty* = TagBase+45;
-
- (*** tags specific to FontRequestA ***
- *)
- (* various flags (see below) *)
- foflags* = fiFlags;
- (* suggested height of font requester *)
- foHeight* = fiHeight;
- (* replacement text for 'Ok' gadget (max 6 chars) *)
- foOkText* = fiOkText;
- (* suggested height of font sample display - default 24 *)
- foSampleHeight= TagBase+60;
- (* minimum height of font displayed *)
- foMinHeight* = TagBase+61;
- (* maximum height of font displayed *)
- foMaxHeight* = TagBase+62;
- (* [TagBase+63 to TagBase+66 used below] *)
- (* (V38) call this hook for every font *)
- foFilterFunc* = fiFilterFunc;
-
- (*** (V38) tags for rtScreenModeRequestA ***
- *)
- (* various flags (see below) *)
- scFlags* = fiFlags;
- (* suggested height of screenmode requester *)
- scHeight* = fiHeight;
- (* replacement text for 'Ok' gadget (max 6 chars) *)
- scOkText* = fiOkText;
- (* property flags (see also RTSC_PropertyMask) *)
- scPropertyFlags* = TagBase+90;
- (* property mask - default all bits in RTSC_PropertyFlags considered *)
- scPropertyMask* = TagBase+91;
- (* minimum display width allowed *)
- scMinWidth* = TagBase+92;
- (* maximum display width allowed *)
- scMaxWidth* = TagBase+93;
- (* minimum display height allowed *)
- scMinHeight* = TagBase+94;
- (* maximum display height allowed *)
- scMaxHeight* = TagBase+95;
- (* minimum display depth allowed *)
- scMinDepth* = TagBase+96;
- (* maximum display depth allowed *)
- scMaxDepth* = TagBase+97;
- (* call this hook for every display mode id *)
- scFilterFunc* = fiFilterFunc;
-
- (*** tags for ChangeReqAttrA ***
- *)
- (* file requester - set directory *)
- fiDir* = TagBase+50;
- (* file requester - set wildcard pattern *)
- fiMatchPat* = TagBase+51;
- (* file requester - add a file or directory to the buffer *)
- fiAddEntry* = TagBase+52;
- (* file requester - remove a file or directory from the buffer *)
- fiRemoveEntry* = TagBase+53;
- (* font requester - set font name of selected font *)
- foFontName* = TagBase+63;
- (* font requester - set font size *)
- foFontHeight* = TagBase+64;
- (* font requester - set font style *)
- foFontStyle* = TagBase+65;
- (* font requester - set font flags *)
- foFontFlags* = TagBase+66;
- (* (V38) screenmode requester - get display attributes from screen *)
- scModeFromScreen* = TagBase+80;
- (* (V38) screenmode requester - set display mode id (32-bit extended) *)
- scDisplayID* = TagBase+81;
- (* (V38) screenmode requester - set display width *)
- scDisplayWidth* = TagBase+82;
- (* (V38) screenmode requester - set display height *)
- scDisplayHeight* = TagBase+83;
- (* (V38) screenmode requester - set display depth *)
- scDisplayDepth* = TagBase+84;
- (* (V38) screenmode requester - set overscan type, 0 for regular size *)
- scOverscanType* = TagBase+85;
- (* (V38) screenmode requester - set autoscroll *)
- scAutoScroll* = TagBase+86;
-
- (*** tags for PaletteRequestA ***
- *)
- (* initially selected color - default 1 *)
- paColor* = TagBase+70;
-
- (*** tags for ReqHandlerA ***
- *)
- (* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
- in case of EZRequest to the return value *)
- rhEndRequest* = TagBase+60;
-
- (*** tags for AllocRequestA ***)
- (* no tags defined yet *)
-
-
- (************
- * ReqPos *
- ************)
- ReqPosPointer* = 0;
- ReqPosCenterWin* = 1;
- ReqPosCenterScr* = 2;
- ReqPosTopLeftWin* = 3;
- ReqPosTopLeftScr* = 4;
-
- (******************
- * RTRH_EndRequest *
- ******************)
- ReqCancel* = 0;
- ReqOK* = 1;
-
- (***************************************
- * flags for RTFI_Flags and RTFO_Flags *
- * or filereq->Flags and fontreq->Flags *
- ***************************************)
- fReqNoBuffer* = 2;
-
- (*****************************************
- * flags for RTFI_Flags or filereq->Flags *
- *****************************************)
- fReqMultiSelect* = 0;
- fReqSave* = 1;
- fReqNoFiles* = 3;
- fReqPatGad* = 4;
- fReqSelectDirs* = 12;
-
- (*****************************************
- * flags for RTFO_Flags or fontreq->Flags *
- *****************************************)
- fReqFixedWidth* = 5;
- fReqColorFonts* = 6;
- fReqChangePalette* = 7;
- fReqLeavePalette* = 8;
- fReqScale* = 9;
- fReqStyle* = 10;
-
- (*****************************************************
- * (V38) flags for RTSC_Flags or screenmodereq->Flags *
- *****************************************************)
- scReqSizeGads* = 13;
- scReqDepthGad* = 14;
- scReqNonStdModes* =15;
- scReqGuiModes* = 16;
- scReqAutoscrollGad* =18;
- scReqOverscanGad* =19;
-
- (*****************************************
- * flags for RTEZ_Flags or reqinfo->Flags *
- *****************************************)
- ezReqNoReturnKey* = 0;
- ezReqLamigaQual* = 1;
- ezReqCenterText* = 2;
-
- (***********************************************
- * (V38) flags for RTGL_Flags or reqinfo->Flags *
- ***********************************************)
- glReqCenterText* = ezReqCenterText;
- glReqHighlightText* = 3;
-
- (***********************************************
- * (V38) flags for RTGS_Flags or reqinfo->Flags *
- ***********************************************)
- gsReqCenterText* = ezReqCenterText;
- gsReqHighlightText* = glReqHighlightText;
-
- (*****************************************
- * (V38) flags for RTFI_VolumeRequest tag *
- *****************************************)
- vReqNoAssigns* = 0;
- vReqNoDisks* = 1;
- vReqAllDisks* = 2;
-
- (*
- Following things are obsolete in ReqTools V38.
- Don't use them in new code!
- *)
- fReqDoWildFunc* = 11;
- ReqHookWildFile* = 0;
- ReqHookWildFont* = 1;
-
- VAR
- req*: ReqToolsBasePtr;
-
- PROCEDURE AllocRequestA* {req, -30} (type{0}: LONGINT;
- tagList{8}: ARRAY OF u.TagItem): ReqToolsReqPtr;
- PROCEDURE AllocRequest* {req, -30} (type{0}: LONGINT;
- tag1{8}..: u.Tag): ReqToolsReqPtr;
- PROCEDURE FreeRequest* {req, -36} (req{9}: ReqToolsReqPtr);
- PROCEDURE FreeReqBuffer* {req, -42} (req{9}: ReqToolsReqPtr);
- PROCEDURE ChangeReqAttrA* {req, -48} (req{9}: ReqToolsReqPtr;
- tagList{8}: ARRAY OF u.TagItem);
- PROCEDURE ChangeReqAttr* {req, -48} (req{9}: ReqToolsReqPtr;
- tag1{8}..: u.Tag);
- PROCEDURE FileRequestA* {req, -54} (fileReq{9}: FileRequesterPtr;
- VAR fileName{10}: ARRAY OF CHAR;
- title{11}: ARRAY OF CHAR;
- tagList{8}: ARRAY OF u.TagItem): BOOLEAN;
- PROCEDURE FileRequest* {req, -54} (fileReq{9}: FileRequesterPtr;
- VAR fileName{10}: ARRAY OF CHAR;
- title{11}: ARRAY OF CHAR;
- tag1{8}..: u.Tag): BOOLEAN;
- PROCEDURE FreeFileList* {req, -60} (fileList{8}: FileListPtr);
- PROCEDURE EZRequestA* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- argarray{12}: e.APTR;
- tagList{8}: ARRAY OF u.TagItem): LONGINT;
- PROCEDURE EZRequestTags* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- argarray{12}: e.APTR;
- tag1{8}..: u.Tag):LONGINT;
- PROCEDURE EZRequest* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tagList{8}: ARRAY OF u.TagItem;
- argarray{12}..: e.APTR): LONGINT;
- (* Without result.... *)
- PROCEDURE vEZRequestA* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- argarray{12}: e.APTR;
- tagList{8}: ARRAY OF u.TagItem);
- PROCEDURE vEZRequestTags* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- argarray{12}: e.APTR;
- tag1{8}..: u.Tag);
- PROCEDURE vEZRequest* {req, -66} (bodyfmt{9}, gadfmt{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tagList{8}: ARRAY OF u.TagItem;
- argarray{12}..: e.APTR);
- PROCEDURE GetStringA* {req, -72} (VAR buffer{9}: ARRAY OF CHAR;
- maxchars{0}: LONGINT;
- title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tagList{8}: ARRAY OF u.TagItem): BOOLEAN;
- PROCEDURE GetString* {req, -72} (VAR buffer{9}: ARRAY OF CHAR;
- maxchars{0}: LONGINT;
- title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tag1{8}..: u.Tag): BOOLEAN;
- PROCEDURE GetLongA* {req, -78} (VAR long{9}: LONGINT; title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tagList{8}: ARRAY OF u.TagItem): BOOLEAN;
- PROCEDURE GetLong* {req, -78} (VAR long{9}: LONGINT; title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tag1{8}..: u.Tag): BOOLEAN;
- PROCEDURE FontRequestA* {req, -96} (fontReq{9}: FontRequesterPtr;
- title{11}: ARRAY OF CHAR;
- tagList{8}: ARRAY OF u.TagItem): BOOLEAN;
- PROCEDURE FontRequest* {req, -96} (fontReq{9}: FontRequesterPtr;
- title{11}: ARRAY OF CHAR;
- tag1{8}..: u.Tag):BOOLEAN;
- PROCEDURE PaletteRequestA* {req, -102} (title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tagList{8}: ARRAY OF u.TagItem): LONGINT;
- PROCEDURE PaletteRequest* {req, -102} (title{10}: ARRAY OF CHAR;
- reqInfo{11}: ReqInfoPtr;
- tag1{8}..: u.Tag): LONGINT;
- PROCEDURE ReqHandlerA* {req, -108} (hinfo{9}: HandlerInfoPtr;
- sigs{0}: LONGSET;
- tagList{8}: ARRAY OF u.TagItem): LONGINT;
- PROCEDURE ReqHandler* {req, -108} (hinfo{9}: HandlerInfoPtr;
- sigs{0}: LONGSET;
- tag1{8}..: u.Tag): LONGINT;
- PROCEDURE SetWaitPointer* {req, -114} (window{8}: I.WindowPtr);
- PROCEDURE GetVScreenSize* {req, -120} (screen{8}: I.ScreenPtr;
- VAR width{9},height{10}: LONGINT);
- PROCEDURE SetReqPosition* {req, -126} (reqpos{0}: LONGINT;
- VAR nw{8}: I.NewWindow;
- screen{9}: I.ScreenPtr;
- window{10}: I.WindowPtr);
- PROCEDURE Spread* {req, -132} (VAR posarray{8}: ARRAY OF LONGINT;
- sizearray{9}: ARRAY OF LONGINT;
- totalsize{0}, min{1}, max{2}, num{3}: LONGINT);
- PROCEDURE ScreenToFrontSafely* {req, -138} (screen{8}: I.ScreenPtr);
-
- (*--- functions in V38 or higher (distributed as Release 2.0) ---*)
- PROCEDURE ScreenModeRequestA* {req, -144} (screenmodeReq{9}: ScreenModeRequesterPtr;
- title{11}: ARRAY OF CHAR;
- tagList{8}: ARRAY OF u.TagItem): BOOLEAN;
- PROCEDURE ScreenModeRequest* {req, -144} (screenmodeReq{9}: ScreenModeRequesterPtr;
- title{11}: ARRAY OF CHAR;
- tag1{8}..: u.Tag): BOOLEAN;
- PROCEDURE CloseWindowSafely* {req, -150} (window{8}: I.WindowPtr);
- PROCEDURE LockWindow* {req, -156} (window{8}: I.WindowPtr): LONGINT;
- PROCEDURE UnlockWindow* {req, -162} (window{8}: I.WindowPtr;
- winlock{9}: LONGINT);
-
- PROCEDURE Assert* (c: BOOLEAN; txt: ARRAY OF CHAR);
- BEGIN
- IF NOT c THEN
- vEZRequest (txt, "Abort", NIL, NIL);
- HALT (20);
- END;
- END Assert;
-
- BEGIN
- req := e.OpenLibrary (ReqToolsName, ReqToolsVersion);
- IF req = NIL THEN
- IF I.DisplayAlert (I.recoveryAlert,
- "\x00\x64\x14missing reqtools.library V38\o\o", 50) THEN END;
- HALT (20)
- END; (* IF *)
- CLOSE
- IF req # NIL THEN
- e.CloseLibrary (req);
- req := NIL;
- END; (* IF *)
- END ReqTools.
-