	section	lard,code
	opt	d+,c+

	;run with monam as it used illegal for info!

_LVOLockPubScreen	EQU	-510
_LVOUnlockPubScreen	EQU	-516
_LVOOpenWindowTagList	EQU	-606

CALLGAD	MACRO
	move.l	_GadToolsBase,a6
	jsr	_LVO\1(a6)	
	ENDM

code:	include	dh0:include/system
	include	libraries/gadtools.i
	include	libraries/gadtools_lib.i
	include	utility/tagitem.i
			
	Lea	GFXName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l 	D0,_GfxBase
	Beq	Error

	Lea	DosName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l 	D0,_DOSBase
	Beq	Error

	Lea	IntName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l	D0,_IntuitionBase
	Beq	Error

	Lea	GadToolsName,A1
	Moveq	#0,D0
	CALLEXEC	OpenLibrary
	Move.l	D0,_GadToolsBase
	Beq	Error

	*-----------------------------------------------*

	bsr	SetupScreen
	bsr	OpenProject0Window	
	
	move.l	Project0Wnd,a0
	Move.l	wd_UserPort(a0),_MyWinUserPort

	*-----------------------------------------------*

.WaitLoop	Move.l	_MyWinUserPort,A0
	CALLEXEC	WaitPort
	Move.l	_MyWinUserPort,A0
	CALLGAD	GT_GetIMsg
	Move.l	D0,A1
	Move.l	im_Class(A1),D2	;D2=IDCMP Flags Directly
	Move.w	im_Code(A1),D3	;D3=Data ie key why class=Rawkey
	Move.w	im_Qualifier(A1),D4	;D4=things like CTRL SHIFT
	Move.w	im_MouseX(a1),D5	;D5=MouseX Coordinate
	Move.w	im_MouseY(a1),D6	;D5=MouseY Coordinate
	Move.l	im_IAddress(A1),D7	;D7=Addres of Intuition Obj ie Gadget
	Movem.l	D0-D7/A0-A6,-(A7)
	CALLGAD	GT_ReplyIMsg
	Movem.l	(a7)+,D0-D7/A0-A6

	Cmp.l	#CLOSEWINDOW,D2
	beq	.exit

	cmp.l	#GADGETUP,d2
	bne	.WaitLoop
	
	move.l	d7,a0	
	cmp.l	Project0Gadgets+(0*4),d7
	beq	.gad1
	cmp.l	Project0Gadgets+(1*4),d7
	beq	.gad2
	cmp.l	Project0Gadgets+(2*4),d7
	beq	.gad3
	cmp.l	Project0Gadgets+(3*4),d7
	beq	.gad4
	bra	.WaitLoop	
	
.gad1	illegal
	bra	.WaitLoop
	
.gad2	illegal
	;d3=0/1 for stake of toggle gadget
	bra	.WaitLoop

.gad3	illegal
	;d3=0-3 for selected palette icon
	bra	.WaitLoop

.gad4	illegal
	;d3=0-3 for selected cycle gadget
	bra	.WaitLoop
		
	;;;
	
.exit	bsr	CloseProject0Window
	bsr	CloseDownScreen

	Move.l	Scr,A0
	CALLINT	CloseScreen
	
	*-----------------------------------------------*
	
CloseInt	Move.l	_GadToolsBase,A1
	CALLEXEC	CloseLibrary

NoGT:	Move.l	_IntuitionBase,A1
	CALLEXEC	CloseLibrary

	Move.l	_DOSBase,A1
	CALLEXEC	CloseLibrary

	Move.l	_GfxBase,A1
	CALLEXEC	CloseLibrary

	*-------------------------------*

Error	Moveq	#0,D0
	Rts

	*-------------------------------*
	
	include	dh0:data/pw/demo.s
	
	*-------------------------------*

_IntuitionBase	dc.l	0
_DOSBase		dc.l	0
_GfxBase		dc.l	0
_GadToolsBase	dc.l	0

_MyWinUserPort	dc.l	0

GFXName		GRAFNAME
IntName		INTNAME
DosName		DOSNAME
GadToolsName	dc.b	"gadtools.library",0
		even

