/* $Revision Header *** Header built automatically - do not edit! ***********
 *
 *	(C) Copyright 1991 by Torsten Jürgeleit
 *
 *	Name .....: requester.h
 *	Created ..: Thursday 19-Dec-91 18:55:23
 *	Revision .: 0
 *
 *	Date        Author                 Comment
 *	=========   ====================   ====================
 *	19-Dec-91   Torsten Jürgeleit      Created this file!
 *
 * $Revision Header ********************************************************/

#ifndef	ISUP_REQUESTERS_H
#define	ISUP_REQUESTERS_H

	/* Defines for auto request */

#define AUTO_REQ_FLAG_BACK_FILL		(1 << 0)
#define AUTO_REQ_FLAG_RENDER_PENS	(1 << 1)
#define AUTO_REQ_FLAG_TEXT_CENTER	(1 << 2)
#define AUTO_REQ_FLAG_TEXT_COLOR2	(1 << 3)
#define AUTO_REQ_FLAG_HOTKEY		(1 << 4)
#define AUTO_REQ_FLAG_BEEP		(1 << 5)
#define AUTO_REQ_FLAG_MOVE_POINTER_POS	(1 << 6)
#define AUTO_REQ_FLAG_MOVE_POINTER_NEG	(1 << 7)

	/* Defines for requester */

#define REQ_DATA_FLAG_BACK_FILL		(1 << 0)
#define REQ_DATA_FLAG_RENDER_PENS	(1 << 1)
#define REQ_DATA_FLAG_INNER_WINDOW	(1 << 2)
#define REQ_DATA_FLAG_AVAIL_FONTS	(1 << 3)
#define REQ_DATA_FLAG_CENTER		(1 << 4)
#define REQ_DATA_FLAG_DRAG_GADGET	(1 << 5)
#define REQ_DATA_FLAG_DEPTH_GADGET	(1 << 6)

	/* Structures for requester */

struct RequesterList {
	struct RenderInfo  *rl_RenderInfo;
	struct Window      *rl_Window;			/* window requester displayed on */
	struct Window      *rl_ReqWindow;		/* window of requester */
	struct GadgetList  *rl_GadgetList;		/* requester gadgets */
	struct Menu        *rl_Menu;			/* menu of window requester displayed on */
	struct MinList     rl_VisibleGadgetLists;	/* list for removed visible gadget lists */
	LONG	rl_ID;		/* id = 'ISUP' */
};
struct RequesterData {
	SHORT	rd_LeftEdge;
	SHORT	rd_TopEdge;
	SHORT	rd_Width;
	SHORT	rd_Height;
	ULONG	rd_Flags;
	BYTE	*rd_Title;
	struct TextData    *rd_Texts;
	struct BorderData  *rd_Borders;
	struct GadgetData  *rd_Gadgets;
};
	/* Global prototypes */

BOOL auto_request(struct Window  *req_win, BYTE *title, BYTE *body_text,
		       BYTE *pos_text, BYTE *neg_text, LONG pos_idcmp_flags,
	LONG neg_idcmp_flags, USHORT req_flags, BYTE **language_text_array);
struct RequesterList  *display_requester(struct Window  *req_win,
		     struct RequesterData  *rd, BYTE **language_text_array);
VOID remove_requester(struct RequesterList  *rl);

	/* Global pragmas */

#pragma regcall(auto_request(a0,a1,a2,a3,d0,d1,d2,d3,d4))
#pragma regcall(display_requester(a0,a1,a2))
#pragma regcall(remove_requester(a0))

#endif   /* ISUP_REQUESTERS_H */
