[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