home *** CD-ROM | disk | FTP | other *** search
-
- { ReqTools (V38) interface for HSPascal }
- { }
- { ReqTools is (C) Copyright 1991/1992 by Nico François }
- { }
- { HSPascal interface v1.2 © 1992 by Gunter Indenhoek }
-
- Unit ReqTools;
-
- Interface
- Uses Exec,AmigaDOS,Intuition,Graphics,Init,Utility;
-
- Const
-
- REQTOOLSNAME = 'reqtools.library';
- REQTOOLSVERSION = 38;
-
- Type
-
- { for Dosnames like Dir, Fontnames, etc. }
-
- pString = ^tString;
- tString = String;
-
- { array to pass your arguments to EZRequestA() }
-
- argarray = array[0..31] of LongInt;
-
- { array to pass your flags to reqtools-requesters }
-
- preqtaglist = ^treqtaglist;
-
- treqtaglist = array[0..32] of tTagItem;
-
- { library - base }
-
- pReqToolsBase = ^tReqToolsBase;
-
- tReqToolsBase =
- Record
- Lib_Node: pLibrary;
- Flags: ShortInt;
- Pad: Array[0..2] of ShortInt;
- SegList: BPTR;
- { The following library bases may be read and used by your program }
- IntuitionBase: ^tIntuitionBase;
- GfxBase: ^tGfxBase;
- DOSBase: ^tDosLibrary;
- { 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: pLibrary;
- UtilityBase: pLibrary;
- end;
-
- Const
-
- { types of requesters, for rtAllocRequestA() }
-
- RT_FILEREQ = 0;
- RT_REQINFO = 1;
- RT_FONTREQ = 2;
- { (V38) }
- RT_SCREENMODEREQ = 3;
-
- {***********************
- * *
- * File requester *
- * *
- ***********************}
-
- type
-
- { structure _MUST_ be allocated with rtAllocRequest() }
-
- prtFileRequester = ^trtFileRequester;
-
- trtFileRequester = Record
- ReqPos: LongInt;
- LeftOffset: Integer;
- TopOffset: Integer;
- Flags: LongInt;
- { OBSOLETE IN V38! DON'T USE! } Hook: pHook;
- Dir: pString; { READ ONLY! Change with rtChangeReqAttrA()! }
- MatchPat: pString; { READ ONLY! Change with rtChangeReqAttrA()! }
- DefaultFont: pTextFont;
- WaitPointer: LongInt;
- { (V38) }
- LockWindow: LongInt;
- ShareIDCMP: LongInt;
- IntuiMsgFunc: pHook;
- reserved1: Integer;
- reserved2: Integer;
- reserved3: Integer;
- ReqHeight: Integer; { READ ONLY! Use RTFI_Height tag! }
- { Private data follows! HANDS OFF }
- end;
-
- { returned by rtFileRequestA() if multiselect is enabled,
- free list with rtFreeFileList() }
-
- prtFileList = ^trtFileList;
-
- trtFileList = Record
- Next: prtFileList;
- StrLen: LongInt; { -1 for directories }
- Name: pString;
- end;
-
- {***********************
- * *
- * Font requester *
- * *
- ***********************}
-
- { structure _MUST_ be allocated with rtAllocRequest() }
-
- prtFontRequester = ^trtFontRequester;
-
- trtFontRequester = Record
- ReqPos: LongInt;
- LeftOffset: Integer;
- TopOffset: Integer;
- Flags: LongInt;
- { OBSOLETE IN V38! DON'T USE! } Hook: pHook;
- Attr: tTextAttr; { READ ONLY! }
- DefaultFont: pTextFont;
- WaitPointer: LongInt;
- { (V38) }
- LockWindow: LongInt;
- ShareIDCMP: LongInt;
- IntuiMsgFunc: pHook;
- reserved1: Integer;
- reserved2: Integer;
- reserved3: Integer;
- ReqHeight: Integer; { READ ONLY! Use RTFO_Height tag! }
- { Private data follows! HANDS OFF }
- end;
-
- {*************************
- * *
- * ScreenMode requester *
- * *
- *************************}
-
- { structure _MUST_ be allocated with rtAllocRequest() }
-
- prtScreenModeRequester = ^trtScreenModeRequester;
-
- trtScreenModeRequester = Record
- ReqPos: LongInt;
- LeftOffset: Integer;
- TopOffset: Integer;
- Flags: LongInt;
- private1: LongInt;
- DisplayID: LongInt; { READ ONLY! }
- DisplayWidth: Integer; { READ ONLY! }
- DisplayHeight: Integer; { READ ONLY! }
- DefaultFont: pTextFont;
- WaitPointer: LongInt;
- LockWindow: LongInt;
- ShareIDCMP: LongInt;
- IntuiMsgFunc: pHook;
- reserved1: Integer;
- reserved2: Integer;
- reserved3: Integer;
- ReqHeight: Integer; { READ ONLY! Use RTSC_Height tag! }
- DisplayDepth: Integer; { READ ONLY! }
- OverscanType: Integer; { READ ONLY! }
- AutoScroll: LongInt; { READ ONLY! }
- { Private data follows! HANDS OFF }
- end;
-
- {***********************
- * *
- * Requester Info *
- * *
- ***********************}
-
- { for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
- _MUST_ be allocated with rtAllocRequest() }
-
- prtReqInfo = ^ trtReqInfo;
-
- trtReqInfo = Record
- ReqPos: LongInt;
- LeftOffset: Integer;
- TopOffset: Integer;
- Width: LongInt; { not for rtEZRequestA() }
- ReqTitle: pString; { currently only for rtEZRequestA() }
- Flags: LongInt; { currently only for rtEZRequestA() }
- DefaultFont: pTextFont; { currently only for rtPaletteRequestA() }
- WaitPointer: LongInt;
- { (V38) }
- LockWindow: LongInt;
- ShareIDCMP: LongInt;
- IntuiMsgFunc: pHook;
- { structure may be extended in future }
- end;
-
- {***********************
- * *
- * Handler Info *
- * *
- ***********************}
-
- { for rtReqHandlerA(), will be allocated for you when you use
- the RT_ReqHandler tag, never try to allocate this yourself! }
-
- prtHandlerInfo = ^trtHandlerInfo;
-
- trtHandlerInfo = Record
- private1: LongInt;
- WaitMask: LongInt;
- DoNotWait: LongInt;
- { Private data follows, HANDS OFF }
- end;
-
- Const
-
- { possible return codes from rtReqHandlerA() }
-
- CALL_HANDLER = $80000000;
-
- {*************************************
- * *
- * TAGS *
- * *
- *************************************}
-
- RT_TagBase = TAG_USER;
-
- { *** tags understood by most requester functions *** }
- { Optional pointer to window }
- RT_Window = $80000001;
- { idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) }
- RT_IDCMPFlags = $80000002;
- { position of requester window (see below) - default REQPOS_POINTER }
- RT_ReqPos = $80000003;
- { signal mask to wait for abort signal }
- RT_LeftOffset = $80000004;
- { topedge offset of requester relative to position specified by RT_ReqPos }
- RT_TopOffset = $80000005;
- { name of public screen to put requester on (Kickstart 2.0 only!) }
- RT_PubScrName = $80000006;
- { address of screen to put requester on }
- RT_Screen = $80000007;
- { tagdata must hold the address of (!) an APTR variable }
- RT_ReqHandler = $80000008;
- { font to use when screen font is rejected, _MUST_ be fixed-width font!
- ( pTextFont , not pTextAttr )
- - default GfxBase^.DefaultFont }
- RT_DefaultFont = $80000009;
- { boolean to set the standard wait pointer in window - default FALSE }
- RT_WaitPointer = $8000000A;
- { (V38) char preceding keyboard shortcut characters (will be underlined) }
- RT_Underscore = $8000000B;
- { (V38) share IDCMP port with window - default FALSE }
- RT_ShareIDCMP = $8000000C;
- { (V38) lock window and set standard wait pointer - default FALSE }
- RT_LockWindow = $8000000D;
- { (V38) boolean to make requester's screen pop to front - default TRUE }
- RT_ScreenToFront = $8000000E;
- { (V38) Requester should use this font - default: screen font }
- RT_TextAttr = $8000000F;
- { (V38) call this hook for every IDCMP message not for requester }
- RT_IntuiMsgFunc = $80000010;
- { (V38) Locale ReqTools should use for text }
- RT_Locale = $80000011;
-
- { *** tags specific to rtEZRequestA *** }
- { title of requester window - english default "Request" or "Information" }
- RTEZ_ReqTitle = $80000014;
- { ($80000015) reserved }
- { various flags (see below) }
- RTEZ_Flags = $80000016;
- { default response (activated by pressing RETURN) - default TRUE }
- RTEZ_DefaultResponse = $80000017;
-
- { *** tags specific to rtGetLongA *** }
- { minimum allowed value - default MININT }
- RTGL_Min = $8000001E;
- { maximum allowed value - default MAXINT }
- RTGL_Max = $8000001F;
- { suggested width of requester window (in pixels) }
- RTGL_Width = $80000020;
- { boolean to show the default value - default TRUE }
- RTGL_ShowDefault = $80000021;
- { (V38) string with possible responses - english default " _Ok |_Cancel" }
- RTGL_GadFmt = $80000022;
- { (V38) optional arguments for RTGL_GadFmt }
- RTGL_GadFmtArgs = $80000023;
- { (V38) invisible typing - default FALSE }
- RTGL_Invisible = $80000024;
- { (V38) window backfill - default TRUE }
- RTGL_BackFill = $80000025;
- { (V38) optional text above gadget }
- RTGL_TextFmt = $80000026;
- { (V38) optional arguments for RTGS_TextFmt }
- RTGL_TextFmtArgs = $80000027;
- { (V38) various flags (see below) }
- RTGL_Flags = RTEZ_Flags;
-
- { *** tags specific to rtGetStringA *** }
- { suggested width of requester window (in pixels) }
- RTGS_Width = RTGL_Width;
- { allow empty string to be accepted - default FALSE }
- RTGS_AllowEmpty = $80000050;
- { (V38) string with possible responses - english default " _Ok |_Cancel" }
- RTGS_GadFmt = RTGL_GadFmt;
- { (V38) optional arguments for RTGS_GadFmt }
- RTGS_GadFmtArgs = RTGL_GadFmtArgs;
- { (V38) invisible typing - default FALSE }
- RTGS_Invisible = RTGL_Invisible;
- { (V38) window backfill - default TRUE }
- RTGS_BackFill = RTGL_BackFill;
- { (V38) optional text above gadget }
- RTGS_TextFmt = RTGL_TextFmt;
- { (V38) optional arguments for RTGS_TextFmt }
- RTGS_TextFmtArgs = RTGL_TextFmtArgs;
- { (V38) various flags (see below) }
- RTGS_Flags = RTEZ_Flags;
-
- { *** tags specific to rtFileRequestA *** }
- { various flags (see below) }
- RTFI_Flags = $80000028;
- { suggested height of file requester }
- RTFI_Height = $80000029;
- { replacement text for 'Ok' gadget (max 6 chars) }
- RTFI_OkText = $8000002A;
- { (V38) bring up volume requester, tag data holds flags (see below) }
- RTFI_VolumeRequest = $8000002B;
- { (V38) call this hook for every file in the directory }
- RTFI_FilterFunc = $8000002C;
- { (V38) allow empty file to be accepted - default FALSE }
- RTFI_AllowEmpty = $8000002D;
-
- { *** tags specific to rtFontRequestA *** }
- { various flags (see below) }
- RTFO_Flags = RTFI_Flags;
- { suggested height of font requester }
- RTFO_Height = RTFI_Height;
- { replacement text for 'Ok' gadget (max 6 chars) }
- RTFO_OkText = RTFI_OkText;
- { suggested height of font sample display - default 24 }
- RTFO_SampleHeight = $8000003C;
- { minimum height of font displayed }
- RTFO_MinHeight = $8000003D;
- { maximum height of font displayed }
- RTFO_MaxHeight = $8000003E;
- { [($8000003F) to ($80000042) used below] }
- { (V38) call this hook for every font }
- RTFO_FilterFunc = RTFI_FilterFunc;
-
- { *** (V38) tags for rtScreenModeRequestA *** }
- { various flags (see below) }
- RTSC_Flags = RTFI_Flags;
- { suggested height of screenmode requester }
- RTSC_Height = RTFI_Height;
- { replacement text for 'Ok' gadget (max 6 chars) }
- RTSC_OkText = RTFI_OkText;
- { property flags (see also RTSC_PropertyMask) }
- RTSC_PropertyFlags = $8000005A;
- { property mask - default all bits in RTSC_PropertyFlags considered }
- RTSC_PropertyMask = $8000005B;
- { minimum display width allowed }
- RTSC_MinWidth = $8000005C;
- { maximum display width allowed }
- RTSC_MaxWidth = $8000005D;
- { minimum display height allowed }
- RTSC_MinHeight = $8000005E;
- { maximum display height allowed }
- RTSC_MaxHeight = $8000005F;
- { minimum display depth allowed }
- RTSC_MinDepth = $80000060;
- { maximum display depth allowed }
- RTSC_MaxDepth = $80000061;
- { call this hook for every display mode id }
- RTSC_FilterFunc = RTFI_FilterFunc;
-
- { *** tags for rtChangeReqAttrA *** }
- { file requester - set directory }
- RTFI_Dir = $80000032;
- { file requester - set wildcard pattern }
- RTFI_MatchPat = $80000033;
- { file requester - add a file or directory to the buffer }
- RTFI_AddEntry = $80000034;
- { file requester - remove a file or directory from the buffer }
- RTFI_RemoveEntry = $80000035;
- { font requester - set font name of selected font }
- RTFO_FontName = $8000003F;
- { font requester - set font size }
- RTFO_FontHeight = $80000040;
- { font requester - set font style }
- RTFO_FontStyle = $80000041;
- { font requester - set font flags }
- RTFO_FontFlags = $80000042;
- { (V38) screenmode requester - get display attributes from screen }
- RTSC_ModeFromScreen = $80000050;
- { (V38) screenmode requester - set display mode id (32-bit extended) }
- RTSC_DisplayID = $80000051;
- { (V38) screenmode requester - set display width }
- RTSC_DisplayWidth = $80000052;
- { (V38) screenmode requester - set display height }
- RTSC_DisplayHeight = $80000053;
- { (V38) screenmode requester - set display depth }
- RTSC_DisplayDepth = $80000054;
- { (V38) screenmode requester - set overscan type, 0 for regular size }
- RTSC_OverscanType = $80000055;
- { (V38) screenmode requester - set autoscroll }
- RTSC_AutoScroll = $80000056;
-
-
- { *** tags for rtPaletteRequestA *** }
- { initially selected color - default 1 }
- RTPA_Color = $80000046;
-
- { *** tags for rtReqHandlerA *** }
- { end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
- in case of rtEZRequest to the return value }
- RTRH_EndRequest = $800003C;
-
- { *** tags for rtAllocRequestA *** }
- { no tags defined yet }
-
- {************
- * RT_ReqPos *
- ************}
- REQPOS_POINTER = 0;
- REQPOS_CENTERWIN = 1;
- REQPOS_CENTERSCR = 2;
- REQPOS_TOPLEFTWIN = 3;
- REQPOS_TOPLEFTSCR = 4;
-
- {******************
- * RTRH_EndRequest *
- ******************}
- REQ_CANCEL = 0;
- REQ_OK = 1;
-
- {***************************************
- * flags for RTFI_Flags and RTFO_Flags *
- * or filereq->Flags and fontreq->Flags *
- ***************************************}
- FREQB_NOBUFFER = 2;
- FREQF_NOBUFFER = 4;
-
- {*****************************************
- * flags for RTFI_Flags or filereq->Flags *
- *****************************************}
- FREQB_MULTISELECT = 0;
- FREQF_MULTISELECT = 1;
- FREQB_SAVE = 1;
- FREQF_SAVE = 2;
- FREQB_NOFILES = 3;
- FREQF_NOFILES = 8;
- FREQB_PATGAD = 4;
- FREQF_PATGAD = 16;
- FREQB_SELECTDIRS = 12;
- FREQF_SELECTDIRS = 4096;
-
- {*****************************************
- * flags for RTFO_Flags or fontreq->Flags *
- *****************************************}
- FREQB_FIXEDWIDTH = 5;
- FREQF_FIXEDWIDTH = 32;
- FREQB_COLORFONTS = 6;
- FREQF_COLORFONTS = 64;
- FREQB_CHANGEPALETTE = 7;
- FREQF_CHANGEPALETTE = 128;
- FREQB_LEAVEPALETTE = 8;
- FREQF_LEAVEPALETTE = 256;
- FREQB_SCALE = 9;
- FREQF_SCALE = 512;
- FREQB_STYLE = 10;
- FREQF_STYLE = 1024;
-
- {*****************************************************
- * (V38) flags for RTSC_Flags or screenmodereq->Flags *
- *****************************************************}
- SCREQB_SIZEGADS = 13;
- SCREQF_SIZEGADS = 8192;
- SCREQB_DEPTHGAD = 14;
- SCREQF_DEPTHGAD = 16384;
- SCREQB_NONSTDMODES = 15;
- SCREQF_NONSTDMODES = 32768;
- SCREQB_GUIMODES = 16;
- SCREQF_GUIMODES = 65536;
- SCREQB_AUTOSCROLLGAD = 18;
- SCREQF_AUTOSCROLLGAD = 262144;
- SCREQB_OVERSCANGAD = 19;
- SCREQF_OVERSCANGAD = 524288;
-
- {*****************************************
- * flags for RTEZ_Flags or reqinfo->Flags *
- *****************************************}
- EZREQB_NORETURNKEY = 0;
- EZREQF_NORETURNKEY = 1;
- EZREQB_LAMIGAQUAL = 1;
- EZREQF_LAMIGAQUAL = 2;
- EZREQB_CENTERTEXT = 2;
- EZREQF_CENTERTEXT = 4;
-
- {***********************************************
- * (V38) flags for RTGL_Flags or reqinfo->Flags *
- ***********************************************}
- GLREQB_CENTERTEXT = EZREQB_CENTERTEXT;
- GLREQF_CENTERTEXT = EZREQF_CENTERTEXT;
- GLREQB_HIGHLIGHTTEXT = 3;
- GLREQF_HIGHLIGHTTEXT = 8;
-
- {***********************************************
- * (V38) flags for RTGS_Flags or reqinfo->Flags *
- ***********************************************}
- GSREQB_CENTERTEXT = EZREQB_CENTERTEXT;
- GSREQF_CENTERTEXT = EZREQF_CENTERTEXT;
- GSREQB_HIGHLIGHTTEXT = GLREQB_HIGHLIGHTTEXT;
- GSREQF_HIGHLIGHTTEXT = GLREQF_HIGHLIGHTTEXT;
-
- {*****************************************
- * (V38) flags for RTFI_VolumeRequest tag *
- *****************************************}
- VREQB_NOASSIGNS=0;
- VREQF_NOASSIGNS=1;
- VREQB_NODISKS=1;
- VREQF_NODISKS=2;
- VREQB_ALLDISKS=2;
- VREQF_ALLDISKS=4;
-
- {*
- Following things are obsolete in ReqTools V38.
- DON'T USE THESE IN NEW CODE!
- *}
- REQHOOK_WILDFILE=0;
- REQHOOK_WILDFONT=1;
- FREQB_DOWILDFUNC=11;
- FREQF_DOWILDFUNC=2048;
-
-
- {************
- * Functions *
- ************}
-
- Function rtAllocRequestA
- (type_: LongInt;
- taglist: preqtaglist): LongInt;
-
- Function rtFreeRequest (req: Pointer): LongInt;
- Function rtFreeReqBuffer (req: Pointer): LongInt;
- Function rtChangeReqAttrA
- (req: Pointer;
- taglist: preqtaglist): LongInt;
-
- Function rtFileRequestA
- (filereq: prtFileRequester;
- file_: pString;
- title: String;
- taglist: preqtaglist): LongInt;
-
- Function rtFreeFileList (filelist: prtFileList): LongInt;
- Function rtEZRequestA
- (bodyfmt:String;
- gadfmt:String;
- reqinfo: prtReqInfo;
- argarray:Pointer;
- taglist: preqtaglist): LongInt;
-
- Function rtGetStringA
- (buffer: Pointer;
- maxchars: LongInt;
- title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
-
- Function rtGetLongA
- (longptr: Pointer;
- title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
-
- Function rtFontRequestA
- (fontreq:prtFontRequester;
- title: String;
- taglist: preqtaglist): LongInt;
-
- Function rtPaletteRequestA
- (title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
-
- Function rtReqHandlerA
- (handlerinfo: prtHandlerInfo;
- sigs: LongInt;
- taglist: preqtaglist): LongInt;
-
- Function rtSetWaitPointer (window: pWindow): LongInt;
- Function rtGetVScreenSize
- (screen:pScreen;
- widthptr,
- heightptr: Pointer): LongInt;
-
- Function rtSetReqPosition
- (reqpos: LongInt;
- newwindow:pNewWindow;
- screen:pScreen;
- window: pWindow): LongInt;
-
- Function rtSpread
- (posarray,
- sizearray: Pointer;
- length,
- min,
- max,
- num: LongInt): LongInt;
-
- Function rtScreenToFrontSafely (screen: pScreen): LongInt;
- Function rtScreenModeRequestA
- (screenmodereq:prtScreenModeRequester;
- title: String;
- taglist: preqtaglist): LongInt;
-
- Function rtCloseWindowSafely (win: pWindow): LongInt;
- Function rtLockWindow (win: pWindow): LongInt;
- Function rtUnlockWindow
- (win:pWindow;
- winlock: Pointer): LongInt;
-
- Var
- ReqToolsBase: pReqToolsBase;
-
- Implementation
-
- Function AllocRequestA
- (type_: LongInt;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- lea $8(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ReqToolsBase,a6
- jsr -$1E(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- END;
-
- Function FreeRequest (req: Pointer): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a1
- move.l ReqToolsBase,a6
- jsr -$24(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function FreeReqBuffer (req: Pointer): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a1
- move.l ReqToolsBase,a6
- jsr -$2A(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function ChangeReqAttrA
- (req: Pointer;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- movem.l $8(sp),a0-a1
- move.l ReqToolsBase,a6
- jsr -$30(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- END;
-
- Function FileRequestA
- (filereq:prtFileRequester;
- file_: Pointer;
- title: Pointer;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a2-a3/a6,-(sp)
- lea $10(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$36(a6)
- move.l d0,$20(sp)
- movem.l (sp)+,a2-a3/a6
- END;
-
- Function FreeFileList (filelist: prtFileList): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a0
- move.l ReqToolsBase,a6
- jsr -$3C(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function EZRequestA
- (bodyfmt:Pointer;
- gadfmt: Pointer;
- reqinfo: prtReqInfo;
- argarray: Pointer;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a2-a4/a6,-(sp)
- lea $14(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a4
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$42(a6)
- move.l d0,$28(sp)
- movem.l (sp)+,a2-a4/a6
- END;
-
- Function GetStringA
- (buffer: Pointer;
- maxchars: LongInt;
- title: Pointer;
- reqinfo: prtReqInfo;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a2-a3/a6,-(sp)
- lea $10(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$48(a6)
- move.l d0,$24(sp)
- movem.l (sp)+,a2-a3/a6
- END;
-
- Function GetLongA
- (longptr:Pointer;
- title:Pointer;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a2-a3/a6,-(sp)
- lea $10(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$4E(a6)
- move.l d0,$20(sp)
- movem.l (sp)+,a2-a3/a6
- END;
-
- Function FontRequestA
- (fontreq:prtFontRequester;
- title: Pointer;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a3/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$60(a6)
- move.l d0,$18(sp)
- movem.l (sp)+,a3/a6
- END;
-
- Function PaletteRequestA
- (title:Pointer;
- reqinfo: prtReqInfo;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a2-a3/a6,-(sp)
- lea $10(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a2
- move.l ReqToolsBase,a6
- jsr -$66(a6)
- move.l d0,$1C(sp)
- movem.l (sp)+,a2-a3/a6
- END;
-
- Function ReqHandlerA
- (handlerinfo: prtHandlerInfo;
- sigs: LongInt;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- lea $8(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$6C(a6)
- move.l d0,$14(sp)
- move.l (sp)+,a6
- END;
-
- Function SetWaitPointer (window: pWindow): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a0
- move.l ReqToolsBase,a6
- jsr -$72(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function GetVScreenSize
- (screen: pScreen;
- widthptr,
- heightptr: Pointer): LongInt;
- XASSEMBLER;
- ASM movem.l a2/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ReqToolsBase,a6
- jsr -$78(a6)
- move.l d0,$18(sp)
- movem.l (sp)+,a2/a6
- END;
-
- Function SetReqPosition
- (reqpos: LongInt;
- newwindow: pNewWindow;
- screen: pScreen;
- window: pWindow): LongInt;
- XASSEMBLER;
- ASM movem.l a2/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a2
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l (a6)+,d0
- move.l ReqToolsBase,a6
- jsr -$7E(a6)
- move.l d0,$1C(sp)
- movem.l (sp)+,a2/a6
- END;
-
- Function Spread
- (posarray,
- sizearray: Pointer;
- length,
- min,
- max,
- num: LongInt): LongInt;
- XASSEMBLER;
- ASM movem.l d3/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,d3
- move.l (a6)+,d2
- move.l (a6)+,d1
- move.l (a6)+,d0
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ReqToolsBase,a6
- jsr -$84(a6)
- move.l d0,$24(sp)
- movem.l (sp)+,d3/a6
- END;
-
- Function ScreenToFrontSafely (screen: pScreen): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a0
- move.l ReqToolsBase,a6
- jsr -$8A(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function ScreenModeRequestA
- (screenmodereq: prtScreenModeRequester;
- title: Pointer;
- taglist: preqtaglist): LongInt;
- XASSEMBLER;
- ASM movem.l a3/a6,-(sp)
- lea $C(sp),a6
- move.l (a6)+,a0
- move.l (a6)+,a3
- move.l (a6)+,a1
- move.l ReqToolsBase,a6
- jsr -$90(a6)
- move.l d0,$18(sp)
- movem.l (sp)+,a3/a6
- END;
-
- Function CloseWindowSafely (win: pWindow): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a0
- move.l ReqToolsBase,a6
- jsr -$96(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function LockWindow (win: pWindow): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- move.l $8(sp),a0
- move.l ReqToolsBase,a6
- jsr -$9C(a6)
- move.l d0,$C(sp)
- move.l (sp)+,a6
- END;
-
- Function UnlockWindow
- (win: pWindow;
- winlock: Pointer): LongInt;
- XASSEMBLER;
- ASM move.l a6,-(sp)
- lea $8(sp),a6
- move.l (a6)+,a1
- move.l (a6)+,a0
- move.l ReqToolsBase,a6
- jsr -$A2(a6)
- move.l d0,$10(sp)
- move.l (sp)+,a6
- END;
-
- Function rtAllocRequestA
- (type_: LongInt;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtAllocRequestA:=AllocRequestA(type_,taglist);
- END;
-
- Function rtFreeRequest (req: Pointer): LongInt;
- BEGIN
- rtFreeRequest:=FreeRequest(req);
- END;
-
- Function rtFreeReqBuffer (req: Pointer): LongInt;
- BEGIN
- rtFreeReqBuffer:=FreeReqBuffer(req);
- END;
-
- Function rtChangeReqAttrA
- (req: Pointer;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtChangeReqAttrA:=ChangeReqAttrA(req,taglist);
- END;
-
- Function rtFileRequestA
- (filereq: prtFileRequester;
- file_: pString;
- title: String;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtFileRequestA:=FileRequestA(filereq,file_,CstrConstPtr(title),taglist);
- END;
-
- Function rtFreeFileList (filelist: prtFileList): LongInt;
- BEGIN
- rtFreeFileList:=FreeFileList(filelist);
- END;
-
- Function rtEZRequestA
- (bodyfmt:String;
- gadfmt:String;
- reqinfo: prtReqInfo;
- argarray:preqtaglist; { voorlopige oplossing }
- taglist: preqtaglist): LongInt;
- BEGIN
- rtEZRequestA:=EZRequestA(CstrConstPtr(bodyfmt),CstrConstPtr(gadfmt),reqinfo,argarray,taglist);
- END;
-
- Function rtGetStringA
- (buffer: Pointer;
- maxchars: LongInt;
- title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtGetStringA:=GetStringA(buffer,maxchars,CstrConstPtr(title),reqinfo,taglist);
- END;
-
- Function rtGetLongA
- (longptr: Pointer;
- title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtGetLongA:=GetLongA(longptr,CstrConstPtr(title),reqinfo,taglist);
- END;
-
- Function rtFontRequestA
- (fontreq:prtFontRequester;
- title: String;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtFontRequestA:=FontRequestA(fontreq,CstrConstPtr(title),taglist);
- END;
-
- Function rtPaletteRequestA
- (title: String;
- reqinfo:prtReqInfo;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtPaletteRequestA:=PaletteRequestA(CstrConstPtr(title),reqinfo,taglist);
- END;
-
- Function rtReqHandlerA
- (handlerinfo: prtHandlerInfo;
- sigs: LongInt;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtReqHandlerA:=ReqHandlerA(handlerinfo,sigs,taglist);
- END;
-
- Function rtSetWaitPointer (window: pWindow): LongInt;
- BEGIN
- rtSetWaitPointer:=SetWaitPointer(window);
- END;
-
- Function rtGetVScreenSize
- (screen:pScreen;
- widthptr,
- heightptr: Pointer): LongInt;
- BEGIN
- rtGetVScreenSize:=GetVScreenSize(screen,widthptr,heightptr);
- END;
-
- Function rtSetReqPosition
- (reqpos: LongInt;
- newwindow:pNewWindow;
- screen:pScreen;
- window: pWindow): LongInt;
- BEGIN
- rtSetReqPosition:=SetReqPosition(reqpos,newwindow,screen,window);
- END;
-
- Function rtSpread
- (posarray,
- sizearray: Pointer;
- length,
- min,
- max,
- num: LongInt): LongInt;
- BEGIN
- rtSpread:=Spread(posarray,sizearray,length,min,max,num);
- END;
-
- Function rtScreenToFrontSafely (screen: pScreen): LongInt;
- BEGIN
- rtScreenToFrontSafely:=ScreenToFrontSafely(screen);
- END;
-
- Function rtScreenModeRequestA
- (screenmodereq:prtScreenModeRequester;
- title: String;
- taglist: preqtaglist): LongInt;
- BEGIN
- rtScreenModeRequestA:=ScreenModeRequestA(screenmodereq,CstrConstPtr(title),taglist);
- END;
-
- Function rtCloseWindowSafely (win: pWindow): LongInt;
- BEGIN
- rtCloseWindowSafely:=CloseWindowSafely(win);
- END;
-
- Function rtLockWindow (win: pWindow): LongInt;
- BEGIN
- rtLockWindow:=LockWindow(win);
- END;
-
- Function rtUnlockWindow
- (win:pWindow;
- winlock: Pointer): LongInt;
- BEGIN
- rtUnlockWindow:=UnlockWindow(win,winlock);
- END;
-
- End.
-