NEW
PREFIX
AUTO 4,1
*--------------------------------------
MOU.Init		
.1				>PUSHBI 0
				>LDYA L.DEVNAME.MOUSE
				>SYSCALL2 open
				bcc .2
				
				inc DEVNAME.MOUSE+8
				lda DEVNAME.MOUSE+8
				cmp #'8'
				bne .1
				
				rts			

.2				sta hDevMouse
				clc
				rts
*--------------------------------------
MOU.Setup		lda DCB.GFX+S.DCB.GFX.W+1
				sta MouseClamp+3
				lsr
				sta CUR.Pos+S.POINT.X+1					
				
				lda DCB.GFX+S.DCB.GFX.W
				sta MouseClamp+2
				ror
				sta CUR.Pos+S.POINT.X					
				
				lda DCB.GFX+S.DCB.GFX.H+1
				sta MouseClamp+7
				lsr
				sta CUR.Pos+S.POINT.Y+1					
				
				lda DCB.GFX+S.DCB.GFX.H
				sta MouseClamp+6
				ror
				sta CUR.Pos+S.POINT.Y					

				>PUSHW L.MouseClamp
				>PUSHBI IOCTL.CONTROL
				lda hDevMouse
				>SYSCALL2 IOCTL
				bcs .9
				
				>LDYA L.CUR.SaveBuf
				>STYA CUR.CB+S.CB.DstPtr
				
				lda #CUR.T.ARROW
				jsr SetCursor
				jsr ShowCursor

				clc
.9				rts
*--------------------------------------
MOU.Quit		lda hDevMouse
				beq .8
				
				pha
				>PUSHBI IOCTL.CLOSE
				>PUSHWI 0
				pla
				>SYSCALL2 IOCTL

.8				clc
				rts
*--------------------------------------
MOU.ReadMouse	lda A2osX.ASCREEN		GUI screen active ?
				cmp DCB.GFX+S.DCB.GFX.DEVID
				bne .9					no, exit....
				
				lda hDevMouse
				beq .9
				
				pha

*				>PUSHW ZPPtr1
				>PUSHBI IOCTL.READ
				
				pla
				>SYSCALL2 IOCTL
				rts

.9				sec
				>RET 2					Discard PTR				
*--------------------------------------
MAN
SAVE USR/SRC/LIB/LIBGUI.S.MOU
LOAD USR/SRC/LIB/LIBGUI.S
ASM
