A2osX/LIB/LIBGUI.S.CUR.txt

139 lines
2.4 KiB
Plaintext
Raw Normal View History

NEW
2018-11-17 17:17:13 +00:00
PREFIX
AUTO 4,1
*--------------------------------------
2017-12-04 07:18:24 +00:00
UpdateCursor lda CUR.T
cmp #CUR.T.WAIT
2019-01-08 16:29:26 +00:00
bcc SetCursor.RTS
2017-12-04 07:18:24 +00:00
inc
inc
cmp #CUR.T.WAIT+12
2019-01-08 16:29:26 +00:00
bne SetCursor
2017-12-04 07:18:24 +00:00
lda #CUR.T.WAIT
*--------------------------------------
* Set X2,Y2,SrcPtr
*--------------------------------------
2019-01-08 16:29:26 +00:00
SetCursor sta CUR.T
lda CUR.bVisible
bpl .1
jsr HideCursor.I
.1 ldx CUR.T
lda L.Cursors,x
sta CUR.CB+S.CB.SrcPtr
sta ZPPtr1
lda L.Cursors+1,x
sta CUR.CB+S.CB.SrcPtr+1
sta ZPPtr1+1
ldy #S.BM.W
lda (ZPPtr1),y
sta CUR.CB+S.CB.SrcW
iny
lda (ZPPtr1),y
sta CUR.CB+S.CB.SrcW+1
iny S.BM.H
lda (ZPPtr1),y
sta CUR.CB+S.CB.SrcH
iny
lda (ZPPtr1),y
sta CUR.CB+S.CB.SrcH+1
lda CUR.bVisible
bmi ShowCursor.I
2019-01-08 16:29:26 +00:00
SetCursor.RTS rts
*--------------------------------------
* Set DestX,DestY
*--------------------------------------
SetCursorPos >PULLW ZPPtr1
lda CUR.bVisible
bpl .1
jsr HideCursor.I
.1 ldy #S.POINT-1
.2 lda (ZPPtr1),y
sta CUR.Pos,y
dey
bpl .2
lda CUR.bVisible
bmi ShowCursor.I
rts
*--------------------------------------
HideCursor lda CUR.bVisible
bpl .9
jsr HideCursor.I
stz CUR.bVisible
.9 rts
*--------------------------------------
ShowCursor lda CUR.bVisible
bmi .9
jsr ShowCursor.I
dec CUR.bVisible
.9 rts
*--------------------------------------
HideCursor.I lda #S.CB.OP.RESTORE
sta CUR.CB+S.CB.OP
2017-12-04 07:18:24 +00:00
bra DrawCursor.I
*--------------------------------------
ShowCursor.I lda #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.SAVE
sta CUR.CB+S.CB.OP
ldx CUR.T
lda CUR.Pos+S.POINT.X
sec
sbc CUR.HotPoints,x
sta CUR.CB+S.CB.DstX
lda CUR.Pos+S.POINT.X+1
sbc #0
sta CUR.CB+S.CB.DstX+1
lda CUR.Pos+S.POINT.Y
sec
sbc CUR.HotPoints+1,x
sta CUR.CB+S.CB.DstY
lda CUR.Pos+S.POINT.Y+1
sbc #0
sta CUR.CB+S.CB.DstY+1
2019-01-10 16:26:58 +00:00
DrawCursor.I >LDYA L.SCR
jsr OBJ.Get
2017-12-04 16:42:08 +00:00
2019-01-10 16:26:58 +00:00
>LDYA L.CUR.CB
jsr CLIP.YA
bcs .9
2017-12-04 16:42:08 +00:00
2019-01-09 16:42:20 +00:00
>LDYA L.CUR.CB
jmp GFXWrite.YA
2017-12-04 07:18:24 +00:00
.9 rts
*--------------------------------------
MAN
2018-11-17 17:17:13 +00:00
SAVE USR/SRC/LIB/LIBGUI.S.CUR
LOAD USR/SRC/LIB/LIBGUI.S
ASM