mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-09 02:30:35 +00:00
Kernel 0.94
This commit is contained in:
parent
d30216ca00
commit
9c02fb8bb5
Binary file not shown.
@ -3,21 +3,13 @@ NEW
|
||||
*--------------------------------------
|
||||
* drawline(short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int X2)
|
||||
*--------------------------------------
|
||||
DrawLine >PULLW CB.Cache+S.CB.Y2
|
||||
>PULLW CB.Cache+S.CB.X2
|
||||
>PULLW CB.Cache+S.CB.Y1
|
||||
>PULLW CB.Cache+S.CB.X1
|
||||
DrawLine jsr DRAW.PullY2X2Y1X1
|
||||
|
||||
>PULLB CB.Cache+S.CB.COLOR
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
>PULLA hWND
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
|
||||
jsr DRAW.ToGlobal
|
||||
|
||||
jsr DRAW.GetInnerWND for clipping
|
||||
|
||||
|
||||
jsr DRAW.PullWND
|
||||
|
||||
lda CB.Cache+S.CB.X2
|
||||
sec
|
||||
sbc CB.Cache+S.CB.X1
|
||||
@ -266,14 +258,45 @@ DrawLine.IncX lda DX
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* drawrectangle (short int OP, short int M, int X1, int Y1, int X2, int Y2)
|
||||
* fillrectangle (short int hWND, short int OP, short int COLOR, int X1, int Y1, int X2, int Y2)
|
||||
*--------------------------------------
|
||||
FillRectangle jsr DRAW.PullY2X2Y1X1
|
||||
|
||||
>PULLB CB.Cache+S.CB.COLOR
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
|
||||
lda #S.CB.CMD.FILLRECT
|
||||
sta CB.Cache+S.CB.CMD
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp GFXWrite.CB
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
* drawbitmap (short int OP, short int M, S.BM *bitmap, int X1, int Y1)
|
||||
* drawbitmap (short int hWND, short int OP, short int M, S.BM *bitmap, int X1, int Y1)
|
||||
*--------------------------------------
|
||||
DrawBitMap clc
|
||||
rts
|
||||
DrawBitMap lda #S.CB.CMD.BITBLT
|
||||
jsr CB.InitCacheA
|
||||
|
||||
jsr DRAW.PullY1X1
|
||||
|
||||
>PULLW CB.Cache+S.CB.SrcPtr
|
||||
|
||||
>PULLB CB.Cache+S.CB.M
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp GFXWrite.CB
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRAW.xBMAtDXDY >LDYA L.BMs,x
|
||||
DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||
@ -312,10 +335,26 @@ DRAW.yaBMAtDXDY >STYA ZPBMPtr Src BM
|
||||
|
||||
jmp PutCBCache2CBBuf
|
||||
*--------------------------------------
|
||||
* drawtext (short int OP, short int hFONT, int X1, int Y1)
|
||||
* drawtext (short int hWND, short int OP, short int hFONT, int X1, int Y1, char *str)
|
||||
*--------------------------------------
|
||||
DrawText clc
|
||||
rts
|
||||
DrawText lda #S.CB.CMD.DRAWTEXT2
|
||||
jsr CB.InitCacheA
|
||||
|
||||
>PULLW CB.Cache+S.CB.TxtPtr
|
||||
|
||||
jsr DRAW.PullY1X1
|
||||
|
||||
>PULLB CB.Cache+S.CB.hFont
|
||||
>PULLB CB.Cache+S.CB.OP
|
||||
|
||||
jsr DRAW.PullWND
|
||||
|
||||
jsr CLIP.CB.Cache
|
||||
bcs .8
|
||||
|
||||
jmp GFXWrite.CB
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
DRAW.YATextAtDXDY
|
||||
phx
|
||||
@ -347,6 +386,60 @@ DRAW.YATextAtDXDY
|
||||
|
||||
jmp PutCBCache2CBBuf
|
||||
*--------------------------------------
|
||||
DRAW.PullY2X2Y1X1
|
||||
ldx #7
|
||||
bra DRAW.PullX
|
||||
|
||||
DRAW.PullY1X1 ldx #3
|
||||
|
||||
DRAW.PullX >PULLA
|
||||
sta CB.Cache+S.CB.X1,x
|
||||
dex
|
||||
bpl DRAW.PullX
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.PullWND >PULLA hWND
|
||||
>SYSCALL2 GetMemPtr
|
||||
>STYA ZPWNDPtr
|
||||
|
||||
jsr DRAW.ToGlobal set CB.Cache to global coord.
|
||||
*--------------------------------------
|
||||
DRAW.GetInnerWND
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1+1
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1+1
|
||||
|
||||
ldy #S.WND.InnerW
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W+1
|
||||
|
||||
iny #S.WND.InnerH
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H+1
|
||||
|
||||
>LDYA L.OBJ.Cache
|
||||
jmp OBJ.SetX2Y2
|
||||
*--------------------------------------
|
||||
DRAW.ToGlobal >LDYA ZPWNDPtr
|
||||
>STYA ZPPtr1
|
||||
|
||||
@ -392,41 +485,6 @@ DRAW.AddP1YtoCBX
|
||||
sta CB.Cache+1,x
|
||||
rts
|
||||
*--------------------------------------
|
||||
DRAW.GetInnerWND
|
||||
ldy #S.OBJ.X1
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.X1+1
|
||||
|
||||
ldy #S.WND.InnerY1
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.Y1+1
|
||||
|
||||
ldy #S.WND.InnerW
|
||||
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.W+1
|
||||
|
||||
iny #S.WND.InnerH
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H
|
||||
iny
|
||||
lda (ZPWNDPtr),y
|
||||
sta OBJ.Cache+S.OBJ.H+1
|
||||
|
||||
>LDYA L.OBJ.Cache
|
||||
jmp OBJ.SetX2Y2
|
||||
*--------------------------------------
|
||||
DrawCBBufToYA pha
|
||||
phy
|
||||
|
||||
|
@ -1,7 +1,46 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
EVT.Get
|
||||
EVT.GetMsg >PULLW ZPPtr1
|
||||
|
||||
lda A2osX.ASCREEN GUI screen active ?
|
||||
cmp DCB.GFX+S.DCB.GFX.DEVID
|
||||
bne .9 no, exit....
|
||||
|
||||
* sec
|
||||
|
||||
lda hDevMouse
|
||||
beq .2
|
||||
|
||||
>PUSHA
|
||||
>PUSHBI IOCTL.READ
|
||||
>PUSHW L.MouseData
|
||||
>SYSCALL2 IOCTL
|
||||
bcs .2
|
||||
|
||||
ldy #S.MOUSE-1
|
||||
|
||||
.1 lda MouseData,y
|
||||
sta (ZPPtr1),y
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
* clc
|
||||
|
||||
.2 lda KBD
|
||||
bmi .3
|
||||
|
||||
rts
|
||||
|
||||
.3 sta KBDSTROBE
|
||||
and #$7F
|
||||
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.evt
|
||||
|
@ -237,7 +237,7 @@ MENU.Enter jsr MENU.GetDX
|
||||
bit #S.MOUSE.S.CLK
|
||||
beq .90
|
||||
|
||||
>DEBUG
|
||||
* >DEBUG
|
||||
|
||||
jmp MENU.DestroyAll
|
||||
|
||||
|
@ -119,7 +119,9 @@ MOU.CheckOverMenu
|
||||
jsr MOU.InRectYA
|
||||
bcs .2
|
||||
|
||||
jmp MENU.Enter
|
||||
jsr MENU.Enter
|
||||
clc
|
||||
rts
|
||||
|
||||
.2 lda ZPMENUPtr
|
||||
clc
|
||||
|
@ -16,7 +16,7 @@ NEW
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
* MyPtr .BS 2
|
||||
hWND .BS 1
|
||||
ZS.END
|
||||
.ED
|
||||
*--------------------------------------
|
||||
@ -42,11 +42,9 @@ CS.START cld
|
||||
.DA CS.QUIT
|
||||
L.LIBGUI .DA LIBGUI
|
||||
L.MouseData .DA MouseData
|
||||
L.LOGOFILE .DA LOGOFILE
|
||||
L.WND.TITLE .DA WND.TITLE
|
||||
L.WND.MBAR .DA WND.MBAR
|
||||
L.WND.STATUS .DA WND.STATUS
|
||||
L.WND.Test.fPaint .DA WND.Test.fPaint
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
CS.INIT >LDYA L.LIBGUI
|
||||
@ -59,20 +57,11 @@ CS.INIT >LDYA L.LIBGUI
|
||||
.9
|
||||
CS.INIT.RTS rts
|
||||
*--------------------------------------
|
||||
CS.RUN >PUSHW L.LOGOFILE
|
||||
>PUSHBI O.RDONLY
|
||||
>PUSHBI $CB Type
|
||||
>PUSHWZ Aux type
|
||||
>SYSCALL LoadStkObj
|
||||
bcs CS.INIT.RTS
|
||||
|
||||
stx hLogo
|
||||
|
||||
CS.RUN.LOOP >SLEEP
|
||||
CS.RUN >SLEEP
|
||||
|
||||
>PUSHW L.MouseData
|
||||
>LIBCALL hLIBGUI,LIBGUI.ReadMouse
|
||||
bcs CS.RUN.LOOP
|
||||
bcs CS.RUN
|
||||
|
||||
lda MouseData+S.MOUSE.S
|
||||
bit #S.MOUSE.S.MOVE
|
||||
@ -83,18 +72,12 @@ CS.RUN.LOOP >SLEEP
|
||||
|
||||
lda MouseData+S.MOUSE.S
|
||||
|
||||
.1 bit #S.MOUSE.S.CLK
|
||||
beq .2
|
||||
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
|
||||
.2 bit #S.MOUSE.S.DCLK
|
||||
beq CS.RUN.LOOP
|
||||
.1 bit #S.MOUSE.S.DCLK
|
||||
beq CS.RUN
|
||||
|
||||
jsr WND.Test
|
||||
|
||||
bra CS.RUN.LOOP
|
||||
bra CS.RUN
|
||||
|
||||
clc
|
||||
rts
|
||||
@ -125,11 +108,6 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
||||
>PUSHWI C.WHITE
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.WND.BGBM
|
||||
>PUSHW hLogo
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.WND.TITLE
|
||||
>PUSHW L.WND.TITLE
|
||||
@ -145,42 +123,17 @@ WND.Test >PUSHBI S.WND.F.RESIZE+S.WND.F.MOVE+S.WND.F.CLOSE+S.WND.F.MAX+S.WND.F.
|
||||
>PUSHW L.WND.STATUS
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
|
||||
>PUSHB hWND
|
||||
>PUSHBI S.WND.fPaint
|
||||
>PUSHW L.WND.Test.fPaint
|
||||
>LIBCALL hLIBGUI,LIBGUI.OBJ.SetProp
|
||||
>STYA WND.Test.fPaint1+1
|
||||
|
||||
lda hWND
|
||||
>LIBCALL hLIBGUI,LIBGUI.WND.Show
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Test.fPaint sta hWND
|
||||
|
||||
WND.Test.fPaint1
|
||||
jsr $ffff Default WND.fPaint
|
||||
|
||||
* >PUSHB hWND
|
||||
* >PUSHBI S.CB.OP.SET
|
||||
* >PUSHBI C.BLACK
|
||||
* >PUSHWI 10
|
||||
* >PUSHWI 10
|
||||
* >PUSHWI 200
|
||||
* >PUSHWI 60
|
||||
* >LIBCALL hLIBGUI,LIBGUI.DrawLine
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
LIBGUI .AZ "libgui"
|
||||
hLIBGUI .BS 1
|
||||
*--------------------------------------
|
||||
MouseData .BS S.MOUSE
|
||||
*--------------------------------------
|
||||
hLogo .BS 2 00xx
|
||||
LOGOFILE .AZ "${ROOT}root/bmp/A2OSX.LOGO"
|
||||
hWND .BS 1
|
||||
WND.TITLE .AZ "Window Title"
|
||||
*--------------------------------------
|
||||
WND.MBAR .DA #.1-* next
|
||||
|
Loading…
x
Reference in New Issue
Block a user