home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
cbm
/
os-include.lha
/
os-include
/
libraries
/
asl.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-10-15
|
18KB
|
436 lines
#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 */