[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]

	IFND LIBRARIES_ASL_I
LIBRARIES_ASL_I	SET	1
**
**	$Filename: libraries/asl.i $
**	$Release: 2.04 Includes, V37.4 $
**	$Revision: 36.5 $
**	$Date: 91/11/08 $
**
**	ASL library name and useful definitions.
**
**	(C) Copyright 1989,1990 Charlie Heath
**	(C) Copyright 1989-1999 Amiga, Inc.
**		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 FileRequester,0
	STRUCTURE FileRequestr,0		; obsolete spelling
		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_Reserved6
		LONG	rf_NumArgs
		APTR	rf_ArgList
		APTR	rf_UserData
		APTR	rf_Reserved7
		APTR	rf_Reserved8
		CPTR	rf_Pat			; *Pattern array

*****************************************************************************
*
* The following defined values are the ASL_FuncFlags 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_FuncFlags 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 as follows:
*
* ULONG rf_Function(ULONG Mask, CPTR Object, CPTR AslRequester)
*
* The Mask value is a copy of the specific ASL_FuncFlags value
* the callback is for; Object is a pointer to a data object.
* AslRequester is a pointer to the requester structure.
*
* For the ASL file and font requesters, two ASL_FuncFlags values
* are currently defined; FILF_DOWILDFUNC and FILF_DOMSGFUNC.
*
*****************************************************************************

* Pass these flags with the tag ASL_FuncFlags
	BITDEF	FIL,PATGAD,0		; Request a pattern gadget
	BITDEF	FIL,MULTISELECT,3	; Request multiple selection returns -
					; MUTUAL EXCLUSIVE WITH SAVE
	BITDEF	FIL,NEWIDCMP,4	; Force a new IDCMP (only if rf_Window != NULL)
	BITDEF	FIL,SAVE,5	; Use this bit for SAVE requesters
	BITDEF	FIL,DOMSGFUNC,6	; Called with Object=IDCMP messages
				;  for other windows of shered port.
				;  You must return pointer to Object,
				;  asl will reply the Object for you.
	BITDEF	FIL,DOWILDFUNC,7 ; Called with an AnchorPath,
				 ;	ZERO return accepts.


* Pass these flags with the tag ASL_ExtFlags
	BITDEF	FIL1,NOFILES,0	  ; Do not want a file gadget, no files shown
	BITDEF	FIL1,MATCHDIRS,1  ; Patgad/rf_Pat should screen files AND DIRS

*****************************************************************************
* Obsolete - Use FIL flag names instead
	BITDEF	RF,DOWILDFUNC,7 ; Called me with an AnchorPath,
				;	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		; Called with Object=IDCMP message
					;  for other windows sharing port.
					; You must return pointer to Object.
					; asl will reply the object for you.
	BITDEF	FON,DOWILDFUNC,7	; Called with Object=TextAttr
					;	NON-Zero return accepts

****	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

*** Pass the FIL1 extended flag bits using this tag
ASL_ExtFlags1	equ	ASL_Dummy+22

	ENDC	!LIBRARIES_ASL_I