	IFND LIBRARIES_ASL_I
LIBRARIES_ASL_I	SET	1
**
**	$Filename: libraries/asl.i $
**	$Release: 2.02 $
**	$Revision: 1.7 $
**	$Date: 90/11/02 $
**
**	ASL library name and useful definitions.
**
**	(C) Copyright 1989,1990 Commodore-Amiga Inc. and Charlie Heath
**		All Rights Reserved
**

	IFND EXEC_TYPES_I
	INCLUDE "exec/types.i"
	ENDC

	IFND EXEC_LIBRARIES_I
	INCLUDE "exec/libraries.i"
	ENDC

	IFND EXEC_LISTS_I
	INCLUDE "exec/lists.i"
	ENDC

	IFND	UTILITY_TAGITEM_I
	INCLUDE	"utility/tagitem.i"
	ENDC

***********************************************************************

AslName	MACRO
	dc.b	'asl.library',0
	ds.w	0
	ENDM


************************************************************************
* REQUESTER TYPES, these are passed to AllocAslRequest
************************************************************************

ASL_FileRequest		equ	0
ASL_FontRequest		equ	1


*************************************************************************
*									*
*	The ASL file requester data structure...			*
*									*
* The fields described here are for READ ACCESS to the structure	*
* returned by AllocAslRequest( ASL_FileRequest, ... )			*
*									*
* Any modifications MUST be done via TAGS either at the time of		*
* creation by AllocAslRequest(), or when used, via AslRequest()		*
*									*
*************************************************************************

	STRUCTURE FileRequestr,0
		CPTR	rf_Reserved1
		CPTR	rf_File		; *Filename array (FCHARS+1)
		CPTR	rf_Dir			; *Directory array (DSIZE+1)
		CPTR	rf_Reserved2
		UBYTE	rf_Reserved3
		UBYTE	rf_Reserved4
		APTR	rf_Reserved5
		WORD	rf_LeftEdge
		WORD	rf_TopEdge
		WORD	rf_Width
		WORD	rf_Height
		WORD	rf_Pad1
		LONG	rf_NumArgs
		APTR	rf_ArgList
		APTR	rf_UserData


*****************************************************************************
*
* The following defined values are the ASL_FuncFlag tag values which
* are defined for the ASL file request.  These values may be passed
* as a TagItem to modify the way the requester is presented.  Each
* flag value defined has a description of the particular action.
*
* Also related to the ASL_FuncFlag values is the ASL_HookFunc tagitem,
* which provides a callback function to allow the application to
* interact with the requester.	If an ASL_HookFunc TagItem is
* defined, that function will be called like so:
*
* rf_Function(Mask, Object)
* ULONG	Mask;
* CPTR		*Object;
*
* The Mask value is a copy of the specific ASL_FuncFlag value which
* the callback is for; Object is a pointer to a data object.
*
* For the ASL file requester, two ASL_HookFunction flag values are
* currently defined; FILF_DOWILDFUNC and FILF_DOMSGFUNC.
*
*****************************************************************************

	BITDEF	RF,DOWILDFUNC,7 ; Call me with an AnchorPath and a name,
				;	ZERO return accepts.
	BITDEF	RF,DOMSGFUNC,6	; You get all IDCMP message not for FileRequest()
	BITDEF	RF,DOCOLOR,5	; This bit is used for FILE SAVE operations.
	BITDEF	RF,NEWIDCMP,4	; Force a new IDCMP (only if rf_Window != NULL)
	BITDEF	RF,MULTISELECT,3 ; Request multiple selection returns -
				;	MUTUAL EXCLUSIVE WITH DOCOLOR
	BITDEF	RF,PATGAD,0	; Request a pattern gadget



*****************************************************************************

	STRUCTURE FontRequester,0
		CPTR	fo_Reserved1
		CPTR	fo_Reserved2
		APTR	fo_Name		; Returned name
		USHORT	fo_YSize
		UBYTE	fo_Style
		UBYTE	fo_Flags
		UBYTE	fo_FrontPen
		UBYTE	fo_BackPen
		UBYTE	fo_DrawMode
		UBYTE	fo_Reserved3

		APTR	fo_UserData

		SHORT	fo_LeftEdge
		SHORT	fo_TopEdge

		SHORT	fo_Width
		SHORT	fo_Height


******* BITDEFS for ASL_FuncFlags - FONT requester

	BITDEF	FON,FrontColor,0	; Display Front Color palette selector?
	BITDEF	FON,BackColor,1		; Display Back Color palette selector?
	BITDEF	FON,Styles,2		; Display Styles checkboxes?
	BITDEF	FON,DrawMode,3		; Display DrawMode NWAY selector?
	BITDEF	FON,FixedWidth,4	; Only allow fixed-width (SYS) fonts?
	BITDEF	FON,NewIDCMP,5		; Request a NEW IDCMP port,
					;	rather than shared.
	BITDEF	FON,DoMsgFunc,6		; You get all IDCMP message not
					;	addressed to FileRequest()
	BITDEF	FON,DoWildFunc,7	; Call with each TextAttr
					;	before approving.

****	Tag values for AslRequest()	*************************************

ASL_Dummy	equ	TAG_USER+$80000

ASL_Hail	equ	ASL_Dummy+1
ASL_Window	equ	ASL_Dummy+2

ASL_LeftEdge	equ	ASL_Dummy+3
ASL_TopEdge	equ	ASL_Dummy+4
ASL_Width	equ	ASL_Dummy+5
ASL_Height	equ	ASL_Dummy+6

ASL_HookFunc	equ	ASL_Dummy+7

ASL_File	equ	ASL_Dummy+8
ASL_Dir		equ	ASL_Dummy+9

* OVERLAP HERE file and font stuffskies!!!
ASL_Pattern	equ	ASL_Dummy+10

* Font specific, some overlap!!!
ASL_FontName	equ	ASL_Dummy+10
ASL_FontHeight	equ	ASL_Dummy+11
ASL_FontStyles	equ	ASL_Dummy+12
ASL_FontFlags	equ	ASL_Dummy+13
ASL_FrontPen	equ	ASL_Dummy+14
ASL_BackPen	equ	ASL_Dummy+15
ASL_MinHeight	equ	ASL_Dummy+16
ASL_MaxHeight	equ	ASL_Dummy+17

ASL_OKText	equ	ASL_Dummy+18
ASL_CancelText	equ	ASL_Dummy+19

ASL_FuncFlags	equ	ASL_Dummy+20

ASL_ModeList	equ	ASL_Dummy+21

****	Library LVO definitions	*********************************************

	LIBINIT
*
	LIBDEF	_LVOAllocFileRequest
	LIBDEF	_LVOFreeFileRequest
	LIBDEF	_LVORequestFile

	LIBDEF	_LVOAllocAslRequest
	LIBDEF	_LVOFreeAslRequest
	LIBDEF	_LVOAslRequest

	LIBDEF	_LVOAslReservedFunc1
	LIBDEF	_LVOAslReservedFunc2
	LIBDEF	_LVOAslReservedFunc3
	LIBDEF	_LVOAslReservedFunc4

	ENDC	!LIBRARIES_ASL_I
