A2osX/LIB/LIBGUI.S.CUR.txt

138 lines
2.4 KiB
Plaintext
Raw Normal View History

NEW
PREFIX /A2OSX.BUILD
AUTO 4,1
*--------------------------------------
2017-12-04 07:18:24 +00:00
UpdateCursor lda CUR.T
cmp #CUR.T.WAIT
bcc SetCursor.A.RTS
inc
inc
cmp #CUR.T.WAIT+12
bne SetCursor.A
lda #CUR.T.WAIT
*--------------------------------------
* Set X2,Y2,SrcPtr
*--------------------------------------
SetCursor.A 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
2017-12-04 07:18:24 +00:00
SetCursor.A.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
DrawCursor.I >LDYA L.GC.Screen
2017-12-04 16:42:08 +00:00
jsr GC.Get
>LDYA L.CUR.CB
2017-12-04 07:18:24 +00:00
jsr CLIP.YA
bcs .9
2017-12-04 16:42:08 +00:00
2017-12-14 16:25:03 +00:00
jmp GoDevGfx
2017-12-04 07:18:24 +00:00
.9 rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/LIB/LIBGUI.S.CUR
LOAD /A2OSX.SRC/LIB/LIBGUI.S
ASM