(*---------------------------------------------------------------------------

									 RCT Schnittstelle
Author : Thorsten Ebers

Version 0.92  Es koennen noch leichte Veraenderungen auftreten.Fuer etwaige
				  Schaeden komme ich nicht auf.Fuer Fehler wird keine Haftung
				  uebernommen.Sollte jemand dieses Module aendern,so schicke er
				  mir davon eine Kopie.


Thorsten Ebers


Version 1.0   Funktionen: Alert,
								  Filer
								  FilecacheFree,
								  Waitall,
								  GadDrawWindow,
								  GetPattern sind hinzugekommen.


Vielen Dank an Philip Losch für der Erweiterung 		26.04.91

---------------------------------------------------------------------------*)

DEFINITION MODULE RCT {"rct.library",15};

FROM SYSTEM 	IMPORT ADDRESS;
FROM Intuition IMPORT WindowPtr,ScreenPtr,RequesterPtr,MenuPtr;
FROM Graphics	IMPORT ViewModeSet;

  CONST
	 DSIZE		= 130;
	 FSIZE		=	30;
	 WILDLENGTH =	30;
  TYPE
	 FileReqFlags = (showInfo,extSelect,caching,font,infoGad,hideWild,absolute,
						  purge,noHalfCache,noSort,noDrag,save,load,dirOnly,noDepth,
						  c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27,c28,
						  c29,c30,c31);
	 FileReqFlagSet = SET OF FileReqFlags;

	 RCTFileRequester = RECORD
								 version 	: INTEGER;
								 title		: ADDRESS;
								 dir			: ADDRESS; (* DSIZE+1 *)
								 file 		: ADDRESS; (* FSIZE+1 *)
								 path 		: ADDRESS; (* DSIZE+FSIZE+2 *)
								 wp			: WindowPtr;
								 maxex,
								 lines,
								 columns,
								 devcolumns : INTEGER;
								 flags		: FileReqFlagSet;
								 dircol,filecol,devcol,fontcol,sizecol,
								 detcol,blockcol,gadcol,
								 textcol,stringnamecol,
								 stringgadcol,boxcol,gadboxcol : INTEGER;
								 pad					: ARRAY [0..17] OF CARDINAL;
								 datestamp			: ARRAY [0..2] OF LONGINT;
								 left,top,fonty,fontstyle : INTEGER;
								 esstruct	 : ADDRESS;
								 hide,show	 : ARRAY [0..WILDLENGTH+1] OF CHAR;
								 filebufpos,filedisppos,dirbufpos,dirdisppos,
								 hidebufpos,hidedisppos,showbufpos,showdisppos : INTEGER;
								 mem,mem2,lock : ADDRESS;
								 privbuf 		: ARRAY [0..DSIZE+1] OF CHAR;
								 fileinfo		: ADDRESS;
								 nument,numhidd,filestart,devstart : INTEGER;
							  END;

PROCEDURE RctLoad(pfad{8}:ADDRESS):ADDRESS; CODE -30;
PROCEDURE RctFree(rctadr{8}:ADDRESS):BOOLEAN; CODE -36;
PROCEDURE RctAddr(rctadr{8}:ADDRESS;art{0}:BOOLEAN;id{1}:CARDINAL):ADDRESS; CODE -42;
PROCEDURE ReqCenter		  (base{8}:ADDRESS; req{9}:RequesterPtr; window{10}:WindowPtr):BOOLEAN; CODE -48;
PROCEDURE ReqDraw 		  (base{8}:ADDRESS; req{9}:RequesterPtr; window{10}:WindowPtr):BOOLEAN; CODE -54;
PROCEDURE ReqDrawWindow   (base{8}:ADDRESS; req{9}:RequesterPtr; screen{10}:ScreenPtr;titel{11}:ADDRESS):WindowPtr; CODE -264;
PROCEDURE ReqEnd			  (base{8}:ADDRESS; req{9}:RequesterPtr; window{10}:WindowPtr):BOOLEAN; CODE -60;
PROCEDURE ReqWait 		  (base{8}:ADDRESS; req{9}:RequesterPtr; VAR messageart{10}:CARDINAL):CARDINAL; CODE -270;
PROCEDURE GetReqStruct	  (base{8}:ADDRESS; req{9}:RequesterPtr; item{0}:CARDINAL):LONGINT; CODE -66;
PROCEDURE SetReqStruct	  (base{8}:ADDRESS; req{9}:RequesterPtr; item{0}:CARDINAL;wert{1}:LONGCARD):BOOLEAN; CODE -72;
PROCEDURE SetReqText 	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;string{10}:ADDRESS):BOOLEAN; CODE -78;
PROCEDURE GetReqText 	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL):ADDRESS; CODE -84;
PROCEDURE GetTextStruct   (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL):LONGINT; CODE -90;
PROCEDURE SetTextStruct   (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL;wert{2}:LONGCARD):BOOLEAN; CODE -96;
PROCEDURE SetGadText 	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;string{10}:ADDRESS):BOOLEAN; CODE -102;
PROCEDURE GetGadText 	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL):ADDRESS; CODE -108;
PROCEDURE GetGadStruct	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL):LONGINT; CODE -114;
PROCEDURE SetGadStruct	  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL;wert{2}:LONGCARD):BOOLEAN; CODE -120;
PROCEDURE RedrawGadgets   (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL):BOOLEAN; CODE -126;
PROCEDURE RedrawGad		  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;anzahl{1}:CARDINAL):BOOLEAN; CODE -132;
PROCEDURE ActiveGad		  (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL):BOOLEAN; CODE -138;
PROCEDURE SetStrGadText   (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;string{10}:ADDRESS):BOOLEAN; CODE -144;
PROCEDURE GetStrGadText   (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL):ADDRESS; CODE -150;
PROCEDURE GetStrGadStruct (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL):LONGINT; CODE -162;
PROCEDURE SetStrGadStruct (base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL;wert{2}:LONGCARD):BOOLEAN; CODE -156;
PROCEDURE GetPropGadStruct(base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL):LONGINT; CODE -174;
PROCEDURE SetPropGadStruct(base{8}:ADDRESS; req{9}:RequesterPtr; id{0}:CARDINAL;item{1}:CARDINAL;wert{2}:LONGCARD):BOOLEAN; CODE -168;
PROCEDURE MenuDraw(base{8}:ADDRESS;menu{9}:MenuPtr;window{10}:WindowPtr):BOOLEAN; CODE -180;
PROCEDURE MenuEnd(base{8}:ADDRESS;menu{9}:MenuPtr;window{10}:WindowPtr):BOOLEAN; CODE -186;
PROCEDURE SetMenuTitle(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;string{10}:ADDRESS):BOOLEAN; CODE -192;
PROCEDURE GetMenuTitle(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD):ADDRESS; CODE -198;
PROCEDURE SetMenuStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;item{1}:CARDINAL;wert{2}:LONGCARD):BOOLEAN; CODE -204;
PROCEDURE GetMenuStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;item{1}:CARDINAL):LONGINT; CODE -210;
PROCEDURE SetMenuIText(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;string{10}:ADDRESS):BOOLEAN; CODE -216;
PROCEDURE GetMenuIText(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL):ADDRESS; CODE -222;
PROCEDURE SetMenuItemStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;item{2}:CARDINAL;wert{3}:LONGCARD):BOOLEAN; CODE -228;
PROCEDURE GetMenuItemStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;item{2}:CARDINAL):LONGINT; CODE -234;
PROCEDURE SetMenusText(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;subid{2}:CARDINAL;string{10}:ADDRESS):BOOLEAN; CODE -240;
PROCEDURE GetMenusText(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;subid{2}:CARDINAL):ADDRESS; CODE -246;
PROCEDURE SetMenuSubStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;subid{2}:CARDINAL;item{3}:CARDINAL;wert{4}:LONGCARD):BOOLEAN; CODE -252;
PROCEDURE GetMenuSubStruct(base{8}:ADDRESS;menu{9}:MenuPtr;menuid{0}:LONGCARD;itemid{1}:CARDINAL;subid{2}:CARDINAL;item{3}:CARDINAL):LONGINT; CODE -258;
PROCEDURE ShowScreen(rctadr{8}:ADDRESS;mode{0}:ViewModeSet;depth{1}:CARDINAL;title{9}:ADDRESS):ScreenPtr; CODE -276;
PROCEDURE RemScreen(rctadr{8}:ADDRESS;screen{9}:ScreenPtr); CODE -282;
PROCEDURE Alert(default{0}:INTEGER; string{8}:ADDRESS):INTEGER; CODE -288;
PROCEDURE FileReq(filer{8}:ADDRESS):BOOLEAN; CODE -294;
PROCEDURE FilercacheFree(RCTFileRequester{8}:ADDRESS):BOOLEAN; CODE -300;
PROCEDURE Waitall( port{8}:MsgPortPtr, message{9}:Message); CODE -306;
PROCEDURE GadDrawWindow(rctadr{8}:ADDRESS;req{9}:RequesterPtr;screen{10}:ScreenPtr,title{11}:ADDRESS;idcmp{0}:LONGINT;flags{1}:LONGONT):WindowPtr; CODE -312;
PROCEDURE GetPattern(rctadr{8}:ADDRESS;index{0}:LONGINT):ADDRESS CODE -318;
END RCT.
