A2osX/LIB/LIBGUI.S.BUT.txt

112 lines
1.7 KiB
Plaintext
Raw Normal View History

NEW
2019-07-30 08:57:25 +00:00
AUTO 3,1
*--------------------------------------
2022-11-02 06:54:30 +00:00
* NewBut(HWND, bFlags, wW, pICON, pTEXT, bKEYMOD, bKEY, wID, wX, wY)
*--------------------------------------
BUT.New lda #S.OBJ.T.BUT
jsr OBJ.New
bcs .9
* >STYA ZPObjPtr
2022-11-02 06:54:30 +00:00
ldy #S.OBJ.Y1
jsr OBJ.PullWordAtY
ldy #S.OBJ.X1
jsr OBJ.PullWordAtY
ldy #S.BUT.KEYMOD
jsr OBJ.PullWordAtY
ldy #S.BUT.pTEXT
jsr OBJ.PullWordAtY
ldy #S.BUT.pICON
jsr OBJ.PullWordAtY
2019-01-10 16:26:58 +00:00
ldy #S.OBJ.W
2022-11-02 06:54:30 +00:00
jsr OBJ.PullWordAtY
ldy #S.OBJ.F
jsr OBJ.PullByteAtY
jsr OBJ.PullHWND
ldy #S.OBJ.W
jsr OBJ.GetPropAtY
bcc .5 W in !NULL, static size
stz DX
stz DX+1
ldy #S.BUT.pICON
jsr OBJ.GetPropAtY
bcs .1 no icon
lda #16 IconW
sta DX
.1 ldy #S.BUT.pTEXT
jsr OBJ.GetPropAtY
bcs .3 no text
2022-11-02 06:54:30 +00:00
ldx hSYSFON
jsr FON.GetTextSize
2022-11-02 06:54:30 +00:00
ldy #S.OBJ.F
lda (ZPObjPtr),y
and #S.BUT.F.NOSPACE
bne .2
2019-01-08 16:29:26 +00:00
2022-11-02 06:54:30 +00:00
lda DX
beq .2
2019-01-08 16:29:26 +00:00
clc
2022-11-02 06:54:30 +00:00
adc PREFS.XSeparator
sta DX
.2 clc
lda CB.CACHE+S.CB.SrcW
adc DX
sta DX
lda CB.CACHE+S.CB.SrcW+1
adc DX+1
sta DX+1
.3 lda #PREFS.XSeparator
asl
* clc
adc DX
ldy #S.OBJ.W
sta (ZPObjPtr),y
lda #0
adc DX+1
iny
sta (ZPObjPtr),y
.5
.8 clc
2019-01-08 16:29:26 +00:00
rts
2022-11-02 06:54:30 +00:00
.9 >POP 14
rts
*--------------------------------------
BUT.Enter
*--------------------------------------
2022-11-02 06:54:30 +00:00
BUT.Draw
*--------------------------------------
2020-09-07 20:40:50 +00:00
BUT.Close
2020-09-07 20:40:50 +00:00
clc
rts
*--------------------------------------
MAN
2020-06-30 15:32:23 +00:00
SAVE usr/src/lib/libgui.s.but
LOAD usr/src/lib/libgui.s
ASM