home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIBRARIES_ASL_H
- #define LIBRARIES_ASL_H
- /*
- ** $VER: asl.h 38.5 (5.1.93)
- ** Includes Release 40.15
- **
- ** ASL library structures and constants
- **
- ** (C) Copyright 1989-1993 Commodore-Amiga Inc.
- ** (C) Copyright 1989-1990 Charlie Heath
- ** All Rights Reserved
- */
-
- /*****************************************************************************/
-
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- #ifndef EXEC_NODES_H
- #include <exec/nodes.h>
- #endif
-
- #ifndef UTILITY_TAGITEM_H
- #include <utility/tagitem.h>
- #endif
-
- #ifndef WORKBENCH_STARTUP_H
- #include <workbench/startup.h>
- #endif
-
- #ifndef GRAPHICS_TEXT_H
- #include <graphics/text.h>
- #endif
-
- #ifndef GRAPHICS_DISPLAYINFO_H
- #include <graphics/displayinfo.h>
- #endif
-
-
- /*****************************************************************************/
-
-
- #define AslName "asl.library"
- #define ASL_TB (TAG_USER+0x80000)
-
-
- /*****************************************************************************/
-
-
- /* Types of requesters known to ASL, used as arguments to AllocAslRequest() */
- #define ASL_FileRequest 0
- #define ASL_FontRequest 1
- #define ASL_ScreenModeRequest 2
-
-
- /*****************************************************************************
- *
- * ASL File Requester data structures and constants
- *
- * This structure must only be allocated by asl.library amd is READ-ONLY!
- * Control of the various fields is provided via tags when the requester
- * is created with AllocAslRequest() and when it is displayed via
- * AslRequest()
- */
- struct FileRequester
- {
- UBYTE fr_Reserved0[4];
- STRPTR fr_File; /* Contents of File gadget on exit */
- STRPTR fr_Drawer; /* Contents of Drawer gadget on exit */
- UBYTE fr_Reserved1[10];
- WORD fr_LeftEdge; /* Coordinates of requester on exit */
- WORD fr_TopEdge;
- WORD fr_Width;
- WORD fr_Height;
- UBYTE fr_Reserved2[2];
- LONG fr_NumArgs; /* Number of files selected */
- struct WBArg *fr_ArgList; /* List of files selected */
- APTR fr_UserData; /* You can store your own data here */
- UBYTE fr_Reserved3[8];
- STRPTR fr_Pattern; /* Contents of Pattern gadget on exit */
- };
-
- /* File requester tag values, used by AllocAslRequest() and AslRequest() */
-
- /* Window control */
- #define ASLFR_Window ASL_TB+2 /* Parent window */
- #define ASLFR_Screen ASL_TB+40 /* Screen to open on if no window */
- #define ASLFR_PubScreenName ASL_TB+41 /* Name of public screen */
- #define ASLFR_PrivateIDCMP ASL_TB+42 /* Allocate private IDCMP? */
- #define ASLFR_IntuiMsgFunc ASL_TB+70 /* Function to handle IntuiMessages */
- #define ASLFR_SleepWindow ASL_TB+43 /* Block input in ASLFR_Window? */
- #define ASLFR_UserData ASL_TB+52 /* What to put in fr_UserData */
-
- /* Text display */
- #define ASLFR_TextAttr ASL_TB+51 /* Text font to use for gadget text */
- #define ASLFR_Locale ASL_TB+50 /* Locale ASL should use for text */
- #define ASLFR_TitleText ASL_TB+1 /* Title of requester */
- #define ASLFR_PositiveText ASL_TB+18 /* Positive gadget text */
- #define ASLFR_NegativeText ASL_TB+19 /* Negative gadget text */
-
- /* Initial settings */
- #define ASLFR_InitialLeftEdge ASL_TB+3 /* Initial requester coordinates */
- #define ASLFR_InitialTopEdge ASL_TB+4
- #define ASLFR_InitialWidth ASL_TB+5 /* Initial requester dimensions */
- #define ASLFR_InitialHeight ASL_TB+6
- #define ASLFR_InitialFile ASL_TB+8 /* Initial contents of File gadget */
- #define ASLFR_InitialDrawer ASL_TB+9 /* Initial contents of Drawer gadg. */
- #define ASLFR_InitialPattern ASL_TB+10 /* Initial contents of Pattern gadg.*/
-
- /* Options */
- #define ASLFR_Flags1 ASL_TB+20 /* Option flags */
- #define ASLFR_Flags2 ASL_TB+22 /* Additional option flags */
- #define ASLFR_DoSaveMode ASL_TB+44 /* Being used for saving? */
- #define ASLFR_DoMultiSelect ASL_TB+45 /* Do multi-select? */
- #define ASLFR_DoPatterns ASL_TB+46 /* Display a Pattern gadget? */
-
- /* Filtering */
- #define ASLFR_DrawersOnly ASL_TB+47 /* Don't display files? */
- #define ASLFR_FilterFunc ASL_TB+49 /* Function to filter files */
- #define ASLFR_RejectIcons ASL_TB+60 /* Display .info files? */
- #define ASLFR_RejectPattern ASL_TB+61 /* Don't display files matching pat */
- #define ASLFR_AcceptPattern ASL_TB+62 /* Accept only files matching pat */
- #define ASLFR_FilterDrawers ASL_TB+63 /* Also filter drawers with patterns*/
- #define ASLFR_HookFunc ASL_TB+7 /* Combined callback function */
-
- /* Flag bits for the ASLFR_Flags1 tag */
- #define FRB_FILTERFUNC 7
- #define FRB_INTUIFUNC 6
- #define FRB_DOSAVEMODE 5
- #define FRB_PRIVATEIDCMP 4
- #define FRB_DOMULTISELECT 3
- #define FRB_DOPATTERNS 0
-
- #define FRF_FILTERFUNC (1L << FRB_FILTERFUNC)
- #define FRF_INTUIFUNC (1L << FRB_INTUIFUNC)
- #define FRF_DOSAVEMODE (1L << FRB_DOSAVEMODE)
- #define FRF_PRIVATEIDCMP (1L << FRB_PRIVATEIDCMP)
- #define FRF_DOMULTISELECT (1L << FRB_DOMULTISELECT)
- #define FRF_DOPATTERNS (1L << FRB_DOPATTERNS)
-
- /* Flag bits for the ASLFR_Flags2 tag */
- #define FRB_DRAWERSONLY 0
- #define FRB_FILTERDRAWERS 1
- #define FRB_REJECTICONS 2
-
- #define FRF_DRAWERSONLY (1L << FRB_DRAWERSONLY)
- #define FRF_FILTERDRAWERS (1L << FRB_FILTERDRAWERS)
- #define FRF_REJECTICONS (1L << FRB_REJECTICONS)
-
-
- /*****************************************************************************
- *
- * ASL Font Requester data structures and constants
- *
- * This structure must only be allocated by asl.library amd is READ-ONLY!
- * Control of the various fields is provided via tags when the requester
- * is created with AllocAslRequest() and when it is displayed via
- * AslRequest()
- */
- struct FontRequester
- {
- UBYTE fo_Reserved0[8];
- struct TextAttr fo_Attr; /* Returned TextAttr */
- UBYTE fo_FrontPen; /* Returned front pen */
- UBYTE fo_BackPen; /* Returned back pen */
- UBYTE fo_DrawMode; /* Returned drawing mode */
- UBYTE fo_Reserved1;
- APTR fo_UserData; /* You can store your own data here */
- WORD fo_LeftEdge; /* Coordinates of requester on exit */
- WORD fo_TopEdge;
- WORD fo_Width;
- WORD fo_Height;
- struct TTextAttr fo_TAttr; /* Returned TTextAttr */
- };
-
- /* Font requester tag values, used by AllocAslRequest() and AslRequest() */
-
- /* Window control */
- #define ASLFO_Window ASL_TB+2 /* Parent window */
- #define ASLFO_Screen ASL_TB+40 /* Screen to open on if no window */
- #define ASLFO_PubScreenName ASL_TB+41 /* Name of public screen */
- #define ASLFO_PrivateIDCMP ASL_TB+42 /* Allocate private IDCMP? */
- #define ASLFO_IntuiMsgFunc ASL_TB+70 /* Function to handle IntuiMessages */
- #define ASLFO_SleepWindow ASL_TB+43 /* Block input in ASLFO_Window? */
- #define ASLFO_UserData ASL_TB+52 /* What to put in fo_UserData */
-
- /* Text display */
- #define ASLFO_TextAttr ASL_TB+51 /* Text font to use for gadget text */
- #define ASLFO_Locale ASL_TB+50 /* Locale ASL should use for text */
- #define ASLFO_TitleText ASL_TB+1 /* Title of requester */
- #define ASLFO_PositiveText ASL_TB+18 /* Positive gadget text */
- #define ASLFO_NegativeText ASL_TB+19 /* Negative gadget text */
-
- /* Initial settings */
- #define ASLFO_InitialLeftEdge ASL_TB+3 /* Initial requester coordinates */
- #define ASLFO_InitialTopEdge ASL_TB+4
- #define ASLFO_InitialWidth ASL_TB+5 /* Initial requester dimensions */
- #define ASLFO_InitialHeight ASL_TB+6
- #define ASLFO_InitialName ASL_TB+10 /* Initial contents of Name gadget */
- #define ASLFO_InitialSize ASL_TB+11 /* Initial contents of Size gadget */
- #define ASLFO_InitialStyle ASL_TB+12 /* Initial font style */
- #define ASLFO_InitialFlags ASL_TB+13 /* Initial font flags for TextAttr */
- #define ASLFO_InitialFrontPen ASL_TB+14 /* Initial front pen */
- #define ASLFO_InitialBackPen ASL_TB+15 /* Initial back pen */
- #define ASLFO_InitialDrawMode ASL_TB+59 /* Initial draw mode */
-
- /* Options */
- #define ASLFO_Flags ASL_TB+20 /* Option flags */
- #define ASLFO_DoFrontPen ASL_TB+44 /* Display Front color selector? */
- #define ASLFO_DoBackPen ASL_TB+45 /* Display Back color selector? */
- #define ASLFO_DoStyle ASL_TB+46 /* Display Style checkboxes? */
- #define ASLFO_DoDrawMode ASL_TB+47 /* Display DrawMode cycle gadget? */
-
- /* Filtering */
- #define ASLFO_FixedWidthOnly ASL_TB+48 /* Only allow fixed-width fonts? */
- #define ASLFO_MinHeight ASL_TB+16 /* Minimum font height to display */
- #define ASLFO_MaxHeight ASL_TB+17 /* Maximum font height to display */
- #define ASLFO_FilterFunc ASL_TB+49 /* Function to filter fonts */
- #define ASLFO_HookFunc ASL_TB+7 /* Combined callback function */
- #define ASLFO_MaxFrontPen ASL_TB+66 /* Max # of colors in front palette */
- #define ASLFO_MaxBackPen ASL_TB+67 /* Max # of colors in back palette */
-
- /* Custom additions */
- #define ASLFO_ModeList ASL_TB+21 /* Substitute list for drawmodes */
- #define ASLFO_FrontPens ASL_TB+64 /* Color table for front pen palette*/
- #define ASLFO_BackPens ASL_TB+65 /* Color table for back pen palette */
-
- /* Flag bits for ASLFO_Flags tag */
- #define FOB_DOFRONTPEN 0
- #define FOB_DOBACKPEN 1
- #define FOB_DOSTYLE 2
- #define FOB_DODRAWMODE 3
- #define FOB_FIXEDWIDTHONLY 4
- #define FOB_PRIVATEIDCMP 5
- #define FOB_INTUIFUNC 6
- #define FOB_FILTERFUNC 7
-
- #define FOF_DOFRONTPEN (1L << FOB_DOFRONTPEN)
- #define FOF_DOBACKPEN (1L << FOB_DOBACKPEN)
- #define FOF_DOSTYLE (1L << FOB_DOSTYLE)
- #define FOF_DODRAWMODE (1L << FOB_DODRAWMODE)
- #define FOF_FIXEDWIDTHONLY (1L << FOB_FIXEDWIDTHONLY)
- #define FOF_PRIVATEIDCMP (1L << FOB_PRIVATEIDCMP)
- #define FOF_INTUIFUNC (1L << FOB_INTUIFUNC)
- #define FOF_FILTERFUNC (1L << FOB_FILTERFUNC)
-
-
- /*****************************************************************************
- *
- * ASL Screen Mode Requester data structures and constants
- *
- * This structure must only be allocated by asl.library and is READ-ONLY!
- * Control of the various fields is provided via tags when the requester
- * is created with AllocAslRequest() and when it is displayed via
- * AslRequest()
- */
- struct ScreenModeRequester
- {
- ULONG sm_DisplayID; /* Display mode ID */
- ULONG sm_DisplayWidth; /* Width of display in pixels */
- ULONG sm_DisplayHeight; /* Height of display in pixels */
- UWORD sm_DisplayDepth; /* Number of bit-planes of display */
- UWORD sm_OverscanType; /* Type of overscan of display */
- BOOL sm_AutoScroll; /* Display should auto-scroll? */
-
- ULONG sm_BitMapWidth; /* Used to create your own BitMap */
- ULONG sm_BitMapHeight;
-
- WORD sm_LeftEdge; /* Coordinates of requester on exit */
- WORD sm_TopEdge;
- WORD sm_Width;
- WORD sm_Height;
-
- BOOL sm_InfoOpened; /* Info window opened on exit? */
- WORD sm_InfoLeftEdge; /* Last coordinates of Info window */
- WORD sm_InfoTopEdge;
- WORD sm_InfoWidth;
- WORD sm_InfoHeight;
-
- APTR sm_UserData; /* You can store your own data here */
- };
-
- /* An Exec list of custom modes can be added to the list of available modes.
- * The DimensionInfo structure must be completely initialized, including the
- * Header. See <graphics/displayinfo.h>. Custom mode ID's must be in the range
- * 0xFFFF0000..0xFFFFFFFF. Regular properties which apply to your custom modes
- * can be added in the dn_PropertyFlags field. Custom properties are not
- * allowed.
- */
- struct DisplayMode
- {
- struct Node dm_Node; /* see ln_Name */
- struct DimensionInfo dm_DimensionInfo; /* mode description */
- ULONG dm_PropertyFlags; /* applicable properties */
- };
-
- /* ScreenMode requester tag values, used by AllocAslRequest() and AslRequest() */
-
- /* Window control */
- #define ASLSM_Window ASL_TB+2 /* Parent window */
- #define ASLSM_Screen ASL_TB+40 /* Screen to open on if no window */
- #define ASLSM_PubScreenName ASL_TB+41 /* Name of public screen */
- #define ASLSM_PrivateIDCMP ASL_TB+42 /* Allocate private IDCMP? */
- #define ASLSM_IntuiMsgFunc ASL_TB+70 /* Function to handle IntuiMessages */
- #define ASLSM_SleepWindow ASL_TB+43 /* Block input in ASLSM_Window? */
- #define ASLSM_UserData ASL_TB+52 /* What to put in sm_UserData */
-
- /* Text display */
- #define ASLSM_TextAttr ASL_TB+51 /* Text font to use for gadget text */
- #define ASLSM_Locale ASL_TB+50 /* Locale ASL should use for text */
- #define ASLSM_TitleText ASL_TB+1 /* Title of requester */
- #define ASLSM_PositiveText ASL_TB+18 /* Positive gadget text */
- #define ASLSM_NegativeText ASL_TB+19 /* Negative gadget text */
-
- /* Initial settings */
- #define ASLSM_InitialLeftEdge ASL_TB+3 /* Initial requester coordinates */
- #define ASLSM_InitialTopEdge ASL_TB+4
- #define ASLSM_InitialWidth ASL_TB+5 /* Initial requester dimensions */
- #define ASLSM_InitialHeight ASL_TB+6
- #define ASLSM_InitialDisplayID ASL_TB+100 /* Initial display mode id */
- #define ASLSM_InitialDisplayWidth ASL_TB+101 /* Initial display width */
- #define ASLSM_InitialDisplayHeight ASL_TB+102 /* Initial display height */
- #define ASLSM_InitialDisplayDepth ASL_TB+103 /* Initial display depth */
- #define ASLSM_InitialOverscanType ASL_TB+104 /* Initial type of overscan */
- #define ASLSM_InitialAutoScroll ASL_TB+105 /* Initial autoscroll setting */
- #define ASLSM_InitialInfoOpened ASL_TB+106 /* Info wndw initially opened? */
- #define ASLSM_InitialInfoLeftEdge ASL_TB+107 /* Initial Info window coords. */
- #define ASLSM_InitialInfoTopEdge ASL_TB+108
-
- /* Options */
- #define ASLSM_DoWidth ASL_TB+109 /* Display Width gadget? */
- #define ASLSM_DoHeight ASL_TB+110 /* Display Height gadget? */
- #define ASLSM_DoDepth ASL_TB+111 /* Display Depth gadget? */
- #define ASLSM_DoOverscanType ASL_TB+112 /* Display Overscan Type gadget? */
- #define ASLSM_DoAutoScroll ASL_TB+113 /* Display AutoScroll gadget? */
-
- /* Filtering */
- #define ASLSM_PropertyFlags ASL_TB+114 /* Must have these Property flags */
- #define ASLSM_PropertyMask ASL_TB+115 /* Only these should be looked at */
- #define ASLSM_MinWidth ASL_TB+116 /* Minimum display width to allow */
- #define ASLSM_MaxWidth ASL_TB+117 /* Maximum display width to allow */
- #define ASLSM_MinHeight ASL_TB+118 /* Minimum display height to allow */
- #define ASLSM_MaxHeight ASL_TB+119 /* Maximum display height to allow */
- #define ASLSM_MinDepth ASL_TB+120 /* Minimum display depth */
- #define ASLSM_MaxDepth ASL_TB+121 /* Maximum display depth */
- #define ASLSM_FilterFunc ASL_TB+122 /* Function to filter mode id's */
-
- /* Custom additions */
- #define ASLSM_CustomSMList ASL_TB+123 /* Exec list of struct DisplayMode */
-
-
- /*****************************************************************************
- *
- * Obsolete ASL definitions, here for source code compatibility only.
- * Please do NOT use in new code.
- *
- * #define ASL_V38_NAMES_ONLY to remove these older names
- */
- #ifndef ASL_V38_NAMES_ONLY
- #define rf_File fr_File
- #define rf_Dir fr_Drawer
- #define rf_LeftEdge fr_LeftEdge
- #define rf_TopEdge fr_TopEdge
- #define rf_Width fr_Width
- #define rf_Height fr_Height
- #define rf_NumArgs fr_NumArgs
- #define rf_ArgList fr_ArgList
- #define rf_UserData fr_UserData
- #define rf_Pat fr_Pattern
- #define ASL_Dummy (TAG_USER + 0x80000)
- #define ASL_Hail ASL_Dummy+1
- #define ASL_Window ASL_Dummy+2
- #define ASL_LeftEdge ASL_Dummy+3
- #define ASL_TopEdge ASL_Dummy+4
- #define ASL_Width ASL_Dummy+5
- #define ASL_Height ASL_Dummy+6
- #define ASL_HookFunc ASL_Dummy+7
- #define ASL_File ASL_Dummy+8
- #define ASL_Dir ASL_Dummy+9
- #define ASL_FontName ASL_Dummy+10
- #define ASL_FontHeight ASL_Dummy+11
- #define ASL_FontStyles ASL_Dummy+12
- #define ASL_FontFlags ASL_Dummy+13
- #define ASL_FrontPen ASL_Dummy+14
- #define ASL_BackPen ASL_Dummy+15
- #define ASL_MinHeight ASL_Dummy+16
- #define ASL_MaxHeight ASL_Dummy+17
- #define ASL_OKText ASL_Dummy+18
- #define ASL_CancelText ASL_Dummy+19
- #define ASL_FuncFlags ASL_Dummy+20
- #define ASL_ModeList ASL_Dummy+21
- #define ASL_ExtFlags1 ASL_Dummy+22
- #define ASL_Pattern ASL_FontName
- /* remember what I said up there? Do not use these anymore! */
- #define FILB_DOWILDFUNC 7L
- #define FILB_DOMSGFUNC 6L
- #define FILB_SAVE 5L
- #define FILB_NEWIDCMP 4L
- #define FILB_MULTISELECT 3L
- #define FILB_PATGAD 0L
- #define FILF_DOWILDFUNC (1L << FILB_DOWILDFUNC)
- #define FILF_DOMSGFUNC (1L << FILB_DOMSGFUNC)
- #define FILF_SAVE (1L << FILB_SAVE)
- #define FILF_NEWIDCMP (1L << FILB_NEWIDCMP)
- #define FILF_MULTISELECT (1L << FILB_MULTISELECT)
- #define FILF_PATGAD (1L << FILB_PATGAD)
- #define FIL1B_NOFILES 0L
- #define FIL1B_MATCHDIRS 1L
- #define FIL1F_NOFILES (1L << FIL1B_NOFILES)
- #define FIL1F_MATCHDIRS (1L << FIL1B_MATCHDIRS)
- #define FONB_FRONTCOLOR 0
- #define FONB_BACKCOLOR 1
- #define FONB_STYLES 2
- #define FONB_DRAWMODE 3
- #define FONB_FIXEDWIDTH 4
- #define FONB_NEWIDCMP 5
- #define FONB_DOMSGFUNC 6
- #define FONB_DOWILDFUNC 7
- #define FONF_FRONTCOLOR (1L << FONB_FRONTCOLOR)
- #define FONF_BACKCOLOR (1L << FONB_BACKCOLOR)
- #define FONF_STYLES (1L << FONB_STYLES)
- #define FONF_DRAWMODE (1L << FONB_DRAWMODE)
- #define FONF_FIXEDWIDTH (1L << FONB_FIXEDWIDTH)
- #define FONF_NEWIDCMP (1L << FONB_NEWIDCMP)
- #define FONF_DOMSGFUNC (1L << FONB_DOMSGFUNC)
- #define FONF_DOWILDFUNC (1L << FONB_DOWILDFUNC)
- #endif
-
-
- /*****************************************************************************/
-
-
- #endif /* LIBRARIES_ASL_H */
-