
	incdir	System:includes/		; ezt írjátok át!!

	include	lvo3.0/Exec_lib.i
	include	lvo3.0/Intuition_lib.i
	include	lvo3.0/graphics_lib.i
	include	intuition/intuition.i
	include	intuition/screens.i

WindowIDCMP	equ		CLOSEWINDOW!GADGETDOWN!GADGETUP
WindowFlags	equ		WFLG_CLOSEGADGET!WFLG_DRAGBAR!WFLG_DEPTHGADGET!WFLG_SMART_REFRESH!WFLG_ACTIVATE


j	bsr	OpenLibs			; megnyitjuk a library-kat
	bsr	OpenScreen			; megnyitjuk a képernyőt
	bsr	OpenWindow			; kinyitjuk az ablakot
	bsr	DrawToWindow			; rajzolunk az ablakba
	bsr	Main				; várunk, hogy bezárják
	bsr	CloseWindow			; bezárjuk az ablakot
	bsr	CloseScreen			; becsukjuk a képernyőt
	bsr	CloseLibs			; ..és a library-ket is
	rts					; viszlát!

DrawToWindow
	move.l	WinBase,a0
	move.l	wd_RPort(a0),RPort		; kiolvassuk a RastPort címét

	move.l	GFXBase,a6
	move.l	RPort,a1
	move.l	#100,d0
	move.l	#100,d1
	move.l	#80,d2
	move.l	#80,d3
	jsr	_LVODrawEllipse(a6)		; Rajzolunk egy ellipszist


	move.l	RPort,a1
	moveq	#3,d0
	moveq	#11,d1
	jsr	_LVOMove(a6)			; idemozgatjuk a gr. kurzort

	move.l	RPort,a1
	move.l	#496,d0
	move.l	#198,d1
	jsr	_LVODraw(a6)			; húzunk egy vonalat

	rts

Main	move.l	4.w,a6
	move.l	WinBase,a0
	move.l	wd_UserPort(a0),a0

	jsr	_LVOGetMsg(a6)
	tst.l	d0
	beq	Main

	move.l	d0,a0
	move.l	im_Class(a0),d7
	move.l	a0,a1
	jsr	_LVOReplyMsg(a6)

	cmpi.l	#IDCMP_CLOSEWINDOW,d7
	bne.s	Main

	rts

OpenWindow
	move.l	ScrBase,WinScr			; beírjuk a screen-címét az
						; ablak-struktúrába
	move.l	IntBase,a6
	lea	NewWindow0,a0
	jsr	_LVOOpenWindow(a6)		; kinyitjuk az ablakot
	move.l	d0,WinBase
	rts

CloseWindow
	move.l	IntBase,a6
	tst.l	WinBase
	beq	ok1
	move.l	WinBase,a0
	jsr	_LVOCloseWindow(a6)		; becsukjuk az ablakot
ok1	rts

OpenScreen
	move.l	IntBase,a6
	lea	NewScreen0,a0
	jsr	_LVOOpenScreen(a6)		; kinyitjuk a képernyőt
	move.l	d0,ScrBase
	rts

CloseScreen
	tst.l	ScrBase
	beq	ok2
	move.l	IntBase,a6
	move.l	ScrBase,a0
	jsr	_LVOCloseScreen(a6)		; becsukjuk a képernyőt
ok2
	rts

OpenLibs
	move.l	4.w,a6
	lea	IntName,a1
	jsr	_LVOOldOpenLibrary(a6)
	move.l	d0,IntBase

	lea	GFXName,a1
	jsr	_LVOOldOpenLibrary(a6)
	move.l	d0,GFXBase

	rts

CloseLibs
	move.l	4.w,a6
	move.l	IntBase,a1
	jsr	_LVOCloseLibrary(a6)

	move.l	GFXBase,a1
	jsr	_LVOCloseLibrary(a6)

	rts

IntName			dc.b	`intuition.library`,0
GFXName			dc.b	`graphics.library`,0
ScrTitle		dc.b	"My Own Screen..",0			
WinTitle		dc.b	"My Own window..",0
			even
IntBase			dc.l	0
GFXBase			dc.l	0
ScrBase			dc.l	0
WinBase			dc.l	0
RPort			dc.l	0

NewScreen0		dc.w	0,0,640,256
			dc.w	2
			dc.b	1,2
			dc.w	$8000			
			dc.w	CUSTOMSCREEN
			dc.l	0,ScrTitle
			dc.l	0,0

NewWindow0		dc.w	70,28,500,200
			dc.b	1,3
			dc.l	WindowIDCMP,WindowFlags
			dc.l	0,0,WinTitle
WinScr			dc.l	0,0
			dc.w	50,40,30,20,CUSTOMSCREEN
