home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
dev
/
oberon-a-1.4ß.lha
/
Oberon-A
/
source
/
amiga
/
ASL.mod
< prev
next >
Wrap
Text File
|
1994-08-08
|
18KB
|
495 lines
(***************************************************************************
$RCSfile: ASL.mod $
Description: Interface to asl.library
Created by: fjc (Frank Copeland)
$Revision: 3.2 $
$Author: fjc $
$Date: 1994/08/08 01:12:29 $
Includes Release 40.15
(C) Copyright 1989-1993 Commodore-Amiga Inc.
(C) Copyright 1989-1990 Charlie Heath
All Rights Reserved
Oberon-A interface Copyright © 1994, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
MODULE ASL;
(*
** $C- CaseChk $I- IndexChk $L+ LongAdr $N- NilChk
** $P- PortableCode $R- RangeChk $S- StackChk $T- TypeChk
** $V- OvflChk $Z- ZeroVars
*)
IMPORT
E := Exec, U := Utility, G := Graphics, W := Workbench, SYS := SYSTEM;
(*
** $VER: asl.h 38.5 (5.1.93)
**
** ASL library structures and constants
*)
(*****************************************************************************)
CONST
name * = "asl.library";
tb * = U.tagUser+080000H;
(*****************************************************************************)
CONST
(* Types of requesters known to ASL, used as arguments to AllocAslRequest() *)
fileRequest * = 0;
fontRequest * = 1;
screenModeRequest * = 2;
(*
** Requester base type, for type compatibility between requester
** structures
*)
TYPE
RequesterBasePtr * = CPOINTER TO RequesterBase;
RequesterBase * = RECORD END;
(*****************************************************************************
*
* 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()
*)
TYPE
FileRequesterPtr * = CPOINTER TO FileRequester;
FileRequester * = RECORD (RequesterBase)
reserved0 - : ARRAY 4 OF E.UBYTE;
file - : E.STRPTR; (* Contents of File gadget on exit *)
drawer - : E.STRPTR; (* Contents of Drawer gadget on exit *)
reserved1 - : ARRAY 10 OF E.UBYTE;
leftEdge - : INTEGER; (* Coordinates of requester on exit *)
topEdge - : INTEGER;
width - : INTEGER;
height - : INTEGER;
reserved2 - : ARRAY 2 OF E.UBYTE;
numArgs - : LONGINT; (* Number of files selected *)
argList - : W.WBArgPtr; (* List of files selected *)
userData - : E.APTR; (* You can store your own data here *)
reserved3 - : ARRAY 8 OF E.UBYTE;
pattern - : E.STRPTR; (* Contents of Pattern gadget on exit *)
END;
CONST
(* File requester tag values, used by AllocAslRequest() and AslRequest() *)
(* Window control *)
frWindow * = tb+2; (* Parent window *)
frScreen * = tb+40; (* Screen to open on if no window *)
frPubScreenName * = tb+41; (* Name of public screen *)
frPrivateIDCMP * = tb+42; (* Allocate private IDCMP? *)
frIntuiMsgFunc * = tb+70; (* Function to handle IntuiMessages *)
frSleepWindow * = tb+43; (* Block input in FR_Window? *)
frUserData * = tb+52; (* What to put in userData *)
(* Text display *)
frTextAttr * = tb+51; (* Text font to use for gadget text *)
frLocale * = tb+50; (* Locale should use for text *)
frTitleText * = tb+1; (* Title of requester *)
frPositiveText * = tb+18; (* Positive gadget text *)
frNegativeText * = tb+19; (* Negative gadget text *)
(* Initial settings *)
frInitialLeftEdge * = tb+3; (* Initial requester coordinates *)
frInitialTopEdge * = tb+4;
frInitialWidth * = tb+5; (* Initial requester dimensions *)
frInitialHeight * = tb+6;
frInitialFile * = tb+8; (* Initial contents of File gadget *)
frInitialDrawer * = tb+9; (* Initial contents of Drawer gadg. *)
frInitialPattern * = tb+10; (* Initial contents of Pattern gadg.*)
(* Options *)
frFlags1 * = tb+20; (* Option flags *)
frFlags2 * = tb+22; (* Additional option flags *)
frDoSaveMode * = tb+44; (* Being used for saving? *)
frDoMultiSelect * = tb+45; (* Do multi-select? *)
frDoPatterns * = tb+46; (* Display a Pattern gadget? *)
(* Filtering *)
frDrawersOnly * = tb+47; (* Don't display files? *)
frFilterFunc * = tb+49; (* Function to filter files *)
frRejectIcons * = tb+60; (* Display .info files? *)
frRejectPattern * = tb+61; (* Don't display files matching pat *)
frAcceptPattern * = tb+62; (* Accept only files matching pat *)
frFilterDrawers * = tb+63; (* Also filter drawers with patterns*)
frHookFunc * = tb+7; (* Combined callback function *)
(* Flag bits for the frFlags1 tag *)
frbFilterFunc * = 7;
frbIntuiFunc * = 6;
frbDoSaveMode * = 5;
frbPrivateIDCMP * = 4;
frbDoMultiSelect * = 3;
frbDoPatterns * = 0;
(* Flag bits for the frFlags2 tag *)
frbDrawersOnly * = 0;
frbFilterDrawers * = 1;
frbRejectIcons * = 2;
(*****************************************************************************
*
* 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()
*)
TYPE
FontRequesterPtr * = CPOINTER TO FontRequester;
FontRequester * = RECORD (RequesterBase)
reserved0 - : ARRAY 8 OF E.UBYTE;
attr - : G.TextAttr; (* Returned TextAttr *)
frontPen - : E.UBYTE; (* Returned front pen *)
backPen - : E.UBYTE; (* Returned back pen *)
drawMode - : E.UBYTE; (* Returned drawing mode *)
reserved1 - : E.UBYTE;
userData - : E.APTR; (* You can store your own data here *)
leftEdge - : INTEGER; (* Coordinates of requester on exit *)
topEdge - : INTEGER;
width - : INTEGER;
height - : INTEGER;
tAttr - : G.TTextAttr; (* Returned TTextAttr *)
END;
CONST
(* Font requester tag values, used by AllocAslRequest() and AslRequest() *)
(* Window control *)
foWindow * = tb+2; (* Parent window *)
foScreen * = tb+40; (* Screen to open on if no window *)
foPubScreenName * = tb+41; (* Name of public screen *)
foPrivateIDCMP * = tb+42; (* Allocate private IDCMP? *)
foIntuiMsgFunc * = tb+70; (* Function to handle IntuiMessages *)
foSleepWindow * = tb+43; (* Block input in FO_Window? *)
foUserData * = tb+52; (* What to put in fo_UserData *)
(* Text display *)
foTextAttr * = tb+51; (* Text font to use for gadget text *)
foLocale * = tb+50; (* Locale ASL should use for text *)
foTitleText * = tb+1; (* Title of requester *)
foPositiveText * = tb+18; (* Positive gadget text *)
foNegativeText * = tb+19; (* Negative gadget text *)
(* Initial settings *)
foInitialLeftEdge * = tb+3; (* Initial requester coordinates *)
foInitialTopEdge * = tb+4;
foInitialWidth * = tb+5; (* Initial requester dimensions *)
foInitialHeight * = tb+6;
foInitialName * = tb+10; (* Initial contents of Name gadget *)
foInitialSize * = tb+11; (* Initial contents of Size gadget *)
foInitialStyle * = tb+12; (* Initial font style *)
foInitialFlags * = tb+13; (* Initial font flags for TextAttr *)
foInitialFrontPen * = tb+14; (* Initial front pen *)
foInitialBackPen * = t