A2osX/LIB/LIBGUI.S.SYSBAR.txt
2022-10-25 08:05:54 +02:00

175 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
AUTO 3,1
*--------------------------------------
SYSBUT.Enter bit WND.SYSBAR.bSysBut
bmi .8
sec
ror WND.SYSBAR.bSysBut
jsr CB.GetBuf
bcs .9
jsr SYSBAR.ShowSysBut
>LDYA L.WND.SysBar
jsr CB.FlushBufToYA
>PUSHW L.MENU.Sys
>PUSHW WND.SysBar+S.OBJ.X1
>PUSHW WND.SysBar+S.OBJ.Y1
jsr MENU.New
bcs .9
jmp MENU.Draw
.8 clc
.9 rts
*--------------------------------------
SYSBUT.Leave bit WND.SYSBAR.bSysBut
bpl .8
stz WND.SYSBAR.bSysBut
jsr CB.GetBuf
bcs .9
jsr SYSBAR.ShowSysBut
>LDYA L.WND.SysBar
jmp CB.FlushBufToYA
.8 clc
.9 rts
*--------------------------------------
SYSBAR.Show jsr CB.GetBuf
bcs .9
jsr SYSBAR.ShowSysBut
jsr SYSBAR.ShowSysWNDs
jsr SYSBAR.ShowSysClk
>LDYA L.WND.SysBar
jmp CB.FlushBufToYA
.9 rts
*--------------------------------------
SYSBAR.ShowSysBut
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
bit WND.SysBar.bSysBut
bpl .1
eor #$ff
.1 sta CB.Cache+S.CB.COLOR
ldx #S.RECT-1
.2 lda RECT.SysBut,x
sta CB.Cache+S.CB.X1,x
dex
bpl .2
jsr CB.Cache2CBBuf
lda RECT.SysBut+S.RECT.X1
clc
adc #4
sta DX
lda RECT.SysBut+S.RECT.X1+1
adc #0
sta DX+1
lda RECT.SysBut+S.RECT.Y1
clc
adc #1
sta DY
lda RECT.SysBut+S.RECT.Y1+1
adc #0
sta DY+1
ldx #BM.ID.APPLE
jsr DRAW.xBMAtDXDY
lda RECT.SysBut+S.RECT.X1
clc
adc #21
sta DX
lda RECT.SysBut+S.RECT.X1+1
adc #0
sta DX+1
inc DY
bne .3
inc DY+1
.3 lda WND.SysBar.bSysBut
asl
>LDYA L.WND.SysBar.2osX
ldx hSYSFON
jmp DRAW.YATextAtDXDY
*--------------------------------------
SYSBAR.ShowSysWNDs
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
sta CB.Cache+S.CB.COLOR
ldx #S.RECT-1
.1 lda RECT.SysWNDs,x
sta CB.Cache+S.CB.X1,x
dex
bpl .1
jmp CB.Cache2CBBuf
*--------------------------------------
SYSBAR.ShowSysClk
lda #S.CB.CMD.FILLRECT
jsr CB.InitCacheA
lda #S.CB.OP.SET
sta CB.Cache+S.CB.OP
lda #S.CB.M.MONO
sta CB.Cache+S.CB.M
lda PREFS.SYSBARCOLOR
sta CB.Cache+S.CB.COLOR
ldx #S.RECT-1
.1 lda RECT.SysClk,x
sta CB.Cache+S.CB.X1,x
dex
bpl .1
jmp CB.Cache2CBBuf
*--------------------------------------
MAN
SAVE usr/src/lib/libgui.s.sysbar
LOAD usr/src/lib/libgui.s
ASM