mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 15:06:15 +02:00
amunits, morphunits: adjusted ASL library unit to latest SDK
git-svn-id: trunk@37020 -
This commit is contained in:
parent
627f45abac
commit
a57a6d09f3
@ -49,26 +49,25 @@
|
||||
nils.sjoholm@mailbox.swipnet.se
|
||||
}
|
||||
{$PACKRECORDS 2}
|
||||
unit asl;
|
||||
|
||||
UNIT asl;
|
||||
|
||||
INTERFACE
|
||||
uses exec, utility, workbench, agraphics;
|
||||
interface
|
||||
uses
|
||||
exec, utility, workbench, agraphics;
|
||||
|
||||
{************************************************************************}
|
||||
|
||||
CONST
|
||||
ASLNAME : PChar = 'asl.library';
|
||||
ASL_TB = TAG_USER+$80000;
|
||||
const
|
||||
ASLNAME: PChar = 'asl.library';
|
||||
ASL_TB = TAG_USER + $80000;
|
||||
|
||||
{************************************************************************}
|
||||
|
||||
{ Types of requesters known to ASL, used as arguments to AllocAslRequest() }
|
||||
// Types of requesters known to ASL, used as arguments to AllocAslRequest()
|
||||
ASL_FileRequest = 0;
|
||||
ASL_FontRequest = 1;
|
||||
ASL_ScreenModeRequest = 2;
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
* ASL File Requester data structures and constants
|
||||
@ -79,119 +78,139 @@ CONST
|
||||
* AslRequest()
|
||||
}
|
||||
|
||||
Type
|
||||
pFileRequester = ^tFileRequester;
|
||||
tFileRequester = record
|
||||
rf_Reserved0 : Array[0..3] Of Byte;
|
||||
rf_File : STRPTR; { Filename pointer }
|
||||
rf_Dir : STRPTR; { Directory name pointer }
|
||||
rf_Reserved1 : Array[0..9] Of Byte;
|
||||
rf_LeftEdge : smallint;
|
||||
rf_TopEdge : smallint; { Preferred window pos }
|
||||
rf_Width : smallint;
|
||||
rf_Height : smallint; { Preferred window size }
|
||||
rf_Reserved2 : Array[0..1] Of Byte;
|
||||
rf_NumArgs : LongInt; { A-la WB Args, FOR multiselects }
|
||||
rf_ArgList : pWBArgList;
|
||||
rf_UserData : Pointer; { Applihandle (you may write!!) }
|
||||
rf_Reserved3 : Array[0..7] Of Byte;
|
||||
rf_Pat : STRPTR; { Pattern match pointer }
|
||||
END; { note - more reserved fields follow }
|
||||
type
|
||||
PFileRequester = ^TFileRequester;
|
||||
TFileRequester = record
|
||||
case SmallInt of
|
||||
0: (
|
||||
rf_Reserved0: array[0..3] of Byte;
|
||||
rf_File: STRPTR; // Filename pointer
|
||||
rf_Dir: STRPTR; // Directory name pointer
|
||||
rf_Reserved1: array[0..9] of Byte;
|
||||
rf_LeftEdge: SmallInt;
|
||||
rf_TopEdge: SmallInt; // Preferred window pos
|
||||
rf_Width: SmallInt;
|
||||
rf_Height: SmallInt; // Preferred window size
|
||||
rf_Reserved2: array[0..1] of Byte;
|
||||
rf_NumArgs: LongInt; // A-la WB Args, FOR multiselects
|
||||
rf_ArgList: PWBArgList;
|
||||
rf_UserData: APTR; // Applihandle (you may write!!)
|
||||
rf_Reserved3: array[0..7] of Byte;
|
||||
rf_Pat: STRPTR; // Pattern match pointer
|
||||
);
|
||||
1: (
|
||||
fr_Reserved0: array[0..3] of Byte;
|
||||
fr_File: STRPTR; // Filename pointer
|
||||
fr_Drawer: STRPTR; // Directory name pointer
|
||||
fr_Reserved1: array[0..9] of Byte;
|
||||
fr_LeftEdge: SmallInt;
|
||||
fr_TopEdge: SmallInt; // Preferred window pos
|
||||
fr_Width: SmallInt;
|
||||
fr_Height: SmallInt; // Preferred window size
|
||||
fr_Reserved2: array[0..1] of Byte;
|
||||
fr_NumArgs: LongInt; // A-la WB Args, FOR multiselects
|
||||
fr_ArgList: PWBArgList;
|
||||
fr_UserData: APTR; // Applihandle (you may write!!)
|
||||
fr_Reserved3: array[0..7] of Byte;
|
||||
fr_Pattern: STRPTR; // Pattern match pointer
|
||||
);
|
||||
end; // note - more reserved fields follow
|
||||
|
||||
|
||||
{ File requester tag values, used by AllocAslRequest() and AslRequest() }
|
||||
|
||||
const
|
||||
{ Window control }
|
||||
ASLFR_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLFR_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLFR_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLFR_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLFR_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLFR_SleepWindow = ASL_TB+43; { Block input in ASLFR_Window? }
|
||||
ASLFR_UserData = ASL_TB+52; { What to put in fr_UserData }
|
||||
ASLFR_PopToFront = ASL_TB+131; { Make the requester window visible }
|
||||
ASLFR_Activate = ASL_TB+132; { Activate the requester window when }
|
||||
ASLFR_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLFR_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Text display }
|
||||
ASLFR_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLFR_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLFR_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLFR_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLFR_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLFR_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLFR_InitialTopEdge = ASL_TB + 4;
|
||||
ASLFR_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLFR_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Initial settings }
|
||||
ASLFR_InitialLeftEdge= ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLFR_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLFR_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLFR_InitialHeight = ASL_TB+6 ;
|
||||
ASLFR_InitialFile = ASL_TB+8 ; { Initial contents of File gadget }
|
||||
ASLFR_InitialDrawer = ASL_TB+9 ; { Initial contents of Drawer gadg. }
|
||||
ASLFR_InitialPattern = ASL_TB+10; { Initial contents of Pattern gadg.}
|
||||
ASLFR_InitialShowVolumes = ASL_TB+130; { Initially, show the volume list (V44) }
|
||||
ASLFR_HookFunc = ASL_TB + 7; // Combined callback function
|
||||
|
||||
{ Options }
|
||||
ASLFR_Flags1 = ASL_TB+20; { Option flags }
|
||||
ASLFR_Flags2 = ASL_TB+22; { Additional option flags }
|
||||
ASLFR_DoSaveMode = ASL_TB+44; { Being used for saving? }
|
||||
ASLFR_DoMultiSelect = ASL_TB+45; { Do multi-select? }
|
||||
ASLFR_DoPatterns = ASL_TB+46; { Display a Pattern gadget? }
|
||||
ASLFR_InitialFile = ASL_TB + 8; // Initial contents of File gadget
|
||||
ASLFR_InitialDrawer = ASL_TB + 9; // Initial contents of Drawer gadg.
|
||||
ASLFR_InitialPattern = ASL_TB + 10; // Initial contents of Pattern gadg.
|
||||
|
||||
{ Filtering }
|
||||
ASLFR_DrawersOnly = ASL_TB+47; { Don't display files? }
|
||||
ASLFR_FilterFunc = ASL_TB+49; { Function to filter files }
|
||||
ASLFR_RejectIcons = ASL_TB+60; { Display .info files? }
|
||||
ASLFR_RejectPattern = ASL_TB+61; { Don't display files matching pat }
|
||||
ASLFR_AcceptPattern = ASL_TB+62; { Accept only files matching pat }
|
||||
ASLFR_FilterDrawers = ASL_TB+63; { Also filter drawers with patterns}
|
||||
ASLFR_HookFunc = ASL_TB+7 ; { Combined callback function }
|
||||
ASLFR_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLFR_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
{ Sorting }
|
||||
ASLFR_SetSortBy = ASL_TB+124; { Sort criteria (name, date, size) }
|
||||
ASLFR_GetSortBy = ASL_TB+125;
|
||||
ASLFR_SetSortDrawers = ASL_TB+126; { Placement of drawers in the list }
|
||||
ASLFR_GetSortDrawers = ASL_TB+127;
|
||||
ASLFR_SetSortOrder = ASL_TB+128; { Order (ascending or descending) }
|
||||
ASLFR_GetSortOrder = ASL_TB+129;
|
||||
ASLFR_Flags1 = ASL_TB + 20; // Option flags
|
||||
ASLFR_Flags2 = ASL_TB + 22; // Additional option flags
|
||||
|
||||
ASLFR_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLFR_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLFR_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLFR_SleepWindow = ASL_TB + 43; // Block input in ASLFR_Window?
|
||||
|
||||
{ Flag bits for the ASLFR_Flags1 tag }
|
||||
FRB_FILTERFUNC = 7;
|
||||
FRB_INTUIFUNC = 6;
|
||||
FRB_DOSAVEMODE = 5;
|
||||
FRB_PRIVATEIDCMP = 4;
|
||||
FRB_DOMULTISELECT = 3;
|
||||
FRB_DOPATTERNS = 0;
|
||||
ASLFR_DoSaveMode = ASL_TB + 44; // Being used for saving?
|
||||
ASLFR_DoMultiSelect = ASL_TB + 45; // Do multi-select?
|
||||
ASLFR_DoPatterns = ASL_TB + 46; // Display a Pattern gadget?
|
||||
|
||||
FRF_FILTERFUNC = 128;
|
||||
FRF_INTUIFUNC = 64;
|
||||
FRF_DOSAVEMODE = 32;
|
||||
FRF_PRIVATEIDCMP = 16;
|
||||
FRF_DOMULTISELECT = 8;
|
||||
FRF_DOPATTERNS = 1;
|
||||
ASLFR_DrawersOnly = ASL_TB + 47; // Don't display files?
|
||||
ASLFR_FilterFunc = ASL_TB + 49; // Function to filter files
|
||||
|
||||
{ Flag bits for the ASLFR_Flags2 tag }
|
||||
FRB_DRAWERSONLY = 0;
|
||||
FRB_FILTERDRAWERS = 1;
|
||||
FRB_REJECTICONS = 2;
|
||||
ASLFR_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLFR_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLFR_UserData = ASL_TB + 52; // What to put in fr_UserData
|
||||
|
||||
FRF_DRAWERSONLY = 1;
|
||||
FRF_FILTERDRAWERS = 2;
|
||||
FRF_REJECTICONS = 4;
|
||||
ASLFR_RejectIcons = ASL_TB + 60; // Display .info files?
|
||||
ASLFR_RejectPattern = ASL_TB + 61; // Don't display files matching pat
|
||||
ASLFR_AcceptPattern = ASL_TB + 62; // Accept only files matching pat
|
||||
ASLFR_FilterDrawers = ASL_TB + 63; // Also filter drawers with patterns
|
||||
|
||||
{ Sort criteria for the ASLFR_SetSortBy/ASLFR_GetSortBy tags }
|
||||
ASLFRSORTBY_Name = 0;
|
||||
ASLFRSORTBY_Date = 1;
|
||||
ASLFRSORTBY_Size = 2;
|
||||
ASLFR_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
|
||||
{ Drawer placement for the ASLFR_SetSortDrawers/ASLFR_GetSortDrawers tags }
|
||||
ASLFRSORTDRAWERS_First = 0;
|
||||
ASLFRSORTDRAWERS_Mix = 1;
|
||||
ASLFRSORTDRAWERS_Last = 2;
|
||||
ASLFR_SetSortBy = ASL_TB + 124; // Sort criteria (name, date, size)
|
||||
ASLFR_GetSortBy = ASL_TB + 125;
|
||||
ASLFR_SetSortDrawers = ASL_TB + 126; // Placement of drawers in the list
|
||||
ASLFR_GetSortDrawers = ASL_TB + 127;
|
||||
ASLFR_SetSortOrder = ASL_TB + 128; // Order (ascending or descending)
|
||||
ASLFR_GetSortOrder = ASL_TB + 129;
|
||||
// V44
|
||||
ASLFR_InitialShowVolumes = ASL_TB + 130; // Initially, show the volume list
|
||||
ASLFR_PopToFront = ASL_TB + 131; // Make the requester window visible
|
||||
// V45
|
||||
ASLFR_Activate = ASL_TB + 132; // Activate the requester window when
|
||||
|
||||
{ Sort order for the ASLFR_SetSortOrder/ASLFR_GetSortOrder tags }
|
||||
ASLFRSORTORDER_Ascend = 0;
|
||||
ASLFRSORTORDER_Descend = 1;
|
||||
// Flag bits for the ASLFR_Flags1 tag
|
||||
FRB_FILTERFUNC = 7;
|
||||
FRB_INTUIFUNC = 6;
|
||||
FRB_DOSAVEMODE = 5;
|
||||
FRB_PRIVATEIDCMP = 4;
|
||||
FRB_DOMULTISELECT = 3;
|
||||
FRB_DOPATTERNS = 0;
|
||||
|
||||
FRF_FILTERFUNC = 1 shl FRB_FILTERFUNC;
|
||||
FRF_INTUIFUNC = 1 shl FRB_INTUIFUNC;
|
||||
FRF_DOSAVEMODE = 1 shl FRB_DOSAVEMODE;
|
||||
FRF_PRIVATEIDCMP = 1 shl FRB_PRIVATEIDCMP;
|
||||
FRF_DOMULTISELECT = 1 shl FRB_DOMULTISELECT;
|
||||
FRF_DOPATTERNS = 1 shl FRB_DOPATTERNS;
|
||||
|
||||
// Flag bits for the ASLFR_Flags2 tag
|
||||
FRB_DRAWERSONLY = 0;
|
||||
FRB_FILTERDRAWERS = 1;
|
||||
FRB_REJECTICONS = 2;
|
||||
|
||||
FRF_DRAWERSONLY = 1 shl FRB_DRAWERSONLY;
|
||||
FRF_FILTERDRAWERS = 1 shl FRB_FILTERDRAWERS;
|
||||
FRF_REJECTICONS = 1 shl FRB_REJECTICONS;
|
||||
|
||||
// Sort criteria for the ASLFR_SetSortBy/ASLFR_GetSortBy tags
|
||||
ASLFRSORTBY_Name = 0;
|
||||
ASLFRSORTBY_Date = 1;
|
||||
ASLFRSORTBY_Size = 2;
|
||||
|
||||
// Drawer placement for the ASLFR_SetSortDrawers/ASLFR_GetSortDrawers tags
|
||||
ASLFRSORTDRAWERS_First = 0;
|
||||
ASLFRSORTDRAWERS_Mix = 1;
|
||||
ASLFRSORTDRAWERS_Last = 2;
|
||||
|
||||
// Sort order for the ASLFR_SetSortOrder/ASLFR_GetSortOrder tags
|
||||
ASLFRSORTORDER_Ascend = 0;
|
||||
ASLFRSORTORDER_Descend = 1;
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
@ -203,101 +222,104 @@ const
|
||||
* AslRequest()
|
||||
}
|
||||
|
||||
Type
|
||||
pFontRequester = ^tFontRequester;
|
||||
tFontRequester = record
|
||||
fo_Reserved0 : Array[0..7] Of Byte;
|
||||
fo_Attr : tTextAttr; { Returned TextAttr }
|
||||
fo_FrontPen : Byte; { Returned front pen }
|
||||
fo_BackPen : Byte; { Returned back pen }
|
||||
fo_DrawMode : Byte; { Returned drawing mode }
|
||||
fo_Reserved1 : Byte;
|
||||
fo_UserData : Pointer; { You can store your own data here }
|
||||
fo_LeftEdge : smallint; { Coordinates Of requester on Exit }
|
||||
fo_TopEdge : smallint;
|
||||
fo_Width : smallint;
|
||||
fo_Height : smallint;
|
||||
fo_TAttr : tTTextAttr; { Returned TTextAttr }
|
||||
end;
|
||||
type
|
||||
PFontRequester = ^TFontRequester;
|
||||
TFontRequester = record
|
||||
fo_Reserved0: array[0..7] of Byte;
|
||||
fo_Attr: TTextAttr; // Returned TextAttr
|
||||
fo_FrontPen: Byte; // Returned front pen
|
||||
fo_BackPen: Byte; // Returned back pen
|
||||
fo_DrawMode: Byte; // Returned drawing mode
|
||||
fo_Reserved1: Byte;
|
||||
fo_UserData: APTR; // You can store your own data here
|
||||
fo_LeftEdge: SmallInt; // Coordinates Of requester on Exit
|
||||
fo_TopEdge: SmallInt;
|
||||
fo_Width: SmallInt;
|
||||
fo_Height: SmallInt;
|
||||
fo_TAttr: TTTextAttr; // Returned TTextAttr
|
||||
end;
|
||||
|
||||
|
||||
{ Font requester tag values, used by AllocAslRequest() AND AslRequest() }
|
||||
|
||||
// Font requester tag values, used by AllocAslRequest() AND AslRequest()
|
||||
const
|
||||
{ Window control }
|
||||
ASLFO_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLFO_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLFO_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLFO_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLFO_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLFO_SleepWindow = ASL_TB+43; { Block input in ASLFO_Window? }
|
||||
ASLFO_UserData = ASL_TB+52; { What to put in fo_UserData }
|
||||
ASLFO_PopToFront = ASL_TB+131; { Make the requester window visible
|
||||
* when it opens (V44)
|
||||
}
|
||||
ASLFO_Activate = ASL_TB+132; { Activate the requester window when
|
||||
* it opens (V45).
|
||||
}
|
||||
{ Text display }
|
||||
ASLFO_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLFO_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLFO_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLFO_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLFO_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLFO_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLFO_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Initial settings }
|
||||
ASLFO_InitialLeftEdge= ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLFO_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLFO_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLFO_InitialHeight = ASL_TB+6 ;
|
||||
ASLFO_InitialName = ASL_TB+10; { Initial contents of Name gadget }
|
||||
ASLFO_InitialSize = ASL_TB+11; { Initial contents of Size gadget }
|
||||
ASLFO_InitialStyle = ASL_TB+12; { Initial font style }
|
||||
ASLFO_InitialFlags = ASL_TB+13; { Initial font flags for TextAttr }
|
||||
ASLFO_InitialFrontPen= ASL_TB+14; { Initial front pen }
|
||||
ASLFO_InitialBackPen = ASL_TB+15; { Initial back pen }
|
||||
ASLFO_InitialDrawMode= ASL_TB+59; { Initial draw mode }
|
||||
ASLFO_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLFO_InitialTopEdge = ASL_TB + 4;
|
||||
ASLFO_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLFO_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Options }
|
||||
ASLFO_Flags = ASL_TB+20; { Option flags }
|
||||
ASLFO_DoFrontPen = ASL_TB+44; { Display Front color selector? }
|
||||
ASLFO_DoBackPen = ASL_TB+45; { Display Back color selector? }
|
||||
ASLFO_DoStyle = ASL_TB+46; { Display Style checkboxes? }
|
||||
ASLFO_DoDrawMode = ASL_TB+47; { Display DrawMode cycle gadget? }
|
||||
ASLFO_SampleText = ASL_TB+133; { Text to display in font sample area (V45) }
|
||||
ASLFO_HookFunc = ASL_TB + 7; // Combined callback function
|
||||
|
||||
{ Filtering }
|
||||
ASLFO_FixedWidthOnly = ASL_TB+48; { Only allow fixed-width fonts? }
|
||||
ASLFO_MinHeight = ASL_TB+16; { Minimum font height to display }
|
||||
ASLFO_MaxHeight = ASL_TB+17; { Maximum font height to display }
|
||||
ASLFO_FilterFunc = ASL_TB+49; { Function to filter fonts }
|
||||
ASLFO_HookFunc = ASL_TB+7 ; { Combined callback function }
|
||||
ASLFO_MaxFrontPen = ASL_TB+66; { Max # of colors in front palette }
|
||||
ASLFO_MaxBackPen = ASL_TB+67; { Max # of colors in back palette }
|
||||
ASLFO_InitialName = ASL_TB + 10; // Initial contents of Name gadget
|
||||
ASLFO_InitialSize = ASL_TB + 11; // Initial contents of Size gadget
|
||||
ASLFO_InitialStyle = ASL_TB + 12; // Initial font style
|
||||
ASLFO_InitialFlags = ASL_TB + 13; // Initial font flags for TextAttr
|
||||
ASLFO_InitialFrontPen = ASL_TB + 14; // Initial front pen
|
||||
ASLFO_InitialBackPen = ASL_TB + 15; // Initial back pen
|
||||
|
||||
{ Custom additions }
|
||||
ASLFO_ModeList = ASL_TB+21; { Substitute list for drawmodes }
|
||||
ASLFO_FrontPens = ASL_TB+64; { Color table for front pen palette}
|
||||
ASLFO_BackPens = ASL_TB+65; { Color table for back pen palette }
|
||||
ASLFO_MinHeight = ASL_TB + 16; // Minimum font height to display
|
||||
ASLFO_MaxHeight = ASL_TB + 17; // Maximum font height to display
|
||||
|
||||
{ Flag bits for ASLFO_Flags tag }
|
||||
FOB_DOFRONTPEN = 0;
|
||||
FOB_DOBACKPEN = 1;
|
||||
FOB_DOSTYLE = 2;
|
||||
FOB_DODRAWMODE = 3;
|
||||
FOB_FIXEDWIDTHONLY= 4;
|
||||
FOB_PRIVATEIDCMP = 5;
|
||||
FOB_INTUIFUNC = 6;
|
||||
FOB_FILTERFUNC = 7;
|
||||
ASLFO_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLFO_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
FOF_DOFRONTPEN = 1;
|
||||
FOF_DOBACKPEN = 2;
|
||||
FOF_DOSTYLE = 4;
|
||||
FOF_DODRAWMODE = 8;
|
||||
FOF_FIXEDWIDTHONLY = 16;
|
||||
FOF_PRIVATEIDCMP = 32;
|
||||
FOF_INTUIFUNC = 64;
|
||||
FOF_FILTERFUNC = 128;
|
||||
ASLFO_Flags = ASL_TB + 20; // Option flags
|
||||
|
||||
ASLFO_ModeList = ASL_TB + 21; // Substitute list for drawmodes
|
||||
|
||||
ASLFO_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLFO_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLFO_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLFO_SleepWindow = ASL_TB + 43; // Block input in ASLFO_Window?
|
||||
|
||||
ASLFO_DoFrontPen = ASL_TB + 44; // Display Front color selector?
|
||||
ASLFO_DoBackPen = ASL_TB + 45; // Display Back color selector?
|
||||
ASLFO_DoStyle = ASL_TB + 46; // Display Style checkboxes?
|
||||
ASLFO_DoDrawMode = ASL_TB + 47; // Display DrawMode cycle gadget?
|
||||
|
||||
ASLFO_FixedWidthOnly = ASL_TB + 48; // Only allow fixed-width fonts?
|
||||
|
||||
ASLFO_FilterFunc = ASL_TB + 49; // Function to filter fonts
|
||||
|
||||
ASLFO_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLFO_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLFO_UserData = ASL_TB + 52; // What to put in fo_UserData
|
||||
|
||||
ASLFO_InitialDrawMode = ASL_TB + 59; // Initial draw mode
|
||||
|
||||
ASLFO_FrontPens = ASL_TB + 64; // Color table for front pen palette
|
||||
ASLFO_BackPens = ASL_TB + 65; // Color table for back pen palette
|
||||
|
||||
ASLFO_MaxFrontPen = ASL_TB + 66; // Max # of colors in front palette
|
||||
ASLFO_MaxBackPen = ASL_TB + 67; // Max # of colors in back palette
|
||||
|
||||
ASLFO_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
// V44
|
||||
ASLFO_PopToFront = ASL_TB + 131; // Make the requester window visible when it opens
|
||||
// V45
|
||||
ASLFO_Activate = ASL_TB + 132; // Activate the requester window when it opens
|
||||
ASLFO_SampleText = ASL_TB + 133; // Text to display in font sample area
|
||||
|
||||
// Flag bits for ASLFO_Flags tag
|
||||
FOB_DOFRONTPEN = 0;
|
||||
FOB_DOBACKPEN = 1;
|
||||
FOB_DOSTYLE = 2;
|
||||
FOB_DODRAWMODE = 3;
|
||||
FOB_FIXEDWIDTHONLY = 4;
|
||||
FOB_PRIVATEIDCMP = 5;
|
||||
FOB_INTUIFUNC = 6;
|
||||
FOB_FILTERFUNC = 7;
|
||||
|
||||
FOF_DOFRONTPEN = 1 shl FOB_DOFRONTPEN;
|
||||
FOF_DOBACKPEN = 1 shl FOB_DOBACKPEN;
|
||||
FOF_DOSTYLE = 1 shl FOB_DOSTYLE;
|
||||
FOF_DODRAWMODE = 1 shl FOB_DODRAWMODE;
|
||||
FOF_FIXEDWIDTHONLY = 1 shl FOB_FIXEDWIDTHONLY;
|
||||
FOF_PRIVATEIDCMP = 1 shl FOB_PRIVATEIDCMP;
|
||||
FOF_INTUIFUNC = 1 shl FOB_INTUIFUNC;
|
||||
FOF_FILTERFUNC = 1 shl FOB_FILTERFUNC;
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
@ -309,32 +331,32 @@ const
|
||||
* AslRequest()
|
||||
}
|
||||
|
||||
Type
|
||||
pScreenModeRequester = ^tScreenModeRequester;
|
||||
tScreenModeRequester = record
|
||||
sm_DisplayID : ULONG; { Display mode ID }
|
||||
sm_DisplayWidth : ULONG; { Width Of display IN pixels }
|
||||
sm_DisplayHeight : ULONG; { Height Of display IN pixels }
|
||||
sm_DisplayDepth : word; { Number OF bit-planes OF display }
|
||||
sm_OverscanType : word; { TYPE OF overscan OF display }
|
||||
sm_AutoScroll : Boolean; { Display should auto-scroll? }
|
||||
type
|
||||
PScreenModeRequester = ^TScreenModeRequester;
|
||||
TScreenModeRequester = record
|
||||
sm_DisplayID: Cardinal; // Display mode ID
|
||||
sm_DisplayWidth: Cardinal; // Width of display in pixels
|
||||
sm_DisplayHeight: Cardinal; // Height of display in pixels
|
||||
sm_DisplayDepth: Word; // Number of bit-planes of display
|
||||
sm_OverscanType: Word; // type of overscan of display
|
||||
sm_AutoScroll: WordBool; // Display should auto-scroll?
|
||||
|
||||
sm_BitMapWidth : ULONG; { Used TO create your own BitMap }
|
||||
sm_BitMapHeight : ULONG;
|
||||
sm_BitMapWidth: Cardinal; // Used to create your own BitMap
|
||||
sm_BitMapHeight: Cardinal;
|
||||
|
||||
sm_LeftEdge : smallint; { Coordinates OF requester on Exit }
|
||||
sm_TopEdge : smallint;
|
||||
sm_Width : smallint;
|
||||
sm_Height : smallint;
|
||||
sm_LeftEdge: SmallInt; // Coordinates of requester on Exit
|
||||
sm_TopEdge: SmallInt;
|
||||
sm_Width: SmallInt;
|
||||
sm_Height: SmallInt;
|
||||
|
||||
sm_InfoOpened : Boolean; { Info window opened on exit? }
|
||||
sm_InfoLeftEdge : smallint; { Last coordinates OF Info window }
|
||||
sm_InfoTopEdge : smallint;
|
||||
sm_InfoWidth : smallint;
|
||||
sm_InfoHeight : smallint;
|
||||
sm_InfoOpened: WordBool; // Info window opened on exit?
|
||||
sm_InfoLeftEdge: SmallInt; // Last coordinates of Info window
|
||||
sm_InfoTopEdge: SmallInt;
|
||||
sm_InfoWidth: SmallInt;
|
||||
sm_InfoHeight: SmallInt;
|
||||
|
||||
sm_UserData : Pointer; { You can store your own data here }
|
||||
END;
|
||||
sm_UserData: APTR; // You can store your own data here
|
||||
end;
|
||||
|
||||
|
||||
{ An Exec list of custom modes can be added to the list of available modes.
|
||||
@ -344,77 +366,70 @@ Type
|
||||
* can be added in the dn_PropertyFlags field. Custom properties are not
|
||||
* allowed.
|
||||
}
|
||||
pDisplayMode = ^tDisplayMode;
|
||||
tDisplayMode = record
|
||||
dm_Node : tNode; { see ln_Name }
|
||||
dm_DimensionInfo : tDimensionInfo; { mode description }
|
||||
dm_PropertyFlags : ULONG; { applicable properties }
|
||||
end;
|
||||
PDisplayMode = ^TDisplayMode;
|
||||
TDisplayMode = record
|
||||
dm_Node: TNode; // see ln_Name
|
||||
dm_DimensionInfo: TDimensionInfo; // mode description
|
||||
dm_PropertyFlags: Cardinal; // applicable properties
|
||||
end;
|
||||
|
||||
|
||||
{ ScreenMode requester tag values, used by AllocAslRequest() and AslRequest() }
|
||||
// ScreenMode requester tag values, used by AllocAslRequest() and AslRequest()
|
||||
const
|
||||
{ Window control }
|
||||
ASLSM_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLSM_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLSM_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLSM_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLSM_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLSM_SleepWindow = ASL_TB+43; { Block input in ASLSM_Window? }
|
||||
ASLSM_UserData = ASL_TB+52; { What to put in sm_UserData }
|
||||
ASLSM_PopToFront = ASL_TB+131; { Make the requester window visible
|
||||
* when it opens (V44)
|
||||
}
|
||||
ASLSM_Activate = ASL_TB+132; { Activate the requester window when
|
||||
* it opens (V45).
|
||||
}
|
||||
ASLSM_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLSM_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Text display }
|
||||
ASLSM_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLSM_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLSM_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLSM_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLSM_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLSM_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLSM_InitialTopEdge = ASL_TB + 4;
|
||||
ASLSM_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLSM_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Initial settings }
|
||||
ASLSM_InitialLeftEdge = ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLSM_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLSM_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLSM_InitialHeight = ASL_TB+6 ;
|
||||
ASLSM_InitialDisplayID = ASL_TB+100; { Initial display mode id }
|
||||
ASLSM_InitialDisplayWidth = ASL_TB+101; { Initial display width }
|
||||
ASLSM_InitialDisplayHeight = ASL_TB+102; { Initial display height }
|
||||
ASLSM_InitialDisplayDepth = ASL_TB+103; { Initial display depth }
|
||||
ASLSM_InitialOverscanType = ASL_TB+104; { Initial type of overscan }
|
||||
ASLSM_InitialAutoScroll = ASL_TB+105; { Initial autoscroll setting }
|
||||
ASLSM_InitialInfoOpened = ASL_TB+106; { Info wndw initially opened? }
|
||||
ASLSM_InitialInfoLeftEdge = ASL_TB+107; { Initial Info window coords. }
|
||||
ASLSM_InitialInfoTopEdge = ASL_TB+108;
|
||||
ASLSM_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLSM_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
{ Options }
|
||||
ASLSM_DoWidth = ASL_TB+109; { Display Width gadget? }
|
||||
ASLSM_DoHeight = ASL_TB+110; { Display Height gadget? }
|
||||
ASLSM_DoDepth = ASL_TB+111; { Display Depth gadget? }
|
||||
ASLSM_DoOverscanType = ASL_TB+112; { Display Overscan Type gadget? }
|
||||
ASLSM_DoAutoScroll = ASL_TB+113; { Display AutoScroll gadget? }
|
||||
ASLSM_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLSM_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLSM_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLSM_SleepWindow = ASL_TB + 43; // Block input in ASLSM_Window?
|
||||
|
||||
{ Filtering }
|
||||
ASLSM_PropertyFlags = ASL_TB+114; { Must have these Property flags }
|
||||
ASLSM_PropertyMask = ASL_TB+115; { Only these should be looked at }
|
||||
ASLSM_MinWidth = ASL_TB+116; { Minimum display width to allow }
|
||||
ASLSM_MaxWidth = ASL_TB+117; { Maximum display width to allow }
|
||||
ASLSM_MinHeight = ASL_TB+118; { Minimum display height to allow }
|
||||
ASLSM_MaxHeight = ASL_TB+119; { Maximum display height to allow }
|
||||
ASLSM_MinDepth = ASL_TB+120; { Minimum display depth }
|
||||
ASLSM_MaxDepth = ASL_TB+121; { Maximum display depth }
|
||||
ASLSM_FilterFunc = ASL_TB+122; { Function to filter mode id's }
|
||||
ASLSM_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLSM_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLSM_UserData = ASL_TB + 52; // What to put in sm_UserData
|
||||
|
||||
{ Custom additions }
|
||||
ASLSM_CustomSMList = ASL_TB+123; { Exec list of struct DisplayMode }
|
||||
ASLSM_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
|
||||
{***************************************************************************}
|
||||
ASLSM_InitialDisplayID = ASL_TB + 100; // Initial display mode id
|
||||
ASLSM_InitialDisplayWidth = ASL_TB + 101; // Initial display width
|
||||
ASLSM_InitialDisplayHeight = ASL_TB + 102; // Initial display height
|
||||
ASLSM_InitialDisplayDepth = ASL_TB + 103; // Initial display depth
|
||||
ASLSM_InitialOverscanType = ASL_TB + 104; // Initial type of overscan
|
||||
ASLSM_InitialAutoScroll = ASL_TB + 105; // Initial autoscroll setting
|
||||
ASLSM_InitialInfoOpened = ASL_TB + 106; // Info wndw initially opened?
|
||||
ASLSM_InitialInfoLeftEdge = ASL_TB + 107; // Initial Info window coords.
|
||||
ASLSM_InitialInfoTopEdge = ASL_TB + 108;
|
||||
|
||||
ASL_LAST_TAG = ASL_TB+133;
|
||||
ASLSM_DoWidth = ASL_TB + 109; // Display Width gadget?
|
||||
ASLSM_DoHeight = ASL_TB + 110; // Display Height gadget?
|
||||
ASLSM_DoDepth = ASL_TB + 111; // Display Depth gadget?
|
||||
ASLSM_DoOverscanType = ASL_TB + 112; // Display Overscan Type gadget?
|
||||
ASLSM_DoAutoScroll = ASL_TB + 113; // Display AutoScroll gadget?
|
||||
|
||||
ASLSM_PropertyFlags = ASL_TB + 114; // Must have these Property flags
|
||||
ASLSM_PropertyMask = ASL_TB + 115; // Only these should be looked at
|
||||
ASLSM_MinWidth = ASL_TB + 116; // Minimum display width to allow
|
||||
ASLSM_MaxWidth = ASL_TB + 117; // Maximum display width to allow
|
||||
ASLSM_MinHeight = ASL_TB + 118; // Minimum display height to allow
|
||||
ASLSM_MaxHeight = ASL_TB + 119; // Maximum display height to allow
|
||||
ASLSM_MinDepth = ASL_TB + 120; // Minimum display depth
|
||||
ASLSM_MaxDepth = ASL_TB + 121; // Maximum display depth
|
||||
ASLSM_FilterFunc = ASL_TB + 122; // Function to filter mode id's
|
||||
|
||||
ASLSM_CustomSMList = ASL_TB + 123; // Exec list of struct DisplayMode
|
||||
// V44
|
||||
ASLSM_PopToFront = ASL_TB + 131; // Make the requester window visible when it opens
|
||||
// V45
|
||||
ASLSM_Activate = ASL_TB + 132; // Activate the requester window when it opens
|
||||
|
||||
ASL_LAST_TAG = ASL_TB + 133;
|
||||
|
||||
{***************************************************************************}
|
||||
|
||||
@ -423,58 +438,45 @@ const
|
||||
* of the semaphore is given below; it exists only with asl.library V45 and
|
||||
* IPrefs V45 and beyond.
|
||||
}
|
||||
ASL_SEMAPHORE_NAME : Pchar = 'asl.library';
|
||||
ASL_SEMAPHORE_NAME: PChar = 'asl.library';
|
||||
|
||||
type
|
||||
PAslSemaphore = ^tAslSemaphore;
|
||||
tAslSemaphore = record
|
||||
as_Semaphore : tSignalSemaphore;
|
||||
as_Version : UWORD; { Must be >= 45 }
|
||||
as_Size : ULONG; { Size of this data structure. }
|
||||
as_SortBy : UBYTE; { File requester defaults; name, date or size }
|
||||
as_SortDrawers : UBYTE; { File requester defaults; first, mix or last }
|
||||
as_SortOrder : UBYTE; { File requester defaults; ascending or descending }
|
||||
as_SizePosition : UBYTE; { See below }
|
||||
as_RelativeLeft : WORD; { Window position offset }
|
||||
as_RelativeTop : WORD;
|
||||
as_RelativeWidth : UBYTE; { Window size factor; this is
|
||||
* a percentage of the parent
|
||||
* window/screen width.
|
||||
}
|
||||
as_RelativeHeight : UBYTE;
|
||||
end;
|
||||
type
|
||||
PAslSemaphore = ^TAslSemaphore;
|
||||
TAslSemaphore = record
|
||||
as_Semaphore: TSignalSemaphore;
|
||||
as_Version: Word; // Must be >= 45
|
||||
as_Size: Cardinal; // Size of this data structure.
|
||||
|
||||
as_SortBy: Byte; // File requester defaults; name, date or size
|
||||
as_SortDrawers: Byte; // File requester defaults; first, mix or last
|
||||
as_SortOrder: Byte; // File requester defaults; ascending or descending
|
||||
|
||||
as_SizePosition: Byte; // See below
|
||||
|
||||
as_RelativeLeft: Word; // Window position offset
|
||||
as_RelativeTop: Word;
|
||||
|
||||
as_RelativeWidth: Byte; // Window size factor; this is a percentage of the parent window/screen width.
|
||||
as_RelativeHeight : Byte;
|
||||
end;
|
||||
|
||||
const
|
||||
{ Default position of the ASL window. }
|
||||
ASLPOS_DefaultPosition = 0; { Position is calculated according to the builtin rules. }
|
||||
ASLPOS_CenterWindow = 1; { Centred within the bounds of the parent window. }
|
||||
ASLPOS_CenterScreen = 2; { Centred within the bounds of the parent screen. }
|
||||
ASLPOS_WindowPosition = 3; { Relative to the top left corner of the parent window,
|
||||
* using the offset values provided in the
|
||||
* as_RelativeLeft/as_RelativeTop members.
|
||||
}
|
||||
ASLPOS_ScreenPosition = 4; { Relative to the top left corner of the parent screen,
|
||||
* using the offset values provided in the
|
||||
* as_RelativeLeft/as_RelativeTop members.
|
||||
}
|
||||
ASLPOS_CenterMouse = 5; { Directly below the mouse pointer. }
|
||||
ASLPOS_MASK = $0F;
|
||||
|
||||
{ Default size of the ASL window. }
|
||||
ASLSIZE_DefaultSize = (0 shl 4); { Size is calculated according to the builtin rules. }
|
||||
ASLSIZE_RelativeSize = (1 shl 4); { Size is relative to the size of the parent
|
||||
* window or screen, using the values provided in
|
||||
* the as_RelativeWidth/as_RelativeHeight members.
|
||||
* The as_RelativeWidth/as_RelativeHeight values are
|
||||
* taken as percentage, i.e. a value of "50" stands for
|
||||
* 50% of the width/height of the parent window/screen.
|
||||
}
|
||||
ASLSIZE_MASK = $30;
|
||||
|
||||
{ Other options. }
|
||||
ASLOPTION_ASLOverrides = (1 shl 6); { ASL determines placement and size of requester
|
||||
* windows; application's choice is ignored.
|
||||
}
|
||||
// Default position of the ASL window.
|
||||
ASLPOS_DefaultPosition = 0; // Position is calculated according to the builtin rules.
|
||||
ASLPOS_CenterWindow = 1; // Centred within the bounds of the parent window.
|
||||
ASLPOS_CenterScreen = 2; // Centred within the bounds of the parent screen.
|
||||
ASLPOS_WindowPosition = 3; // Relative to the top left corner of the parent window, using the offset values provided in the as_RelativeLeft/as_RelativeTop members.
|
||||
ASLPOS_ScreenPosition = 4; // Relative to the top left corner of the parent screen, using the offset values provided in the as_RelativeLeft/as_RelativeTop members.
|
||||
ASLPOS_CenterMouse = 5; // Directly below the mouse pointer.
|
||||
ASLPOS_MASK = $0F;
|
||||
// Default size of the ASL window.
|
||||
ASLSIZE_DefaultSize = 0 shl 4; // Size is calculated according to the builtin rules.
|
||||
ASLSIZE_RelativeSize = 1 shl 4; // Size is relative to the size of the parent window or screen, using the values provided in
|
||||
// the as_RelativeWidth/as_RelativeHeight members. The as_RelativeWidth/as_RelativeHeight values are
|
||||
// taken as percentage, i.e. a value of "50" stands for 50% of the width/height of the parent window/screen.
|
||||
ASLSIZE_MASK = $30;
|
||||
// Other options.
|
||||
ASLOPTION_ASLOverrides = 1 shl 6; // ASL determines placement and size of requester windows; application's choice is ignored.
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
@ -486,48 +488,52 @@ const
|
||||
}
|
||||
{$define ASL_V38_NAMES_ONLY}
|
||||
{$ifndef ASL_V38_NAMES_ONLY}
|
||||
Const
|
||||
ASL_Dummy = (TAG_USER + $80000);
|
||||
ASL_Hail = ASL_Dummy+1 ;
|
||||
ASL_Window = ASL_Dummy+2 ;
|
||||
ASL_LeftEdge = ASL_Dummy+3 ;
|
||||
ASL_TopEdge = ASL_Dummy+4 ;
|
||||
ASL_Width = ASL_Dummy+5 ;
|
||||
ASL_Height = ASL_Dummy+6 ;
|
||||
ASL_HookFunc = ASL_Dummy+7 ;
|
||||
ASL_File = ASL_Dummy+8 ;
|
||||
ASL_Dir = ASL_Dummy+9 ;
|
||||
ASL_FontName = ASL_Dummy+10;
|
||||
ASL_FontHeight = ASL_Dummy+11;
|
||||
ASL_FontStyles = ASL_Dummy+12;
|
||||
ASL_FontFlags = ASL_Dummy+13;
|
||||
ASL_FrontPen = ASL_Dummy+14;
|
||||
ASL_BackPen = ASL_Dummy+15;
|
||||
ASL_MinHeight = ASL_Dummy+16;
|
||||
ASL_MaxHeight = ASL_Dummy+17;
|
||||
ASL_OKText = ASL_Dummy+18;
|
||||
ASL_CancelText = ASL_Dummy+19;
|
||||
ASL_FuncFlags = ASL_Dummy+20;
|
||||
ASL_ModeList = ASL_Dummy+21;
|
||||
ASL_ExtFlags1 = ASL_Dummy+22;
|
||||
ASL_Pattern = ASL_FontName;
|
||||
{ remember what I said up there? Do not use these anymore! }
|
||||
const
|
||||
ASL_Dummy = TAG_USER + $80000;
|
||||
ASL_Hail = ASL_Dummy + 1;
|
||||
ASL_Window = ASL_Dummy + 2;
|
||||
ASL_LeftEdge = ASL_Dummy + 3;
|
||||
ASL_TopEdge = ASL_Dummy + 4;
|
||||
ASL_Width = ASL_Dummy + 5;
|
||||
ASL_Height = ASL_Dummy + 6;
|
||||
ASL_HookFunc = ASL_Dummy + 7;
|
||||
ASL_File = ASL_Dummy + 8;
|
||||
ASL_Dir = ASL_Dummy + 9;
|
||||
ASL_FontName = ASL_Dummy + 10;
|
||||
ASL_FontHeight = ASL_Dummy + 11;
|
||||
ASL_FontStyles = ASL_Dummy + 12;
|
||||
ASL_FontFlags = ASL_Dummy + 13;
|
||||
ASL_FrontPen = ASL_Dummy + 14;
|
||||
ASL_BackPen = ASL_Dummy + 15;
|
||||
ASL_MinHeight = ASL_Dummy + 16;
|
||||
ASL_MaxHeight = ASL_Dummy + 17;
|
||||
ASL_OKText = ASL_Dummy + 18;
|
||||
ASL_CancelText = ASL_Dummy + 19;
|
||||
ASL_FuncFlags = ASL_Dummy + 20;
|
||||
ASL_ModeList = ASL_Dummy + 21;
|
||||
ASL_ExtFlags1 = ASL_Dummy + 22;
|
||||
ASL_Pattern = ASL_FontName;
|
||||
|
||||
// remember what I said up there? Do not use these anymore!
|
||||
FILB_DOWILDFUNC = 7;
|
||||
FILB_DOMSGFUNC = 6;
|
||||
FILB_SAVE = 5;
|
||||
FILB_NEWIDCMP = 4;
|
||||
FILB_MULTISELECT = 3;
|
||||
FILB_PATGAD = 0;
|
||||
FILF_DOWILDFUNC = 128;
|
||||
FILF_DOMSGFUNC = 64;
|
||||
FILF_SAVE = 32;
|
||||
FILF_NEWIDCMP = 16;
|
||||
FILF_MULTISELECT = 8;
|
||||
FILF_PATGAD = 1;
|
||||
FIL1B_NOFILES = 0;
|
||||
FIL1B_MATCHDIRS = 1;
|
||||
FIL1F_NOFILES = 1;
|
||||
FIL1F_MATCHDIRS = 2;
|
||||
|
||||
FILF_DOWILDFUNC = 1 shl FILB_DOWILDFUNC;
|
||||
FILF_DOMSGFUNC = 1 shl FILB_DOMSGFUNC;
|
||||
FILF_SAVE = 1 shl FILB_SAVE;
|
||||
FILF_NEWIDCMP = 1 shl FILB_NEWIDCMP;
|
||||
FILF_MULTISELECT = 1 shl FILB_MULTISELECT;
|
||||
FILF_PATGAD = 1 shl FILB_PATGAD;
|
||||
|
||||
FIL1B_NOFILES = 0;
|
||||
FIL1B_MATCHDIRS = 1;
|
||||
FIL1F_NOFILES = 1 shl FIL1B_NOFILES;
|
||||
FIL1F_MATCHDIRS = 1 shl FIL1B_MATCHDIRS;
|
||||
|
||||
FONB_FRONTCOLOR = 0;
|
||||
FONB_BACKCOLOR = 1;
|
||||
FONB_STYLES = 2;
|
||||
@ -536,55 +542,54 @@ Const
|
||||
FONB_NEWIDCMP = 5;
|
||||
FONB_DOMSGFUNC = 6;
|
||||
FONB_DOWILDFUNC = 7;
|
||||
FONF_FRONTCOLOR = 1;
|
||||
FONF_BACKCOLOR = 2;
|
||||
FONF_STYLES = 4;
|
||||
FONF_DRAWMODE = 8;
|
||||
FONF_FIXEDWIDTH = 16;
|
||||
FONF_NEWIDCMP = 32;
|
||||
FONF_DOMSGFUNC = 64;
|
||||
FONF_DOWILDFUNC = 128;
|
||||
|
||||
FONF_FRONTCOLOR = 1 shl FONB_FRONTCOLOR;
|
||||
FONF_BACKCOLOR = 1 shl FONB_BACKCOLOR;
|
||||
FONF_STYLES = 1 shl FONB_STYLES;
|
||||
FONF_DRAWMODE = 1 shl FONB_DRAWMODE;
|
||||
FONF_FIXEDWIDTH = 1 shl FONB_FIXEDWIDTH;
|
||||
FONF_NEWIDCMP = 1 shl FONB_NEWIDCMP;
|
||||
FONF_DOMSGFUNC = 1 shl FONB_DOMSGFUNC;
|
||||
FONF_DOWILDFUNC = 1 shl FONB_DOWILDFUNC;
|
||||
{$endif ASL_V38_NAMES_ONLY}
|
||||
|
||||
VAR AslBase : pLibrary = nil;
|
||||
var
|
||||
AslBase: PLibrary = nil;
|
||||
|
||||
function AllocFileRequest: PFileRequester; SysCall AslBase 030;
|
||||
procedure FreeFileRequest(FileReq: PFileRequester location 'a0'); SysCall AslBase 036;
|
||||
function RequestFile(FileReq: PFileRequester location 'a0'): LongBool; SysCall AslBase 042;
|
||||
function AllocAslRequest(ReqType: Cardinal location 'd0'; TagList: PTagItem location 'a0'): APTR; SysCall AslBase 048;
|
||||
procedure FreeAslRequest(Requester: APTR location 'a0'); SysCall AslBase 054;
|
||||
function AslRequest(Requester: APTR location 'a0'; TagList: PTagItem location 'a1'): LongBool; SysCall AslBase 060;
|
||||
procedure AbortAslRequest(Requester: APTR location 'a0'); SysCall AslBase 078;
|
||||
procedure ActivateAslRequest(Requester: APTR location 'a0'); SysCall AslBase 084;
|
||||
|
||||
FUNCTION AllocAslRequest(reqType : ULONG location 'd0'; tagList : pTagItem location 'a0') : POINTER; syscall AslBase 048;
|
||||
FUNCTION AllocFileRequest : pFileRequester; syscall AslBase 030;
|
||||
FUNCTION AslRequest(requester : POINTER location 'a0'; tagList : pTagItem location 'a1') : LongBool; syscall AslBase 060;
|
||||
PROCEDURE FreeAslRequest(requester : POINTER location 'a0'); syscall AslBase 054;
|
||||
PROCEDURE FreeFileRequest(fileReq : pFileRequester location 'a0'); syscall AslBase 036;
|
||||
FUNCTION RequestFile(fileReq : pFileRequester location 'a0') : LongBool; syscall AslBase 042;
|
||||
function AllocAslRequestTags(ReqType: Cardinal; const TagList: array of PtrUInt): APTR; Inline;
|
||||
function AslRequestTags(Requester: APTR; const TagList: array of PtrUInt): LongBool; Inline;
|
||||
|
||||
PROCEDURE AbortAslRequest(requester : POINTER location 'a0'); syscall AslBase 078;
|
||||
PROCEDURE ActivateAslRequest(requester : POINTER location 'a0'); syscall AslBase 084;
|
||||
implementation
|
||||
|
||||
function AllocAslRequestTags(reqType : ULONG; Const argv : array of PtrUInt) : POINTER;
|
||||
function AslRequestTags(requester : POINTER; Const argv : array of PtrUInt) : BOOLEAN;
|
||||
|
||||
IMPLEMENTATION
|
||||
|
||||
function AllocAslRequestTags(reqType : ULONG; Const argv : array of PtrUInt) : POINTER;
|
||||
function AllocAslRequestTags(ReqType: Cardinal; const TagList: array of PtrUInt): APTR; Inline;
|
||||
begin
|
||||
AllocAslRequestTags := AllocAslRequest(reqType,@argv);
|
||||
AllocAslRequestTags := AllocAslRequest(ReqType, @tagList);
|
||||
end;
|
||||
|
||||
function AslRequestTags(requester : POINTER; Const argv : array of PtrUInt) : BOOLEAN;
|
||||
function AslRequestTags(Requester: APTR; const TagList: array of PtrUInt): LongBool; Inline;
|
||||
begin
|
||||
AslRequestTags := AslRequest(requester,@argv);
|
||||
AslRequestTags := AslRequest(Requester, @TagList);
|
||||
end;
|
||||
|
||||
|
||||
const
|
||||
{ Change VERSION and LIBVERSION to proper values }
|
||||
VERSION : string[2] = '0';
|
||||
LIBVERSION : longword = 0;
|
||||
// Change VERSION and LIBVERSION to proper values
|
||||
VERSION : string[2] = '0';
|
||||
LIBVERSION: LongWord = 0;
|
||||
|
||||
initialization
|
||||
AslBase := OpenLibrary(ASLNAME,LIBVERSION);
|
||||
AslBase := OpenLibrary(ASLNAME, LIBVERSION);
|
||||
finalization
|
||||
if Assigned(AslBase) then
|
||||
CloseLibrary(AslBase);
|
||||
END. (* UNIT ASL *)
|
||||
CloseLibrary(PLibrary(AslBase));
|
||||
end.
|
||||
|
||||
|
||||
|
@ -24,14 +24,14 @@ unit asl;
|
||||
|
||||
interface
|
||||
|
||||
uses exec, utility, {workbench,} agraphics;
|
||||
uses exec, utility, workbench, agraphics;
|
||||
|
||||
|
||||
{************************************************************************}
|
||||
|
||||
const
|
||||
ASLNAME : PChar = 'asl.library';
|
||||
ASL_TB = TAG_USER+$80000;
|
||||
ASLNAME: PChar = 'asl.library';
|
||||
ASL_TB = TAG_USER + $80000;
|
||||
|
||||
{************************************************************************}
|
||||
|
||||
@ -52,120 +52,138 @@ const
|
||||
}
|
||||
|
||||
type
|
||||
pFileRequester = ^tFileRequester;
|
||||
tFileRequester = record
|
||||
rf_Reserved0 : Array[0..3] Of Byte;
|
||||
rf_File : PChar; { Filename pointer }
|
||||
rf_Dir : PChar; { Directory name pointer }
|
||||
rf_Reserved1 : Array[0..9] Of Byte;
|
||||
rf_LeftEdge : smallint;
|
||||
rf_TopEdge : smallint; { Preferred window pos }
|
||||
rf_Width : smallint;
|
||||
rf_Height : smallint; { Preferred window size }
|
||||
rf_Reserved2 : Array[0..1] Of Byte;
|
||||
rf_NumArgs : LongInt; { A-la WB Args, FOR multiselects }
|
||||
{$WARNING FIX ME!!! Needs workbench unit}
|
||||
{ rf_ArgList : pWBArgList;}
|
||||
rf_ArgList : Pointer;
|
||||
rf_UserData : Pointer; { Applihandle (you may write!!) }
|
||||
rf_Reserved3 : Array[0..7] Of Byte;
|
||||
rf_Pat : PChar; { Pattern match pointer }
|
||||
END; { note - more reserved fields follow }
|
||||
PFileRequester = ^TFileRequester;
|
||||
TFileRequester = record
|
||||
case SmallInt of
|
||||
0: (
|
||||
rf_Reserved0: array[0..3] of Byte;
|
||||
rf_File: STRPTR; // Filename pointer
|
||||
rf_Dir: STRPTR; // Directory name pointer
|
||||
rf_Reserved1: array[0..9] of Byte;
|
||||
rf_LeftEdge: SmallInt;
|
||||
rf_TopEdge: SmallInt; // Preferred window pos
|
||||
rf_Width: SmallInt;
|
||||
rf_Height: SmallInt; // Preferred window size
|
||||
rf_Reserved2: array[0..1] of Byte;
|
||||
rf_NumArgs: LongInt; // A-la WB Args, FOR multiselects
|
||||
rf_ArgList: PWBArgList;
|
||||
rf_UserData: APTR; // Applihandle (you may write!!)
|
||||
rf_Reserved3: array[0..7] of Byte;
|
||||
rf_Pat: STRPTR; // Pattern match pointer
|
||||
);
|
||||
1: (
|
||||
fr_Reserved0: array[0..3] of Byte;
|
||||
fr_File: STRPTR; // Filename pointer
|
||||
fr_Drawer: STRPTR; // Directory name pointer
|
||||
fr_Reserved1: array[0..9] of Byte;
|
||||
fr_LeftEdge: SmallInt;
|
||||
fr_TopEdge: SmallInt; // Preferred window pos
|
||||
fr_Width: SmallInt;
|
||||
fr_Height: SmallInt; // Preferred window size
|
||||
fr_Reserved2: array[0..1] of Byte;
|
||||
fr_NumArgs: LongInt; // A-la WB Args, FOR multiselects
|
||||
fr_ArgList: PWBArgList;
|
||||
fr_UserData: APTR; // Applihandle (you may write!!)
|
||||
fr_Reserved3: array[0..7] of Byte;
|
||||
fr_Pattern: STRPTR; // Pattern match pointer
|
||||
);
|
||||
end; // note - more reserved fields follow
|
||||
|
||||
|
||||
{ File requester tag values, used by AllocAslRequest() and AslRequest() }
|
||||
// File requester tag values, used by AllocAslRequest() and AslRequest()
|
||||
|
||||
const
|
||||
{ Window control }
|
||||
ASLFR_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLFR_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLFR_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLFR_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLFR_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLFR_SleepWindow = ASL_TB+43; { Block input in ASLFR_Window? }
|
||||
ASLFR_UserData = ASL_TB+52; { What to put in fr_UserData }
|
||||
ASLFR_PopToFront = ASL_TB+131; { Make the requester window visible }
|
||||
ASLFR_Activate = ASL_TB+132; { Activate the requester window when }
|
||||
ASLFR_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLFR_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Text display }
|
||||
ASLFR_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLFR_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLFR_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLFR_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLFR_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLFR_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLFR_InitialTopEdge = ASL_TB + 4;
|
||||
ASLFR_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLFR_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Initial settings }
|
||||
ASLFR_InitialLeftEdge= ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLFR_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLFR_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLFR_InitialHeight = ASL_TB+6 ;
|
||||
ASLFR_InitialFile = ASL_TB+8 ; { Initial contents of File gadget }
|
||||
ASLFR_InitialDrawer = ASL_TB+9 ; { Initial contents of Drawer gadg. }
|
||||
ASLFR_InitialPattern = ASL_TB+10; { Initial contents of Pattern gadg.}
|
||||
ASLFR_InitialShowVolumes = ASL_TB+130; { Initially, show the volume list (V44) }
|
||||
ASLFR_HookFunc = ASL_TB + 7; // Combined callback function
|
||||
|
||||
{ Options }
|
||||
ASLFR_Flags1 = ASL_TB+20; { Option flags }
|
||||
ASLFR_Flags2 = ASL_TB+22; { Additional option flags }
|
||||
ASLFR_DoSaveMode = ASL_TB+44; { Being used for saving? }
|
||||
ASLFR_DoMultiSelect = ASL_TB+45; { Do multi-select? }
|
||||
ASLFR_DoPatterns = ASL_TB+46; { Display a Pattern gadget? }
|
||||
ASLFR_InitialFile = ASL_TB + 8; // Initial contents of File gadget
|
||||
ASLFR_InitialDrawer = ASL_TB + 9; // Initial contents of Drawer gadg.
|
||||
ASLFR_InitialPattern = ASL_TB + 10; // Initial contents of Pattern gadg.
|
||||
|
||||
{ Filtering }
|
||||
ASLFR_DrawersOnly = ASL_TB+47; { Don't display files? }
|
||||
ASLFR_FilterFunc = ASL_TB+49; { Function to filter files }
|
||||
ASLFR_RejectIcons = ASL_TB+60; { Display .info files? }
|
||||
ASLFR_RejectPattern = ASL_TB+61; { Don't display files matching pat }
|
||||
ASLFR_AcceptPattern = ASL_TB+62; { Accept only files matching pat }
|
||||
ASLFR_FilterDrawers = ASL_TB+63; { Also filter drawers with patterns}
|
||||
ASLFR_HookFunc = ASL_TB+7 ; { Combined callback function }
|
||||
ASLFR_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLFR_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
{ Sorting }
|
||||
ASLFR_SetSortBy = ASL_TB+124; { Sort criteria (name, date, size) }
|
||||
ASLFR_GetSortBy = ASL_TB+125;
|
||||
ASLFR_SetSortDrawers = ASL_TB+126; { Placement of drawers in the list }
|
||||
ASLFR_GetSortDrawers = ASL_TB+127;
|
||||
ASLFR_SetSortOrder = ASL_TB+128; { Order (ascending or descending) }
|
||||
ASLFR_GetSortOrder = ASL_TB+129;
|
||||
ASLFR_Flags1 = ASL_TB + 20; // Option flags
|
||||
ASLFR_Flags2 = ASL_TB + 22; // Additional option flags
|
||||
|
||||
ASLFR_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLFR_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLFR_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLFR_SleepWindow = ASL_TB + 43; // Block input in ASLFR_Window?
|
||||
|
||||
{ Flag bits for the ASLFR_Flags1 tag }
|
||||
FRB_FILTERFUNC = 7;
|
||||
FRB_INTUIFUNC = 6;
|
||||
FRB_DOSAVEMODE = 5;
|
||||
FRB_PRIVATEIDCMP = 4;
|
||||
FRB_DOMULTISELECT = 3;
|
||||
FRB_DOPATTERNS = 0;
|
||||
ASLFR_DoSaveMode = ASL_TB + 44; // Being used for saving?
|
||||
ASLFR_DoMultiSelect = ASL_TB + 45; // Do multi-select?
|
||||
ASLFR_DoPatterns = ASL_TB + 46; // Display a Pattern gadget?
|
||||
|
||||
FRF_FILTERFUNC = 128;
|
||||
FRF_INTUIFUNC = 64;
|
||||
FRF_DOSAVEMODE = 32;
|
||||
FRF_PRIVATEIDCMP = 16;
|
||||
FRF_DOMULTISELECT = 8;
|
||||
FRF_DOPATTERNS = 1;
|
||||
ASLFR_DrawersOnly = ASL_TB + 47; // Don't display files?
|
||||
ASLFR_FilterFunc = ASL_TB + 49; // Function to filter files
|
||||
|
||||
{ Flag bits for the ASLFR_Flags2 tag }
|
||||
FRB_DRAWERSONLY = 0;
|
||||
FRB_FILTERDRAWERS = 1;
|
||||
FRB_REJECTICONS = 2;
|
||||
ASLFR_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLFR_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLFR_UserData = ASL_TB + 52; // What to put in fr_UserData
|
||||
|
||||
FRF_DRAWERSONLY = 1;
|
||||
FRF_FILTERDRAWERS = 2;
|
||||
FRF_REJECTICONS = 4;
|
||||
ASLFR_RejectIcons = ASL_TB + 60; // Display .info files?
|
||||
ASLFR_RejectPattern = ASL_TB + 61; // Don't display files matching pat
|
||||
ASLFR_AcceptPattern = ASL_TB + 62; // Accept only files matching pat
|
||||
ASLFR_FilterDrawers = ASL_TB + 63; // Also filter drawers with patterns
|
||||
|
||||
{ Sort criteria for the ASLFR_SetSortBy/ASLFR_GetSortBy tags }
|
||||
ASLFRSORTBY_Name = 0;
|
||||
ASLFRSORTBY_Date = 1;
|
||||
ASLFRSORTBY_Size = 2;
|
||||
ASLFR_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
|
||||
{ Drawer placement for the ASLFR_SetSortDrawers/ASLFR_GetSortDrawers tags }
|
||||
ASLFRSORTDRAWERS_First = 0;
|
||||
ASLFRSORTDRAWERS_Mix = 1;
|
||||
ASLFRSORTDRAWERS_Last = 2;
|
||||
ASLFR_SetSortBy = ASL_TB + 124; // Sort criteria (name, date, size)
|
||||
ASLFR_GetSortBy = ASL_TB + 125;
|
||||
ASLFR_SetSortDrawers = ASL_TB + 126; // Placement of drawers in the list
|
||||
ASLFR_GetSortDrawers = ASL_TB + 127;
|
||||
ASLFR_SetSortOrder = ASL_TB + 128; // Order (ascending or descending)
|
||||
ASLFR_GetSortOrder = ASL_TB + 129;
|
||||
// V44
|
||||
ASLFR_InitialShowVolumes = ASL_TB + 130; // Initially, show the volume list
|
||||
ASLFR_PopToFront = ASL_TB + 131; // Make the requester window visible
|
||||
// V45
|
||||
ASLFR_Activate = ASL_TB + 132; // Activate the requester window when
|
||||
|
||||
{ Sort order for the ASLFR_SetSortOrder/ASLFR_GetSortOrder tags }
|
||||
ASLFRSORTORDER_Ascend = 0;
|
||||
ASLFRSORTORDER_Descend = 1;
|
||||
// Flag bits for the ASLFR_Flags1 tag
|
||||
FRB_FILTERFUNC = 7;
|
||||
FRB_INTUIFUNC = 6;
|
||||
FRB_DOSAVEMODE = 5;
|
||||
FRB_PRIVATEIDCMP = 4;
|
||||
FRB_DOMULTISELECT = 3;
|
||||
FRB_DOPATTERNS = 0;
|
||||
|
||||
FRF_FILTERFUNC = 1 shl FRB_FILTERFUNC;
|
||||
FRF_INTUIFUNC = 1 shl FRB_INTUIFUNC;
|
||||
FRF_DOSAVEMODE = 1 shl FRB_DOSAVEMODE;
|
||||
FRF_PRIVATEIDCMP = 1 shl FRB_PRIVATEIDCMP;
|
||||
FRF_DOMULTISELECT = 1 shl FRB_DOMULTISELECT;
|
||||
FRF_DOPATTERNS = 1 shl FRB_DOPATTERNS;
|
||||
|
||||
// Flag bits for the ASLFR_Flags2 tag
|
||||
FRB_DRAWERSONLY = 0;
|
||||
FRB_FILTERDRAWERS = 1;
|
||||
FRB_REJECTICONS = 2;
|
||||
|
||||
FRF_DRAWERSONLY = 1 shl FRB_DRAWERSONLY;
|
||||
FRF_FILTERDRAWERS = 1 shl FRB_FILTERDRAWERS;
|
||||
FRF_REJECTICONS = 1 shl FRB_REJECTICONS;
|
||||
|
||||
// Sort criteria for the ASLFR_SetSortBy/ASLFR_GetSortBy tags
|
||||
ASLFRSORTBY_Name = 0;
|
||||
ASLFRSORTBY_Date = 1;
|
||||
ASLFRSORTBY_Size = 2;
|
||||
|
||||
// Drawer placement for the ASLFR_SetSortDrawers/ASLFR_GetSortDrawers tags
|
||||
ASLFRSORTDRAWERS_First = 0;
|
||||
ASLFRSORTDRAWERS_Mix = 1;
|
||||
ASLFRSORTDRAWERS_Last = 2;
|
||||
|
||||
// Sort order for the ASLFR_SetSortOrder/ASLFR_GetSortOrder tags
|
||||
ASLFRSORTORDER_Ascend = 0;
|
||||
ASLFRSORTORDER_Descend = 1;
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
@ -178,100 +196,102 @@ const
|
||||
}
|
||||
|
||||
type
|
||||
pFontRequester = ^tFontRequester;
|
||||
tFontRequester = record
|
||||
fo_Reserved0 : Array[0..7] Of Byte;
|
||||
fo_Attr : tTextAttr; { Returned TextAttr }
|
||||
fo_FrontPen : Byte; { Returned front pen }
|
||||
fo_BackPen : Byte; { Returned back pen }
|
||||
fo_DrawMode : Byte; { Returned drawing mode }
|
||||
fo_Reserved1 : Byte;
|
||||
fo_UserData : Pointer; { You can store your own data here }
|
||||
fo_LeftEdge : smallint; { Coordinates Of requester on Exit }
|
||||
fo_TopEdge : smallint;
|
||||
fo_Width : smallint;
|
||||
fo_Height : smallint;
|
||||
fo_TAttr : tTTextAttr; { Returned TTextAttr }
|
||||
end;
|
||||
|
||||
|
||||
{ Font requester tag values, used by AllocAslRequest() AND AslRequest() }
|
||||
PFontRequester = ^TFontRequester;
|
||||
TFontRequester = record
|
||||
fo_Reserved0: array[0..7] of Byte;
|
||||
fo_Attr: TTextAttr; // Returned TextAttr
|
||||
fo_FrontPen: Byte; // Returned front pen
|
||||
fo_BackPen: Byte; // Returned back pen
|
||||
fo_DrawMode: Byte; // Returned drawing mode
|
||||
fo_Reserved1: Byte;
|
||||
fo_UserData: APTR; // You can store your own data here
|
||||
fo_LeftEdge: SmallInt; // Coordinates Of requester on Exit
|
||||
fo_TopEdge: SmallInt;
|
||||
fo_Width: SmallInt;
|
||||
fo_Height: SmallInt;
|
||||
fo_TAttr: TTTextAttr; // Returned TTextAttr
|
||||
end;
|
||||
|
||||
// Font requester tag values, used by AllocAslRequest() AND AslRequest()
|
||||
const
|
||||
{ Window control }
|
||||
ASLFO_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLFO_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLFO_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLFO_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLFO_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLFO_SleepWindow = ASL_TB+43; { Block input in ASLFO_Window? }
|
||||
ASLFO_UserData = ASL_TB+52; { What to put in fo_UserData }
|
||||
ASLFO_PopToFront = ASL_TB+131; { Make the requester window visible
|
||||
* when it opens (V44)
|
||||
}
|
||||
ASLFO_Activate = ASL_TB+132; { Activate the requester window when
|
||||
* it opens (V45).
|
||||
}
|
||||
{ Text display }
|
||||
ASLFO_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLFO_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLFO_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLFO_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLFO_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLFO_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLFO_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Initial settings }
|
||||
ASLFO_InitialLeftEdge= ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLFO_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLFO_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLFO_InitialHeight = ASL_TB+6 ;
|
||||
ASLFO_InitialName = ASL_TB+10; { Initial contents of Name gadget }
|
||||
ASLFO_InitialSize = ASL_TB+11; { Initial contents of Size gadget }
|
||||
ASLFO_InitialStyle = ASL_TB+12; { Initial font style }
|
||||
ASLFO_InitialFlags = ASL_TB+13; { Initial font flags for TextAttr }
|
||||
ASLFO_InitialFrontPen= ASL_TB+14; { Initial front pen }
|
||||
ASLFO_InitialBackPen = ASL_TB+15; { Initial back pen }
|
||||
ASLFO_InitialDrawMode= ASL_TB+59; { Initial draw mode }
|
||||
ASLFO_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLFO_InitialTopEdge = ASL_TB + 4;
|
||||
ASLFO_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLFO_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Options }
|
||||
ASLFO_Flags = ASL_TB+20; { Option flags }
|
||||
ASLFO_DoFrontPen = ASL_TB+44; { Display Front color selector? }
|
||||
ASLFO_DoBackPen = ASL_TB+45; { Display Back color selector? }
|
||||
ASLFO_DoStyle = ASL_TB+46; { Display Style checkboxes? }
|
||||
ASLFO_DoDrawMode = ASL_TB+47; { Display DrawMode cycle gadget? }
|
||||
ASLFO_SampleText = ASL_TB+133; { Text to display in font sample area (V45) }
|
||||
ASLFO_HookFunc = ASL_TB + 7; // Combined callback function
|
||||
|
||||
{ Filtering }
|
||||
ASLFO_FixedWidthOnly = ASL_TB+48; { Only allow fixed-width fonts? }
|
||||
ASLFO_MinHeight = ASL_TB+16; { Minimum font height to display }
|
||||
ASLFO_MaxHeight = ASL_TB+17; { Maximum font height to display }
|
||||
ASLFO_FilterFunc = ASL_TB+49; { Function to filter fonts }
|
||||
ASLFO_HookFunc = ASL_TB+7 ; { Combined callback function }
|
||||
ASLFO_MaxFrontPen = ASL_TB+66; { Max # of colors in front palette }
|
||||
ASLFO_MaxBackPen = ASL_TB+67; { Max # of colors in back palette }
|
||||
ASLFO_InitialName = ASL_TB + 10; // Initial contents of Name gadget
|
||||
ASLFO_InitialSize = ASL_TB + 11; // Initial contents of Size gadget
|
||||
ASLFO_InitialStyle = ASL_TB + 12; // Initial font style
|
||||
ASLFO_InitialFlags = ASL_TB + 13; // Initial font flags for TextAttr
|
||||
ASLFO_InitialFrontPen = ASL_TB + 14; // Initial front pen
|
||||
ASLFO_InitialBackPen = ASL_TB + 15; // Initial back pen
|
||||
|
||||
{ Custom additions }
|
||||
ASLFO_ModeList = ASL_TB+21; { Substitute list for drawmodes }
|
||||
ASLFO_FrontPens = ASL_TB+64; { Color table for front pen palette}
|
||||
ASLFO_BackPens = ASL_TB+65; { Color table for back pen palette }
|
||||
ASLFO_MinHeight = ASL_TB + 16; // Minimum font height to display
|
||||
ASLFO_MaxHeight = ASL_TB + 17; // Maximum font height to display
|
||||
|
||||
{ Flag bits for ASLFO_Flags tag }
|
||||
FOB_DOFRONTPEN = 0;
|
||||
FOB_DOBACKPEN = 1;
|
||||
FOB_DOSTYLE = 2;
|
||||
FOB_DODRAWMODE = 3;
|
||||
FOB_FIXEDWIDTHONLY= 4;
|
||||
FOB_PRIVATEIDCMP = 5;
|
||||
FOB_INTUIFUNC = 6;
|
||||
FOB_FILTERFUNC = 7;
|
||||
ASLFO_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLFO_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
FOF_DOFRONTPEN = 1;
|
||||
FOF_DOBACKPEN = 2;
|
||||
FOF_DOSTYLE = 4;
|
||||
FOF_DODRAWMODE = 8;
|
||||
FOF_FIXEDWIDTHONLY = 16;
|
||||
FOF_PRIVATEIDCMP = 32;
|
||||
FOF_INTUIFUNC = 64;
|
||||
FOF_FILTERFUNC = 128;
|
||||
ASLFO_Flags = ASL_TB + 20; // Option flags
|
||||
|
||||
ASLFO_ModeList = ASL_TB + 21; // Substitute list for drawmodes
|
||||
|
||||
ASLFO_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLFO_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLFO_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLFO_SleepWindow = ASL_TB + 43; // Block input in ASLFO_Window?
|
||||
|
||||
ASLFO_DoFrontPen = ASL_TB + 44; // Display Front color selector?
|
||||
ASLFO_DoBackPen = ASL_TB + 45; // Display Back color selector?
|
||||
ASLFO_DoStyle = ASL_TB + 46; // Display Style checkboxes?
|
||||
ASLFO_DoDrawMode = ASL_TB + 47; // Display DrawMode cycle gadget?
|
||||
|
||||
ASLFO_FixedWidthOnly = ASL_TB + 48; // Only allow fixed-width fonts?
|
||||
|
||||
ASLFO_FilterFunc = ASL_TB + 49; // Function to filter fonts
|
||||
|
||||
ASLFO_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLFO_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLFO_UserData = ASL_TB + 52; // What to put in fo_UserData
|
||||
|
||||
ASLFO_InitialDrawMode = ASL_TB + 59; // Initial draw mode
|
||||
|
||||
ASLFO_FrontPens = ASL_TB + 64; // Color table for front pen palette
|
||||
ASLFO_BackPens = ASL_TB + 65; // Color table for back pen palette
|
||||
|
||||
ASLFO_MaxFrontPen = ASL_TB + 66; // Max # of colors in front palette
|
||||
ASLFO_MaxBackPen = ASL_TB + 67; // Max # of colors in back palette
|
||||
|
||||
ASLFO_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
// V44
|
||||
ASLFO_PopToFront = ASL_TB + 131; // Make the requester window visible when it opens
|
||||
// V45
|
||||
ASLFO_Activate = ASL_TB + 132; // Activate the requester window when it opens
|
||||
ASLFO_SampleText = ASL_TB + 133; // Text to display in font sample area
|
||||
|
||||
// Flag bits for ASLFO_Flags tag
|
||||
FOB_DOFRONTPEN = 0;
|
||||
FOB_DOBACKPEN = 1;
|
||||
FOB_DOSTYLE = 2;
|
||||
FOB_DODRAWMODE = 3;
|
||||
FOB_FIXEDWIDTHONLY = 4;
|
||||
FOB_PRIVATEIDCMP = 5;
|
||||
FOB_INTUIFUNC = 6;
|
||||
FOB_FILTERFUNC = 7;
|
||||
|
||||
FOF_DOFRONTPEN = 1 shl FOB_DOFRONTPEN;
|
||||
FOF_DOBACKPEN = 1 shl FOB_DOBACKPEN;
|
||||
FOF_DOSTYLE = 1 shl FOB_DOSTYLE;
|
||||
FOF_DODRAWMODE = 1 shl FOB_DODRAWMODE;
|
||||
FOF_FIXEDWIDTHONLY = 1 shl FOB_FIXEDWIDTHONLY;
|
||||
FOF_PRIVATEIDCMP = 1 shl FOB_PRIVATEIDCMP;
|
||||
FOF_INTUIFUNC = 1 shl FOB_INTUIFUNC;
|
||||
FOF_FILTERFUNC = 1 shl FOB_FILTERFUNC;
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
@ -283,32 +303,38 @@ const
|
||||
* AslRequest()
|
||||
}
|
||||
|
||||
Type
|
||||
pScreenModeRequester = ^tScreenModeRequester;
|
||||
tScreenModeRequester = record
|
||||
sm_DisplayID : Cardinal; { Display mode ID }
|
||||
sm_DisplayWidth : Cardinal; { Width Of display IN pixels }
|
||||
sm_DisplayHeight : Cardinal; { Height Of display IN pixels }
|
||||
sm_DisplayDepth : word; { Number OF bit-planes OF display }
|
||||
sm_OverscanType : word; { TYPE OF overscan OF display }
|
||||
sm_AutoScroll : Boolean; { Display should auto-scroll? }
|
||||
type
|
||||
PScreenModeRequester = ^TScreenModeRequester;
|
||||
TScreenModeRequester = record
|
||||
sm_DisplayID: Cardinal; // Display mode ID
|
||||
sm_DisplayWidth: Cardinal; // Width of display in pixels
|
||||
sm_DisplayHeight: Cardinal; // Height of display in pixels
|
||||
sm_DisplayDepth: Word; // Number of bit-planes of display
|
||||
sm_OverscanType: Word; // type of overscan of display
|
||||
sm_AutoScroll: WordBool; // Display should auto-scroll?
|
||||
|
||||
sm_BitMapWidth : Cardinal; { Used TO create your own BitMap }
|
||||
sm_BitMapHeight : Cardinal;
|
||||
sm_BitMapWidth: Cardinal; // Used to create your own BitMap
|
||||
sm_BitMapHeight: Cardinal;
|
||||
|
||||
sm_LeftEdge : smallint; { Coordinates OF requester on Exit }
|
||||
sm_TopEdge : smallint;
|
||||
sm_Width : smallint;
|
||||
sm_Height : smallint;
|
||||
sm_LeftEdge: SmallInt; // Coordinates of requester on Exit
|
||||
sm_TopEdge: SmallInt;
|
||||
sm_Width: SmallInt;
|
||||
sm_Height: SmallInt;
|
||||
|
||||
sm_InfoOpened : Boolean; { Info window opened on exit? }
|
||||
sm_InfoLeftEdge : smallint; { Last coordinates OF Info window }
|
||||
sm_InfoTopEdge : smallint;
|
||||
sm_InfoWidth : smallint;
|
||||
sm_InfoHeight : smallint;
|
||||
sm_InfoOpened: WordBool; // Info window opened on exit?
|
||||
sm_InfoLeftEdge: SmallInt; // Last coordinates of Info window
|
||||
sm_InfoTopEdge: SmallInt;
|
||||
sm_InfoWidth: SmallInt;
|
||||
sm_InfoHeight: SmallInt;
|
||||
|
||||
sm_UserData : Pointer; { You can store your own data here }
|
||||
END;
|
||||
sm_UserData: APTR; // You can store your own data here
|
||||
// fields below are available from asl.library V51
|
||||
|
||||
sm_MonitorName: STRPTR; // Name of the monitor this sm_DisplayID is tied to To be passed as SA_MonitorName
|
||||
|
||||
sm_DisplayIDWidth: Cardinal; // sm_DisplayID resolution, to be passed as SA_DisplayWidth/Height in OpenScreen
|
||||
sm_DisplayIDHeight: Cardinal;
|
||||
end;
|
||||
|
||||
|
||||
{ An Exec list of custom modes can be added to the list of available modes.
|
||||
@ -318,77 +344,70 @@ Type
|
||||
* can be added in the dn_PropertyFlags field. Custom properties are not
|
||||
* allowed.
|
||||
}
|
||||
pDisplayMode = ^tDisplayMode;
|
||||
tDisplayMode = record
|
||||
dm_Node : tNode; { see ln_Name }
|
||||
dm_DimensionInfo : tDimensionInfo; { mode description }
|
||||
dm_PropertyFlags : Cardinal; { applicable properties }
|
||||
end;
|
||||
PDisplayMode = ^TDisplayMode;
|
||||
TDisplayMode = record
|
||||
dm_Node: TNode; // see ln_Name
|
||||
dm_DimensionInfo: TDimensionInfo; // mode description
|
||||
dm_PropertyFlags: Cardinal; // applicable properties
|
||||
end;
|
||||
|
||||
|
||||
{ ScreenMode requester tag values, used by AllocAslRequest() and AslRequest() }
|
||||
// ScreenMode requester tag values, used by AllocAslRequest() and AslRequest()
|
||||
const
|
||||
{ Window control }
|
||||
ASLSM_Window = ASL_TB+2 ; { Parent window }
|
||||
ASLSM_Screen = ASL_TB+40; { Screen to open on if no window }
|
||||
ASLSM_PubScreenName = ASL_TB+41; { Name of public screen }
|
||||
ASLSM_PrivateIDCMP = ASL_TB+42; { Allocate private IDCMP? }
|
||||
ASLSM_IntuiMsgFunc = ASL_TB+70; { Function to handle IntuiMessages }
|
||||
ASLSM_SleepWindow = ASL_TB+43; { Block input in ASLSM_Window? }
|
||||
ASLSM_UserData = ASL_TB+52; { What to put in sm_UserData }
|
||||
ASLSM_PopToFront = ASL_TB+131; { Make the requester window visible
|
||||
* when it opens (V44)
|
||||
}
|
||||
ASLSM_Activate = ASL_TB+132; { Activate the requester window when
|
||||
* it opens (V45).
|
||||
}
|
||||
ASLSM_TitleText = ASL_TB + 1; // Title of requester
|
||||
ASLSM_Window = ASL_TB + 2; // Parent window
|
||||
|
||||
{ Text display }
|
||||
ASLSM_TextAttr = ASL_TB+51; { Text font to use for gadget text }
|
||||
ASLSM_Locale = ASL_TB+50; { Locale ASL should use for text }
|
||||
ASLSM_TitleText = ASL_TB+1 ; { Title of requester }
|
||||
ASLSM_PositiveText = ASL_TB+18; { Positive gadget text }
|
||||
ASLSM_NegativeText = ASL_TB+19; { Negative gadget text }
|
||||
ASLSM_InitialLeftEdge = ASL_TB + 3; // Initial requester coordinates
|
||||
ASLSM_InitialTopEdge = ASL_TB + 4;
|
||||
ASLSM_InitialWidth = ASL_TB + 5; // Initial requester dimensions
|
||||
ASLSM_InitialHeight = ASL_TB + 6;
|
||||
|
||||
{ Initial settings }
|
||||
ASLSM_InitialLeftEdge = ASL_TB+3 ; { Initial requester coordinates }
|
||||
ASLSM_InitialTopEdge = ASL_TB+4 ;
|
||||
ASLSM_InitialWidth = ASL_TB+5 ; { Initial requester dimensions }
|
||||
ASLSM_InitialHeight = ASL_TB+6 ;
|
||||
ASLSM_InitialDisplayID = ASL_TB+100; { Initial display mode id }
|
||||
ASLSM_InitialDisplayWidth = ASL_TB+101; { Initial display width }
|
||||
ASLSM_InitialDisplayHeight = ASL_TB+102; { Initial display height }
|
||||
ASLSM_InitialDisplayDepth = ASL_TB+103; { Initial display depth }
|
||||
ASLSM_InitialOverscanType = ASL_TB+104; { Initial type of overscan }
|
||||
ASLSM_InitialAutoScroll = ASL_TB+105; { Initial autoscroll setting }
|
||||
ASLSM_InitialInfoOpened = ASL_TB+106; { Info wndw initially opened? }
|
||||
ASLSM_InitialInfoLeftEdge = ASL_TB+107; { Initial Info window coords. }
|
||||
ASLSM_InitialInfoTopEdge = ASL_TB+108;
|
||||
ASLSM_PositiveText = ASL_TB + 18; // Positive gadget text
|
||||
ASLSM_NegativeText = ASL_TB + 19; // Negative gadget text
|
||||
|
||||
{ Options }
|
||||
ASLSM_DoWidth = ASL_TB+109; { Display Width gadget? }
|
||||
ASLSM_DoHeight = ASL_TB+110; { Display Height gadget? }
|
||||
ASLSM_DoDepth = ASL_TB+111; { Display Depth gadget? }
|
||||
ASLSM_DoOverscanType = ASL_TB+112; { Display Overscan Type gadget? }
|
||||
ASLSM_DoAutoScroll = ASL_TB+113; { Display AutoScroll gadget? }
|
||||
ASLSM_Screen = ASL_TB + 40; // Screen to open on if no window
|
||||
ASLSM_PubScreenName = ASL_TB + 41; // Name of public screen
|
||||
ASLSM_PrivateIDCMP = ASL_TB + 42; // Allocate private IDCMP?
|
||||
ASLSM_SleepWindow = ASL_TB + 43; // Block input in ASLSM_Window?
|
||||
|
||||
{ Filtering }
|
||||
ASLSM_PropertyFlags = ASL_TB+114; { Must have these Property flags }
|
||||
ASLSM_PropertyMask = ASL_TB+115; { Only these should be looked at }
|
||||
ASLSM_MinWidth = ASL_TB+116; { Minimum display width to allow }
|
||||
ASLSM_MaxWidth = ASL_TB+117; { Maximum display width to allow }
|
||||
ASLSM_MinHeight = ASL_TB+118; { Minimum display height to allow }
|
||||
ASLSM_MaxHeight = ASL_TB+119; { Maximum display height to allow }
|
||||
ASLSM_MinDepth = ASL_TB+120; { Minimum display depth }
|
||||
ASLSM_MaxDepth = ASL_TB+121; { Maximum display depth }
|
||||
ASLSM_FilterFunc = ASL_TB+122; { Function to filter mode id's }
|
||||
ASLSM_Locale = ASL_TB + 50; // Locale ASL should use for text
|
||||
ASLSM_TextAttr = ASL_TB + 51; // Text font to use for gadget text
|
||||
ASLSM_UserData = ASL_TB + 52; // What to put in sm_UserData
|
||||
|
||||
{ Custom additions }
|
||||
ASLSM_CustomSMList = ASL_TB+123; { Exec list of struct DisplayMode }
|
||||
ASLSM_IntuiMsgFunc = ASL_TB + 70; // Function to handle IntuiMessages
|
||||
|
||||
{***************************************************************************}
|
||||
ASLSM_InitialDisplayID = ASL_TB + 100; // Initial display mode id
|
||||
ASLSM_InitialDisplayWidth = ASL_TB + 101; // Initial display width
|
||||
ASLSM_InitialDisplayHeight = ASL_TB + 102; // Initial display height
|
||||
ASLSM_InitialDisplayDepth = ASL_TB + 103; // Initial display depth
|
||||
ASLSM_InitialOverscanType = ASL_TB + 104; // Initial type of overscan
|
||||
ASLSM_InitialAutoScroll = ASL_TB + 105; // Initial autoscroll setting
|
||||
ASLSM_InitialInfoOpened = ASL_TB + 106; // Info wndw initially opened?
|
||||
ASLSM_InitialInfoLeftEdge = ASL_TB + 107; // Initial Info window coords.
|
||||
ASLSM_InitialInfoTopEdge = ASL_TB + 108;
|
||||
|
||||
ASL_LAST_TAG = ASL_TB+133;
|
||||
ASLSM_DoWidth = ASL_TB + 109; // Display Width gadget?
|
||||
ASLSM_DoHeight = ASL_TB + 110; // Display Height gadget?
|
||||
ASLSM_DoDepth = ASL_TB + 111; // Display Depth gadget?
|
||||
ASLSM_DoOverscanType = ASL_TB + 112; // Display Overscan Type gadget?
|
||||
ASLSM_DoAutoScroll = ASL_TB + 113; // Display AutoScroll gadget?
|
||||
|
||||
ASLSM_PropertyFlags = ASL_TB + 114; // Must have these Property flags
|
||||
ASLSM_PropertyMask = ASL_TB + 115; // Only these should be looked at
|
||||
ASLSM_MinWidth = ASL_TB + 116; // Minimum display width to allow
|
||||
ASLSM_MaxWidth = ASL_TB + 117; // Maximum display width to allow
|
||||
ASLSM_MinHeight = ASL_TB + 118; // Minimum display height to allow
|
||||
ASLSM_MaxHeight = ASL_TB + 119; // Maximum display height to allow
|
||||
ASLSM_MinDepth = ASL_TB + 120; // Minimum display depth
|
||||
ASLSM_MaxDepth = ASL_TB + 121; // Maximum display depth
|
||||
ASLSM_FilterFunc = ASL_TB + 122; // Function to filter mode id's
|
||||
|
||||
ASLSM_CustomSMList = ASL_TB + 123; // Exec list of struct DisplayMode
|
||||
// V44
|
||||
ASLSM_PopToFront = ASL_TB + 131; // Make the requester window visible when it opens
|
||||
// V45
|
||||
ASLSM_Activate = ASL_TB + 132; // Activate the requester window when it opens
|
||||
|
||||
ASL_LAST_TAG = ASL_TB + 133;
|
||||
|
||||
{***************************************************************************}
|
||||
|
||||
@ -397,59 +416,45 @@ const
|
||||
* of the semaphore is given below; it exists only with asl.library V45 and
|
||||
* IPrefs V45 and beyond.
|
||||
}
|
||||
ASL_SEMAPHORE_NAME : Pchar = 'asl.library';
|
||||
ASL_SEMAPHORE_NAME: PChar = 'asl.library';
|
||||
|
||||
type
|
||||
PAslSemaphore = ^tAslSemaphore;
|
||||
tAslSemaphore = record
|
||||
as_Semaphore : tSignalSemaphore;
|
||||
as_Version : Word; { Must be >= 45 }
|
||||
as_Size : Cardinal; { Size of this data structure. }
|
||||
as_SortBy : Byte; { File requester defaults; name, date or size }
|
||||
as_SortDrawers : Byte; { File requester defaults; first, mix or last }
|
||||
as_SortOrder : Byte; { File requester defaults; ascending or descending }
|
||||
as_SizePosition : Byte; { See below }
|
||||
as_RelativeLeft : WORD; { Window position offset }
|
||||
as_RelativeTop : WORD;
|
||||
as_RelativeWidth : Byte; { Window size factor; this is
|
||||
* a percentage of the parent
|
||||
* window/screen width.
|
||||
}
|
||||
as_RelativeHeight : Byte;
|
||||
end;
|
||||
type
|
||||
PAslSemaphore = ^TAslSemaphore;
|
||||
TAslSemaphore = record
|
||||
as_Semaphore: TSignalSemaphore;
|
||||
as_Version: Word; // Must be >= 45
|
||||
as_Size: Cardinal; // Size of this data structure.
|
||||
|
||||
as_SortBy: Byte; // File requester defaults; name, date or size
|
||||
as_SortDrawers: Byte; // File requester defaults; first, mix or last
|
||||
as_SortOrder: Byte; // File requester defaults; ascending or descending
|
||||
|
||||
as_SizePosition: Byte; // See below
|
||||
|
||||
as_RelativeLeft: Word; // Window position offset
|
||||
as_RelativeTop: Word;
|
||||
|
||||
as_RelativeWidth: Byte; // Window size factor; this is a percentage of the parent window/screen width.
|
||||
as_RelativeHeight : Byte;
|
||||
end;
|
||||
|
||||
const
|
||||
{ Default position of the ASL window. }
|
||||
ASLPOS_DefaultPosition = 0; { Position is calculated according to the builtin rules. }
|
||||
ASLPOS_CenterWindow = 1; { Centred within the bounds of the parent window. }
|
||||
ASLPOS_CenterScreen = 2; { Centred within the bounds of the parent screen. }
|
||||
ASLPOS_WindowPosition = 3; { Relative to the top left corner of the parent window,
|
||||
* using the offset values provided in the
|
||||
* as_RelativeLeft/as_RelativeTop members.
|
||||
}
|
||||
ASLPOS_ScreenPosition = 4; { Relative to the top left corner of the parent screen,
|
||||
* using the offset values provided in the
|
||||
* as_RelativeLeft/as_RelativeTop members.
|
||||
}
|
||||
ASLPOS_CenterMouse = 5; { Directly below the mouse pointer. }
|
||||
ASLPOS_MASK = $0F;
|
||||
|
||||
{ Default size of the ASL window. }
|
||||
ASLSIZE_DefaultSize = (0 shl 4); { Size is calculated according to the builtin rules. }
|
||||
ASLSIZE_RelativeSize = (1 shl 4); { Size is relative to the size of the parent
|
||||
* window or screen, using the values provided in
|
||||
* the as_RelativeWidth/as_RelativeHeight members.
|
||||
* The as_RelativeWidth/as_RelativeHeight values are
|
||||
* taken as percentage, i.e. a value of "50" stands for
|
||||
* 50% of the width/height of the parent window/screen.
|
||||
}
|
||||
ASLSIZE_MASK = $30;
|
||||
|
||||
{ Other options. }
|
||||
ASLOPTION_ASLOverrides = (1 shl 6); { ASL determines placement and size of requester
|
||||
* windows; application's choice is ignored.
|
||||
}
|
||||
|
||||
// Default position of the ASL window.
|
||||
ASLPOS_DefaultPosition = 0; // Position is calculated according to the builtin rules.
|
||||
ASLPOS_CenterWindow = 1; // Centred within the bounds of the parent window.
|
||||
ASLPOS_CenterScreen = 2; // Centred within the bounds of the parent screen.
|
||||
ASLPOS_WindowPosition = 3; // Relative to the top left corner of the parent window, using the offset values provided in the as_RelativeLeft/as_RelativeTop members.
|
||||
ASLPOS_ScreenPosition = 4; // Relative to the top left corner of the parent screen, using the offset values provided in the as_RelativeLeft/as_RelativeTop members.
|
||||
ASLPOS_CenterMouse = 5; // Directly below the mouse pointer.
|
||||
ASLPOS_MASK = $0F;
|
||||
// Default size of the ASL window.
|
||||
ASLSIZE_DefaultSize = 0 shl 4; // Size is calculated according to the builtin rules.
|
||||
ASLSIZE_RelativeSize = 1 shl 4; // Size is relative to the size of the parent window or screen, using the values provided in
|
||||
// the as_RelativeWidth/as_RelativeHeight members. The as_RelativeWidth/as_RelativeHeight values are
|
||||
// taken as percentage, i.e. a value of "50" stands for 50% of the width/height of the parent window/screen.
|
||||
ASLSIZE_MASK = $30;
|
||||
// Other options.
|
||||
ASLOPTION_ASLOverrides = 1 shl 6; // ASL determines placement and size of requester windows; application's choice is ignored.
|
||||
|
||||
{****************************************************************************
|
||||
*
|
||||
@ -461,47 +466,51 @@ const
|
||||
{$define ASL_V38_NAMES_ONLY}
|
||||
{$ifndef ASL_V38_NAMES_ONLY}
|
||||
const
|
||||
ASL_Dummy = (TAG_USER + $80000);
|
||||
ASL_Hail = ASL_Dummy+1 ;
|
||||
ASL_Window = ASL_Dummy+2 ;
|
||||
ASL_LeftEdge = ASL_Dummy+3 ;
|
||||
ASL_TopEdge = ASL_Dummy+4 ;
|
||||
ASL_Width = ASL_Dummy+5 ;
|
||||
ASL_Height = ASL_Dummy+6 ;
|
||||
ASL_HookFunc = ASL_Dummy+7 ;
|
||||
ASL_File = ASL_Dummy+8 ;
|
||||
ASL_Dir = ASL_Dummy+9 ;
|
||||
ASL_FontName = ASL_Dummy+10;
|
||||
ASL_FontHeight = ASL_Dummy+11;
|
||||
ASL_FontStyles = ASL_Dummy+12;
|
||||
ASL_FontFlags = ASL_Dummy+13;
|
||||
ASL_FrontPen = ASL_Dummy+14;
|
||||
ASL_BackPen = ASL_Dummy+15;
|
||||
ASL_MinHeight = ASL_Dummy+16;
|
||||
ASL_MaxHeight = ASL_Dummy+17;
|
||||
ASL_OKText = ASL_Dummy+18;
|
||||
ASL_CancelText = ASL_Dummy+19;
|
||||
ASL_FuncFlags = ASL_Dummy+20;
|
||||
ASL_ModeList = ASL_Dummy+21;
|
||||
ASL_ExtFlags1 = ASL_Dummy+22;
|
||||
ASL_Pattern = ASL_FontName;
|
||||
{ remember what I said up there? Do not use these anymore! }
|
||||
ASL_Dummy = TAG_USER + $80000;
|
||||
ASL_Hail = ASL_Dummy + 1;
|
||||
ASL_Window = ASL_Dummy + 2;
|
||||
ASL_LeftEdge = ASL_Dummy + 3;
|
||||
ASL_TopEdge = ASL_Dummy + 4;
|
||||
ASL_Width = ASL_Dummy + 5;
|
||||
ASL_Height = ASL_Dummy + 6;
|
||||
ASL_HookFunc = ASL_Dummy + 7;
|
||||
ASL_File = ASL_Dummy + 8;
|
||||
ASL_Dir = ASL_Dummy + 9;
|
||||
ASL_FontName = ASL_Dummy + 10;
|
||||
ASL_FontHeight = ASL_Dummy + 11;
|
||||
ASL_FontStyles = ASL_Dummy + 12;
|
||||
ASL_FontFlags = ASL_Dummy + 13;
|
||||
ASL_FrontPen = ASL_Dummy + 14;
|
||||
ASL_BackPen = ASL_Dummy + 15;
|
||||
ASL_MinHeight = ASL_Dummy + 16;
|
||||
ASL_MaxHeight = ASL_Dummy + 17;
|
||||
ASL_OKText = ASL_Dummy + 18;
|
||||
ASL_CancelText = ASL_Dummy + 19;
|
||||
ASL_FuncFlags = ASL_Dummy + 20;
|
||||
ASL_ModeList = ASL_Dummy + 21;
|
||||
ASL_ExtFlags1 = ASL_Dummy + 22;
|
||||
ASL_Pattern = ASL_FontName;
|
||||
|
||||
// remember what I said up there? Do not use these anymore!
|
||||
FILB_DOWILDFUNC = 7;
|
||||
FILB_DOMSGFUNC = 6;
|
||||
FILB_SAVE = 5;
|
||||
FILB_NEWIDCMP = 4;
|
||||
FILB_MULTISELECT = 3;
|
||||
FILB_PATGAD = 0;
|
||||
FILF_DOWILDFUNC = 128;
|
||||
FILF_DOMSGFUNC = 64;
|
||||
FILF_SAVE = 32;
|
||||
FILF_NEWIDCMP = 16;
|
||||
FILF_MULTISELECT = 8;
|
||||
FILF_PATGAD = 1;
|
||||
FIL1B_NOFILES = 0;
|
||||
FIL1B_MATCHDIRS = 1;
|
||||
FIL1F_NOFILES = 1;
|
||||
FIL1F_MATCHDIRS = 2;
|
||||
|
||||
FILF_DOWILDFUNC = 1 shl FILB_DOWILDFUNC;
|
||||
FILF_DOMSGFUNC = 1 shl FILB_DOMSGFUNC;
|
||||
FILF_SAVE = 1 shl FILB_SAVE;
|
||||
FILF_NEWIDCMP = 1 shl FILB_NEWIDCMP;
|
||||
FILF_MULTISELECT = 1 shl FILB_MULTISELECT;
|
||||
FILF_PATGAD = 1 shl FILB_PATGAD;
|
||||
|
||||
FIL1B_NOFILES = 0;
|
||||
FIL1B_MATCHDIRS = 1;
|
||||
FIL1F_NOFILES = 1 shl FIL1B_NOFILES;
|
||||
FIL1F_MATCHDIRS = 1 shl FIL1B_MATCHDIRS;
|
||||
|
||||
FONB_FRONTCOLOR = 0;
|
||||
FONB_BACKCOLOR = 1;
|
||||
FONB_STYLES = 2;
|
||||
@ -510,83 +519,61 @@ const
|
||||
FONB_NEWIDCMP = 5;
|
||||
FONB_DOMSGFUNC = 6;
|
||||
FONB_DOWILDFUNC = 7;
|
||||
FONF_FRONTCOLOR = 1;
|
||||
FONF_BACKCOLOR = 2;
|
||||
FONF_STYLES = 4;
|
||||
FONF_DRAWMODE = 8;
|
||||
FONF_FIXEDWIDTH = 16;
|
||||
FONF_NEWIDCMP = 32;
|
||||
FONF_DOMSGFUNC = 64;
|
||||
FONF_DOWILDFUNC = 128;
|
||||
|
||||
FONF_FRONTCOLOR = 1 shl FONB_FRONTCOLOR;
|
||||
FONF_BACKCOLOR = 1 shl FONB_BACKCOLOR;
|
||||
FONF_STYLES = 1 shl FONB_STYLES;
|
||||
FONF_DRAWMODE = 1 shl FONB_DRAWMODE;
|
||||
FONF_FIXEDWIDTH = 1 shl FONB_FIXEDWIDTH;
|
||||
FONF_NEWIDCMP = 1 shl FONB_NEWIDCMP;
|
||||
FONF_DOMSGFUNC = 1 shl FONB_DOMSGFUNC;
|
||||
FONF_DOWILDFUNC = 1 shl FONB_DOWILDFUNC;
|
||||
{$endif ASL_V38_NAMES_ONLY}
|
||||
|
||||
|
||||
var
|
||||
AslBase : pLibrary = nil;
|
||||
AslBase: PLibrary = nil;
|
||||
|
||||
function AllocFileRequest : pFileRequester;
|
||||
SysCall AslBase 030;
|
||||
function AllocFileRequest: PFileRequester; SysCall AslBase 030;
|
||||
procedure FreeFileRequest(FileReq: PFileRequester location 'a0'); SysCall AslBase 036;
|
||||
function RequestFile(FileReq: PFileRequester location 'a0'): LongBool; SysCall AslBase 042;
|
||||
function AllocAslRequest(ReqType: Cardinal location 'd0'; TagList: PTagItem location 'a0'): APTR; SysCall AslBase 048;
|
||||
procedure FreeAslRequest(Requester: APTR location 'a0'); SysCall AslBase 054;
|
||||
function AslRequest(Requester: APTR location 'a0'; TagList: PTagItem location 'a1'): LongBool; SysCall AslBase 060;
|
||||
procedure AbortAslRequest(Requester: APTR location 'a0'); SysCall AslBase 078;
|
||||
procedure ActivateAslRequest(Requester: APTR location 'a0'); SysCall AslBase 084;
|
||||
|
||||
procedure FreeFileRequest(fileReq : pFileRequester location 'a0');
|
||||
SysCall AslBase 036;
|
||||
|
||||
function RequestFile(fileReq : pFileRequester location 'a0'): LongBool;
|
||||
SysCall AslBase 042;
|
||||
|
||||
function AllocAslRequest(reqType: Cardinal location 'd0';
|
||||
tagList: pTagItem location 'a0'): Pointer;
|
||||
SysCall AslBase 048;
|
||||
|
||||
procedure FreeAslRequest(requester: Pointer location 'a0');
|
||||
SysCall AslBase 054;
|
||||
|
||||
function AslRequest(requester: Pointer location 'a0';
|
||||
tagList : pTagItem location 'a1'): LongBool;
|
||||
SysCall AslBase 060;
|
||||
|
||||
procedure AbortAslRequest(requester: Pointer location 'a0');
|
||||
SysCall AslBase 078;
|
||||
|
||||
procedure ActivateAslRequest(requester : Pointer location 'a0');
|
||||
SysCall AslBase 084;
|
||||
|
||||
function AllocAslRequestTags(reqType: Cardinal;
|
||||
tagList: array of DWord): Pointer; Inline;
|
||||
function AslRequestTags(requester: Pointer;
|
||||
tagList : array of DWord): LongBool; Inline;
|
||||
function AllocAslRequestTags(ReqType: Cardinal; const TagList: array of PtrUInt): APTR; Inline;
|
||||
function AslRequestTags(Requester: APTR; const TagList: array of PtrUInt): LongBool; Inline;
|
||||
|
||||
function InitAslLibrary : boolean;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
function AllocAslRequestTags(reqType: Cardinal;
|
||||
tagList: array of DWord): Pointer; Inline;
|
||||
function AllocAslRequestTags(ReqType: Cardinal; const TagList: array of PtrUInt): APTR; Inline;
|
||||
begin
|
||||
AllocAslRequestTags:=AllocAslRequest(reqType,@tagList);
|
||||
AllocAslRequestTags := AllocAslRequest(ReqType, @tagList);
|
||||
end;
|
||||
|
||||
function AslRequestTags(requester: Pointer;
|
||||
tagList : array of DWord): LongBool; Inline;
|
||||
function AslRequestTags(Requester: APTR; const TagList: array of PtrUInt): LongBool; Inline;
|
||||
begin
|
||||
AslRequestTags:=AslRequest(requester,@tagList);
|
||||
AslRequestTags := AslRequest(Requester, @TagList);
|
||||
end;
|
||||
|
||||
const
|
||||
{ Change VERSION and LIBVERSION to proper values }
|
||||
VERSION : string[2] = '0';
|
||||
LIBVERSION : longword = 0;
|
||||
// Change VERSION and LIBVERSION to proper values
|
||||
VERSION : string[2] = '0';
|
||||
LIBVERSION: LongWord = 0;
|
||||
|
||||
function InitAslLibrary : boolean;
|
||||
function InitAslLibrary: Boolean;
|
||||
begin
|
||||
InitAslLibrary:=Assigned(AslBase);
|
||||
InitAslLibrary := Assigned(AslBase);
|
||||
end;
|
||||
|
||||
initialization
|
||||
AslBase := OpenLibrary(ASLNAME,LIBVERSION);
|
||||
AslBase := OpenLibrary(ASLNAME, LIBVERSION);
|
||||
finalization
|
||||
if Assigned(AslBase) then
|
||||
CloseLibrary(PLibrary(AslBase));
|
||||
end. (* UNIT ASL *)
|
||||
end.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user