home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 4
/
FreshFish_May-June1994.bin
/
bbs
/
cbm
/
nduk-v37.lha
/
V37
/
include
/
libraries
/
asl.h
next >
Wrap
C/C++ Source or Header
|
1991-11-27
|
8KB
|
231 lines
#ifndef LIBRARIES_ASL_H
#define LIBRARIES_ASL_H 1
/*
** $Filename: libraries/asl.h $
** $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-1991 Commodore-Amiga, Inc.
** All Rights Reserved
*/
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_LISTS_H
#include <exec/lists.h>
#endif
#ifndef EXEC_LIBRARIES_H
#include <exec/libraries.h>
#endif
#ifndef UTILITY_HOOKS_H
#include <utility/hooks.h>
#endif
#ifndef UTILITY_TAGITEM_H
#include <utility/tagitem.h>
#endif
#ifndef WBArg
#include <workbench/startup.h>
#endif
#ifndef GRAPHICS_TEXT_H
#include <graphics/text.h>
#endif
/*
************************************************************************
* Standard definitions for asl library information *
************************************************************************
*/
#define AslName "asl.library"
/*
************************************************************************
* *
* 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() *
* *
************************************************************************
*/
struct FileRequester {
APTR rf_Reserved1;
BYTE *rf_File; /* Filename pointer */
BYTE *rf_Dir; /* Directory name pointer */
CPTR rf_Reserved2;
UBYTE rf_Reserved3;
UBYTE rf_Reserved4;
APTR rf_Reserved5;
WORD rf_LeftEdge,rf_TopEdge; /* Preferred window pos */
WORD rf_Width,rf_Height; /* Preferred window size */
WORD rf_Reserved6;
LONG rf_NumArgs; /* A-la WB Args, for multiselects */
struct WBArg *rf_ArgList;
APTR rf_UserData; /* Applihandle (you may write!!) */
APTR rf_Reserved7;
APTR rf_Reserved8;
BYTE *rf_Pat; /* Pattern match pointer */
}; /* note - more reserved fields follow */
/*
* 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 pointer to allow the application
* to interact with the requester. If an ASL_HookFunc TagItem is
* provided, the hook function will be called like so:
*
* 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.
*
*/
#define FILB_DOWILDFUNC 7L /* Called with an Object=AnchorPath, */
/* ZERO return accepts. */
#define FILB_DOMSGFUNC 6L /* Called with Object=IDCMP message */
/* for other window of shared port. */
/* You must return pointer to Object,*/
/* asl will reply the Object for you */
#define FILB_SAVE 5L /* For a SAVE operation, set this bit */
#define FILB_NEWIDCMP 4L /* Force a new IDCMP (only if rf_Window != NULL) */
#define FILB_MULTISELECT 3L /* Request multiple selections returned from FR. */
/* MULISELECT is ignored if FILB_SAVE is on */
#define FILB_PATGAD 0L /* Ask for pattern gadget */
#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)
/* The following additional flags may be passed with the
* ASL_ExtFlags1 tag.
*/
#define FIL1B_NOFILES 0L /* Do not want a file gadget, no files shown */
#define FIL1B_MATCHDIRS 1L /* Have Patgad or rf_Pat screen files AND DIRS */
#define FIL1F_NOFILES (1L << FIL1B_NOFILES)
#define FIL1F_MATCHDIRS (1L << FIL1B_MATCHDIRS)
/*
************************************************************************
* The ASL font requester data structure... *
* *
* As with the FileRequest structure, the fields documented here are *
* for READ ACCESS ONLY. Any modifications must be done via tags. *
************************************************************************
*/
struct FontRequester {
APTR fo_Reserved1[2];
struct TextAttr fo_Attr; /* Returned TextAttr */
UBYTE fo_FrontPen; /* Returned pens, if selected */
UBYTE fo_BackPen;
UBYTE fo_DrawMode;
APTR fo_UserData;
};
/* Bit defines for ASL_FuncFlags, for FONT requester */
/* See descriptive text for FILF_ values above for an overview. */
/* Note - old mixed-case defines were nonstandard, now obsolete */
#define FONB_FRONTCOLOR 0 /* Display Front color selector? */
#define FONB_BACKCOLOR 1 /* Display Back color selector? */
#define FONB_STYLES 2 /* Display Styles checkboxes? */
#define FONB_DRAWMODE 3 /* Display DrawMode NWay? */
#define FONB_FIXEDWIDTH 4 /* Only allow fixed-width fonts? */
#define FONB_NEWIDCMP 5 /* Create a new IDCMP port, not shared */
#define FONB_DOMSGFUNC 6 /* Called with Object=IntuiMessage for */
/* other windows in shared port, */
/* you must return Object pointer */
/* and asl will reply Object for you */
#define FONB_DOWILDFUNC 7 /* Called with Object=TextAttr to approve*/
/* NON-Zero return accepts */
#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)
/************************************************************************/
/* Arguments to AllocAslRequest() */
/* Types of requester structures which may be allocated: */
/************************************************************************/
#define ASL_FileRequest 0
#define ASL_FontRequest 1
/************************************************************************/
/* Tags for AllocAslRequest() and AslRequest() */
/************************************************************************/
#define ASL_Dummy (TAG_USER + 0x80000)
#define ASL_Hail ASL_Dummy+1 /* Hailing text follows */
#define ASL_Window ASL_Dummy+2 /* Parent window for IDCMP & screen */
#define ASL_LeftEdge ASL_Dummy+3 /* Initialize LeftEdge */
#define ASL_TopEdge ASL_Dummy+4 /* Initialize TopEdge */
#define ASL_Width ASL_Dummy+5
#define ASL_Height ASL_Dummy+6
#define ASL_HookFunc ASL_Dummy+7 /* Hook function pointer */
/* Tags specific to file request */
#define ASL_File ASL_Dummy+8 /* Initial name of file follows */
#define ASL_Dir ASL_Dummy+9 /* Initial string of filerequest dir */
/* Tags specific to font request */
#define ASL_FontName ASL_Dummy+10 /* Initial font name */
#define ASL_FontHeight ASL_Dummy+11 /* Initial font height */
#define ASL_FontStyles ASL_Dummy+12 /* Initial font styles */
#define ASL_FontFlags ASL_Dummy+13 /* Initial font flags for textattr */
#define ASL_FrontPen ASL_Dummy+14 /* Initial frontpen color */
#define ASL_BackPen ASL_Dummy+15 /* Initial backpen color */
#define ASL_MinHeight ASL_Dummy+16 /* Minimum font height to display */
#define ASL_MaxHeight ASL_Dummy+17 /* Max font height to display */
#define ASL_OKText ASL_Dummy+18 /* Text displayed in OK gadget */
#define ASL_CancelText ASL_Dummy+19 /* Text displayed in CANCEL gadget */
#define ASL_FuncFlags ASL_Dummy+20 /* Function flags, depend on request */
#define ASL_ModeList ASL_Dummy+21 /* Substitute list for font drawmodes */
#define ASL_ExtFlags1 ASL_Dummy+22 /* For passing extended FIL1F flags */
#define ASL