łśłś’ś?·’ś?·’ś?·’ś?·’ś?·’ś?·’ś?·’ś?·’ś?·
;Przykīad wykorzystania asl.library

;Programowaī: 	Dariusz Czyž "Thoron"
;		ul. Mielczarskiego 1m49
;		97-200 Tomaszów Maz.

;Tylko dla Kick =>2.0

OpenLibrary:	equ	-552
CloseLibrary:	equ	-414

;Asl
AllocAslRequest:	equ	-48
AslRequest:		equ	-42
FreeAslRequest:		equ	-54
Asl_FileRequest:	equ	0
Asl_FontRequest:	equ	1

TAG_DONE:		equ	0
TAG_USER:		equ	$80000000
Asl_TB:			equ	TAG_USER+$80000

;Tags File Request
ASLFR_Window:		equ	ASL_TB+2	;V36
ASLFR_TitleText:	equ	ASL_TB+1	;V36
ASLFR_PositiveText:	equ	ASL_TB+18	;V36
ASLFR_NegativeText:	equ	ASL_TB+19	;V36
ASLFR_InitialLeftEdge:	equ	ASL_TB+3	;V36
ASLFR_InitialTopEdge:	equ	ASL_TB+4	;V36
ASLFR_InitialWidth:	equ	ASL_TB+5	;V36
ASLFR_InitialHeight:	equ	ASL_TB+6	;V36
ASLFR_InitialFile:	equ	ASL_TB+8	;V36
ASLFR_InitialDrawer:	equ	ASL_TB+9	;V36
ASLFR_InitialPattern:	equ	ASL_TB+10	;V36
ASLFR_Flags1:		equ	ASL_TB+20	;V36
ASLFR_Flags2:		equ	ASL_TB+22	;V36
;dla ASLFR_Flags1
FRF_FILTERFUNC:		equ	1<<7
FRF_INTUIFUNC:		equ	1<<6
FRF_PRIVATEIDCMP:	equ	1<<4
FRF_DOMULTISELECT:	equ	1<<3
FRF_DOSAVEMODE:		equ	1<<5
FRF_DOPATTERNS:		equ	1<<0
;dla ASLFR_Flags2
FRF_DRAWERSONLY:	equ	1<<0
FRF_FILTERDRAWERS:	equ	1<<1
FRF_REJECTICONS:	equ	1<<2

;Tags Font Requester
ASLFO_Window:		equ	ASL_TB+2	;V36
ASLFO_TitleText:	equ	ASL_TB+1	;V36
ASLFO_PositiveText:	equ	ASL_TB+18	;V36
ASLFO_NegativeText:	equ	ASL_TB+19	;V36
ASLFO_InitialLeftEdge:	equ	ASL_TB+3	;V36
ASLFO_InitialTopEdge:	equ	ASL_TB+4	;V36
ASLFO_InitialWidth:	equ	ASL_TB+5	;V36
ASLFO_InitialHeight:	equ	ASL_TB+6	;V36
ASLFO_InitialName:	equ	ASL_TB+10	;V36
ASLFO_InitialSize:	equ	ASL_TB+11	;V36
ASLFO_InitialStyle:	equ	ASL_TB+12	;V36
ASLFO_InitialFlags:	equ	ASL_TB+13	;V36
ASLFO_InitialFrontPen:	equ	ASL_TB+14	;V36
ASLFO_InitialBackPen:	equ	ASL_TB+15	;V36
ASLFO_InitialDrawMode:	equ	ASL_TB+59	;V36
ASLFO_Flags:		equ	ASL_TB+20	;V36
ASLFO_MinHeight:	equ	ASL_TB+16	;V36
ASLFO_MaxHeight:	equ	ASL_TB+17	;V36
;dla ASLFO_Flags
FOF_DOFRONTPEN:		equ	1<<0
FOF_DOBACKPEN:		equ	1<<1
FOF_DOSTYLE:		equ	1<<2
FOF_DODRAWMODE:		equ	1<<3
FOF_FIXEDWIDTHONLY:	equ	1<<4
FOF_PRIVATEIDCMP:	equ	1<<5
FOF_INTUIFUNc:		equ	1<<6
FOF_FILTERFUNC:		equ	1<<7


Start:
	move.l	4.w,a6
	lea	AslName(pc),a1
	moveq	#36,d0
	jsr	OpenLibrary(a6)
	move.l	d0,AslBase
	beq.s	Brak_Biblioteki

;wybieraczka plików
	move.l	AslBase(pc),a6
	move.l	#Asl_FileRequest,d0
	lea	Asl_FileTags(pc),a0
	jsr	AllocAslRequest(a6)
	move.l	d0,FileReq
	beq.s	Koniec
	move.l	AslBase(pc),a6
	move.l	d0,a0
	sub.l	a1,a1
	jsr	AslRequest(a6)
;Tu powinna byē obsīuga danych.
	move.l	AslBase(pc),a6
	move.l	FileReq(pc),a0
	jsr	FreeAslRequest(a6)

;wybieraczka fontów
	move.l	AslBase(pc),a6
	move.l	#Asl_FontRequest,d0
	lea	Asl_FontTags(pc),a0
	jsr	AllocAslRequest(a6)
	move.l	d0,FileReq
	beq.s	Koniec
	move.l	AslBase(pc),a6
	move.l	d0,a0
	sub.l	a1,a1
	jsr	AslRequest(a6)
;Tu powinna byē obsīuga danych.
	move.l	AslBase(pc),a6
	move.l	FileReq(pc),a0
	jsr	FreeAslRequest(a6)

Koniec:
	move.l	4.w,a6
	move.l	AslBase(pc),a1
	jsr	CloseLibrary(a6)

Brak_Biblioteki:
	rts
	
AslBase:
	dc.l	0
FileReq:
	dc.l	0
AslName:
	dc.b	"asl.library",0
	even
Tekst1:
	dc.b	"To jest wybieraczka plików",0
	even
RequestFile:
	dc.b	"Nazwa Pliku",0
	even
T_Wybierz:
	dc.b	"Wybierz",0
	even
T_Anuluj:
	dc.b	"Anuluj",0
	even
Tekst2:
	dc.b	"To jest wybieraczka fontów",0
	even


Asl_FileTags:
	dc.l	ASLFR_PositiveText,T_Wybierz
	dc.l	ASLFR_NegativeText,T_Anuluj
	dc.l	ASLFR_TitleText,Tekst1
	dc.l	ASLFR_InitialFile,RequestFile
	dc.l	TAG_Done,0

Asl_FontTags:
	dc.l	ASLFO_TitleText,Tekst2
	dc.l	ASLFO_PositiveText,T_Wybierz
	dc.l	ASLFO_NegativeText,T_Anuluj
	dc.l	ASLFO_InitialSize,8
	dc.l	ASLFO_Flags,FOF_FIXEDWIDTHONLY+FOF_DOFRONTPEN+FOF_DOBACKPEN+FOF_DOSTYLE+FOF_DODRAWMODE
	dc.l	Tag_Done,0
