mirror of
https://github.com/blondie7575/WeeGUI.git
synced 2024-09-27 15:54:35 +00:00
- Added support for titles on checkboxes
- Corrected byte ordering of callback and title pointers in views
This commit is contained in:
parent
58deae7241
commit
28adec64ca
17
applesoft.s
17
applesoft.s
@ -435,6 +435,11 @@ WGAmpersand_CHKBOX:
|
|||||||
|
|
||||||
jsr WGAmpersandIntArgument
|
jsr WGAmpersandIntArgument
|
||||||
sta WGAmpersandCommandBuffer+2
|
sta WGAmpersandCommandBuffer+2
|
||||||
|
jsr WGAmpersandNextArgument
|
||||||
|
|
||||||
|
jsr WGAmpersandStrArgument
|
||||||
|
stx WGAmpersandCommandBuffer+3
|
||||||
|
sty WGAmpersandCommandBuffer+4
|
||||||
|
|
||||||
jsr WGAmpersandEndArguments
|
jsr WGAmpersandEndArguments
|
||||||
|
|
||||||
@ -492,12 +497,12 @@ WGAmpersand_BUTTN:
|
|||||||
ora WG_VIEWRECORDS+4,y
|
ora WG_VIEWRECORDS+4,y
|
||||||
sta WG_VIEWRECORDS+4,y
|
sta WG_VIEWRECORDS+4,y
|
||||||
|
|
||||||
lda WGAmpersandCommandBuffer+6 ; Set the button text
|
; lda WGAmpersandCommandBuffer+6 ; Set the button text
|
||||||
sta PARAM0
|
; sta PARAM0
|
||||||
lda WGAmpersandCommandBuffer+7
|
; lda WGAmpersandCommandBuffer+7
|
||||||
sta PARAM1
|
; sta PARAM1
|
||||||
|
;
|
||||||
jsr WGViewSetTitle
|
; jsr WGViewSetTitle
|
||||||
|
|
||||||
jsr WGPaintView
|
jsr WGPaintView
|
||||||
jsr WGBottomCursor
|
jsr WGBottomCursor
|
||||||
|
13
gui.s
13
gui.s
@ -30,15 +30,9 @@ main:
|
|||||||
|
|
||||||
CALL16 WGCreateView,testView
|
CALL16 WGCreateView,testView
|
||||||
CALL16 WGViewSetTitle,testTitle0
|
CALL16 WGViewSetTitle,testTitle0
|
||||||
|
|
||||||
CALL16 WGCreateCheckbox,testCheck
|
CALL16 WGCreateCheckbox,testCheck
|
||||||
|
|
||||||
CALL16 WGCreateButton,testButton1
|
CALL16 WGCreateButton,testButton1
|
||||||
CALL16 WGViewSetTitle,testTitle1
|
|
||||||
CALL16 WGViewSetAction,testCallback
|
|
||||||
|
|
||||||
CALL16 WGCreateButton,testButton2
|
CALL16 WGCreateButton,testButton2
|
||||||
CALL16 WGViewSetTitle,testTitle2
|
|
||||||
|
|
||||||
jsr WGViewPaintAll
|
jsr WGViewPaintAll
|
||||||
; jsr testPaintContents
|
; jsr testPaintContents
|
||||||
@ -253,12 +247,17 @@ testView:
|
|||||||
|
|
||||||
testCheck:
|
testCheck:
|
||||||
.byte 1,16,4
|
.byte 1,16,4
|
||||||
|
.addr testTitle3
|
||||||
|
|
||||||
testButton1:
|
testButton1:
|
||||||
.byte 2,35,10,15
|
.byte 2,35,10,15
|
||||||
|
.addr testCallback
|
||||||
|
.addr testTitle1
|
||||||
|
|
||||||
testButton2:
|
testButton2:
|
||||||
.byte 3,35,13,15
|
.byte 3,35,13,15
|
||||||
|
.addr 0
|
||||||
|
.addr testTitle2
|
||||||
|
|
||||||
testStr:
|
testStr:
|
||||||
; .byte "This is a test of the emergency broadcast system.",0; If this had been a real emergency, you would be dead now.",0 ; 107 chars
|
; .byte "This is a test of the emergency broadcast system.",0; If this had been a real emergency, you would be dead now.",0 ; 107 chars
|
||||||
@ -274,6 +273,8 @@ testTitle1:
|
|||||||
.byte "Okay",0
|
.byte "Okay",0
|
||||||
testTitle2:
|
testTitle2:
|
||||||
.byte "Cancel",0
|
.byte "Cancel",0
|
||||||
|
testTitle3:
|
||||||
|
.byte "More Magic",0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BIN
guidemo.dsk
BIN
guidemo.dsk
Binary file not shown.
2
memory.s
2
memory.s
@ -56,7 +56,7 @@ WG_VIEWCLIP:
|
|||||||
|
|
||||||
WG_VIEWRECORDS:
|
WG_VIEWRECORDS:
|
||||||
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13
|
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13
|
||||||
; X, Y, Screen Width, Screen Height, Style, X Offset, Y Offset, View Width, View Height, State, CallbackH, CallbackL, TitleH, TitleL
|
; X, Y, Screen Width, Screen Height, Style, X Offset, Y Offset, View Width, View Height, State, CallbackL, CallbackH, TitleL, TitleH
|
||||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
55
views.s
55
views.s
@ -113,6 +113,8 @@ WGCreateView_done:
|
|||||||
; ID: View ID (0-f)
|
; ID: View ID (0-f)
|
||||||
; XX: Screen X origin
|
; XX: Screen X origin
|
||||||
; YY: Screen Y origin
|
; YY: Screen Y origin
|
||||||
|
; SL: String pointer (LSB)
|
||||||
|
; SH: String pointer (MSB)
|
||||||
;
|
;
|
||||||
WGCreateCheckbox:
|
WGCreateCheckbox:
|
||||||
SAVE_AXY
|
SAVE_AXY
|
||||||
@ -166,6 +168,16 @@ WGCreateCheckbox:
|
|||||||
sta WG_VIEWRECORDS,x ; Initialize callback
|
sta WG_VIEWRECORDS,x ; Initialize callback
|
||||||
inx
|
inx
|
||||||
sta WG_VIEWRECORDS,x
|
sta WG_VIEWRECORDS,x
|
||||||
|
inx
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (PARAM0),y
|
||||||
|
sta WG_VIEWRECORDS,x ; Title
|
||||||
|
inx
|
||||||
|
iny
|
||||||
|
lda (PARAM0),y
|
||||||
|
sta WG_VIEWRECORDS,x
|
||||||
|
inx
|
||||||
|
|
||||||
pla
|
pla
|
||||||
jsr WGSelectView ; Leave this as the active view
|
jsr WGSelectView ; Leave this as the active view
|
||||||
@ -190,6 +202,8 @@ WGCreateCheckbox_done:
|
|||||||
; BW: Button width
|
; BW: Button width
|
||||||
; PL: Action callback (LSB)
|
; PL: Action callback (LSB)
|
||||||
; PH: Action callback (MSB)
|
; PH: Action callback (MSB)
|
||||||
|
; SL: Title string pointer (LSB)
|
||||||
|
; SH: Title string pointer (MSB)
|
||||||
WGCreateButton:
|
WGCreateButton:
|
||||||
SAVE_AXY
|
SAVE_AXY
|
||||||
SAVE_ZPS
|
SAVE_ZPS
|
||||||
@ -252,10 +266,14 @@ WGCreateButton:
|
|||||||
sta WG_VIEWRECORDS,x
|
sta WG_VIEWRECORDS,x
|
||||||
inx
|
inx
|
||||||
|
|
||||||
lda #0
|
iny
|
||||||
sta WG_VIEWRECORDS,x ; Initialize title
|
lda (PARAM0),y
|
||||||
|
sta WG_VIEWRECORDS,x ; Title
|
||||||
|
inx
|
||||||
|
iny
|
||||||
|
lda (PARAM0),y
|
||||||
|
sta WG_VIEWRECORDS,x
|
||||||
inx
|
inx
|
||||||
sta WG_VIEWRECORDS,x ; Initialize title
|
|
||||||
|
|
||||||
pla
|
pla
|
||||||
jsr WGSelectView ; Leave this as the active view
|
jsr WGSelectView ; Leave this as the active view
|
||||||
@ -327,7 +345,7 @@ WGPaintView_done:
|
|||||||
; paintCheck
|
; paintCheck
|
||||||
; Paints the contents of a checkbox
|
; Paints the contents of a checkbox
|
||||||
; Y: Index into view records of checkbox to paint
|
; Y: Index into view records of checkbox to paint
|
||||||
; Side effects: Clobbers A, S0
|
; Side effects: Clobbers S0,P0,P1, all registers
|
||||||
paintCheck:
|
paintCheck:
|
||||||
lda WG_VIEWRECORDS+0,y ; Position cursor
|
lda WG_VIEWRECORDS+0,y ; Position cursor
|
||||||
sta WG_CURSORX
|
sta WG_CURSORX
|
||||||
@ -362,6 +380,27 @@ paintCheck_selectedUnchecked:
|
|||||||
|
|
||||||
paintCheck_plot: ; Paint our state
|
paintCheck_plot: ; Paint our state
|
||||||
jsr WGPlot
|
jsr WGPlot
|
||||||
|
|
||||||
|
inc WG_CURSORX ; Prepare for title
|
||||||
|
inc WG_CURSORX
|
||||||
|
jsr WGNormal
|
||||||
|
|
||||||
|
lda WG_VIEWRECORDS+12,y
|
||||||
|
sta PARAM0
|
||||||
|
lda WG_VIEWRECORDS+13,y
|
||||||
|
sta PARAM1
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
paintCheck_titleLoop:
|
||||||
|
lda (PARAM0),y
|
||||||
|
beq paintCheck_done
|
||||||
|
ora #$80
|
||||||
|
jsr WGPlot
|
||||||
|
inc WG_CURSORX
|
||||||
|
iny
|
||||||
|
bra paintCheck_titleLoop
|
||||||
|
|
||||||
|
paintCheck_done:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
@ -374,9 +413,9 @@ paintButton:
|
|||||||
SAVE_AX
|
SAVE_AX
|
||||||
SAVE_ZPS
|
SAVE_ZPS
|
||||||
|
|
||||||
lda WG_VIEWRECORDS+13,y ; Prep the title string
|
lda WG_VIEWRECORDS+12,y ; Prep the title string
|
||||||
sta PARAM0
|
sta PARAM0
|
||||||
lda WG_VIEWRECORDS+12,y
|
lda WG_VIEWRECORDS+13,y
|
||||||
sta PARAM1
|
sta PARAM1
|
||||||
|
|
||||||
jsr WGStrLen ; Compute centering offset for title
|
jsr WGStrLen ; Compute centering offset for title
|
||||||
@ -747,10 +786,10 @@ WGViewFocusAction_buttonClick:
|
|||||||
and #VIEW_STYLE_APPLESOFT
|
and #VIEW_STYLE_APPLESOFT
|
||||||
bne WGViewFocusAction_buttonClickApplesoft
|
bne WGViewFocusAction_buttonClickApplesoft
|
||||||
|
|
||||||
lda WG_VIEWRECORDS+10,y ; Do we have a callback?
|
lda WG_VIEWRECORDS+11,y ; Do we have a callback?
|
||||||
beq WGViewFocusAction_done
|
beq WGViewFocusAction_done
|
||||||
sta WGViewFocusAction_userJSR+2 ; Modify code below so we can JSR to user's code
|
sta WGViewFocusAction_userJSR+2 ; Modify code below so we can JSR to user's code
|
||||||
lda WG_VIEWRECORDS+11,y
|
lda WG_VIEWRECORDS+10,y
|
||||||
sta WGViewFocusAction_userJSR+1
|
sta WGViewFocusAction_userJSR+1
|
||||||
|
|
||||||
WGViewFocusAction_userJSR:
|
WGViewFocusAction_userJSR:
|
||||||
|
Loading…
Reference in New Issue
Block a user