;
; Slider v1.0
; written by Mauro Panigada
;
; $VER: Slider.a v1.0 (1996-07-16) by Mauro Panigada
;
; Started: 1996-07-16
; Finished: 1996-07-16
;
; PURPOSE: To exsercize my p-mind. This is a conversion from an AmigaE
;   example, and also it is an example, if you think so. About using
;   boopsi and intuition classes, that it is very interesting!
;


		incdir	"dh0:progr/assem/include/"
		include	"exec/types.i"
		include	"exec/libraries.i"
		include	"exec/exec_lib.i"
		include	"intuition/intuition.i"
		include	"intuition/gadgetclass.i"
		include	"intuition/icclass.i"
		include	"intuition/intuition_lib.i"


		bra.s	start

		dc.b	"Slider v1.0 (1996-07-16)"
		dc.b	" by Mauro Panigada",0
		even

start		lea	intname(pc),a1
		moveq	#39,d0
		move.l	4.w,a6
		jsr	_LVOOpenLibrary(a6)
		move.l	d0,a5
		tst.l	d0
		beq	sayonara

		move.l	a5,a6
		suba.l	a0,a0
		lea	window(pc),a1
		jsr	_LVOOpenWindowTagList(a6)
		move.l	d0,d7
		beq	closelib

		suba.l	a0,a0
		lea	propname(pc),a1
		lea	proptag(pc),a2
		jsr	_LVONewObjectA(a6)
		move.l	d0,d6
		beq	noprop

		move.l	d6,adj0+4
		move.l	d6,adj1+4
		suba.l	a0,a0
		lea	strname(pc),a1
		lea	strtag(pc),a2
		jsr	_LVONewObjectA(a6)
		move.l	d0,d5
		beq	nostr

		move.l	d6,a0
		move.l	d7,a1
		suba.l	a2,a2
		lea	tartag(pc),a3
		move.l	d5,4(a3)
		jsr	_LVOSetGadgetAttrsA(a6)

		move.l	d7,a0
		move.l	d6,a1
		moveq	#-1,d0
		moveq	#-1,d1
		suba.l	a2,a2
		jsr	_LVOAddGList(a6)
		move.l	d6,a0
		move.l	d7,a1
		suba.l	a2,a2
		moveq	#-1,d0
		jsr	_LVORefreshGList(a6)

		move.l	4.w,a6
		move.l	d7,a3
loop		move.l	wd_UserPort(a3),a0
		jsr	_LVOWaitPort(a6)
		move.l	wd_UserPort(a3),a0
		jsr	_LVOGetMsg(a6)
		tst.l	d0
		beq.s	loop
		move.l	d0,a1
		jsr	_LVOReplyMsg(a6)

loop0		move.l	wd_UserPort(a3),a0
		jsr	_LVOGetMsg(a6)
		tst.l	d0
		beq.s	okgo
		move.l	d0,a1
		jsr	_LVOReplyMsg(a6)
		bra.s	loop0

okgo		move.l	a5,a6
		move.l	d7,a0
		move.l	d6,a1
		moveq	#-1,d0
		jsr	_LVORemoveGList(a6)

		move.l	d5,a0
		jsr	_LVODisposeObject(a6)

nostr		move.l	d6,a0
		jsr	_LVODisposeObject(a6)

noprop		move.l	d7,a0
		jsr	_LVOCloseWindow(a6)

closelib	move.l	a5,a1
		move.l	4.w,a6
		jsr	_LVOCloseLibrary(a6)

sayonara	rts


intname		dc.b	"intuition.library",0
		even

propname	dc.b	"propgclass",0
		even
strname		dc.b	"strgclass",0
		even

window		dc.l	WA_Flags,$e
		dc.l	WA_IDCMP,$200
		dc.l	WA_Width,120
		dc.l	WA_Height,150
		dc.l	TAG_END

proptag		dc.l	GA_ID,1
		dc.l	GA_TOP,12+5	; <------ +bordertop
		dc.l	GA_LEFT,5+5	; <------ +borderleft
		dc.l	GA_WIDTH,10
		dc.l	GA_HEIGHT,100
		dc.l	ICA_MAP,mappe
		dc.l	PGA_TOTAL,109
		dc.l	PGA_TOP,25
		dc.l	PGA_VISIBLE,10
		dc.l	PGA_NewLook,-1
		dc.l	TAG_END

mappe		dc.l	PGA_TOP,STRINGA_LongVal
		dc.l	TAG_END

mappe2		dc.l	STRINGA_LongVal,PGA_TOP
		dc.l	TAG_END

strtag		dc.l	GA_ID,2
		dc.l	GA_TOP,12+5	; <--------- +bordertop
		dc.l	GA_LEFT,5+30	; <--------- +borderleft
		dc.l	GA_WIDTH,40
		dc.l	GA_HEIGHT,18
		dc.l	ICA_MAP,mappe2
adj0		dc.l	ICA_TARGET,0	; <--------- OK prop
adj1		dc.l	GA_PREVIOUS,0	; <--------- OK prop
		dc.l	STRINGA_LongVal,25
		dc.l	STRINGA_MaxChars,3
		dc.l	TAG_END

tartag		dc.l	ICA_TARGET,0	;*
		dc.l	TAG_END


		END