From 366d765998779e34619521158be341147d84c8ee Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Mar 2018 09:31:01 -0500 Subject: [PATCH 1/6] refactor WGCreateRadio --- views.s | 115 +++++++++++++++++------------------------------------ weegui.dsk | Bin 143360 -> 143360 bytes 2 files changed, 36 insertions(+), 79 deletions(-) diff --git a/views.s b/views.s index 66108bf..2e56ce2 100644 --- a/views.s +++ b/views.s @@ -105,56 +105,9 @@ WGCreateView_done: ; SH: String pointer (MSB) ; WGCreateCheckbox: - SAVE_AXY - - ldy #0 - lda (PARAM0),y ; Find our new view record - pha ; Cache view ID so we can select when we're done - - asl - asl - asl - asl ; Records are 16 bytes wide - tax - - iny - lda (PARAM0),y - sta WG_VIEWRECORDS+0,x ; Screen X - - iny - lda (PARAM0),y - sta WG_VIEWRECORDS+1,x ; Screen Y - - lda #1 - sta WG_VIEWRECORDS+2,x ; Initialize screen width - sta WG_VIEWRECORDS+3,x ; Initialize screen height - sta WG_VIEWRECORDS+7,x ; Initialize view width - sta WG_VIEWRECORDS+8,x ; Initialize view height - - lda #VIEW_STYLE_CHECK - sta WG_VIEWRECORDS+4,x ; Style - - stz WG_VIEWRECORDS+5,x ; Initialize scrolling - stz WG_VIEWRECORDS+6,x - - stz WG_VIEWRECORDS+9,x ; Initialize state - stz WG_VIEWRECORDS+10,x ; Initialize callback - stz WG_VIEWRECORDS+11,x - - iny - lda (PARAM0),y - sta WG_VIEWRECORDS+12,x ; Title - iny - lda (PARAM0),y - sta WG_VIEWRECORDS+13,x - - pla - jsr WGSelectView ; Leave this as the active view - -WGCreateCheckbox_done: - RESTORE_AXY - rts - + pha + lda #VIEW_STYLE_CHECK + bra WGCreate1x1_common ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGCreateRadio @@ -170,59 +123,63 @@ WGCreateCheckbox_done: ; SH: String pointer (MSB) ; WGCreateRadio: - SAVE_AXY + pha + lda #VIEW_STYLE_RADIO +WGCreate1x1_common: + sta WGCreate1x1_style+1 + SAVE_XY - ldy #0 - lda (PARAM0),y ; Find our new view record - pha ; Cache view ID so we can select when we're done + ldy #0 + lda (PARAM0),y ; Find our new view record + pha ; Cache view ID so we can select when we're done asl asl asl - asl ; Records are 16 bytes wide + asl ; Records are 16 bytes wide tax iny - lda (PARAM0),y - sta WG_VIEWRECORDS+0,x ; Screen X + lda (PARAM0),y + sta WG_VIEWRECORDS+0,x ; Screen X iny - lda (PARAM0),y - sta WG_VIEWRECORDS+1,x ; Screen Y + lda (PARAM0),y + sta WG_VIEWRECORDS+1,x ; Screen Y - lda #1 - sta WG_VIEWRECORDS+2,x ; Initialize screen width - sta WG_VIEWRECORDS+3,x ; Initialize screen height - sta WG_VIEWRECORDS+7,x ; Initialize view width - sta WG_VIEWRECORDS+8,x ; Initialize view height + lda #1 + sta WG_VIEWRECORDS+2,x ; Initialize screen width + sta WG_VIEWRECORDS+3,x ; Initialize screen height + sta WG_VIEWRECORDS+7,x ; Initialize view width + sta WG_VIEWRECORDS+8,x ; Initialize view height - lda #VIEW_STYLE_RADIO - sta WG_VIEWRECORDS+4,x ; Style +WGCreate1x1_style: + lda #$FF ; Self-modifying code! + sta WG_VIEWRECORDS+4,x ; Style - stz WG_VIEWRECORDS+5,x ; Initialize scrolling - stz WG_VIEWRECORDS+6,x + stz WG_VIEWRECORDS+5,x ; Initialize scrolling + stz WG_VIEWRECORDS+6,x - stz WG_VIEWRECORDS+9,x ; Initialize state - stz WG_VIEWRECORDS+10,x ; Initialize callback - stz WG_VIEWRECORDS+11,x + stz WG_VIEWRECORDS+9,x ; Initialize state + stz WG_VIEWRECORDS+10,x ; Initialize callback + stz WG_VIEWRECORDS+11,x iny - lda (PARAM0),y - sta WG_VIEWRECORDS+12,x ; Title + lda (PARAM0),y + sta WG_VIEWRECORDS+12,x ; Title iny - lda (PARAM0),y - sta WG_VIEWRECORDS+13,x + lda (PARAM0),y + sta WG_VIEWRECORDS+13,x pla - jsr WGSelectView ; Leave this as the active view + jsr WGSelectView ; Leave this as the active view -WGCreateRadio_done: - RESTORE_AXY + RESTORE_XY + pla rts - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGCreateProgress ; Creates a new progress bar diff --git a/weegui.dsk b/weegui.dsk index a7913c136e035de73e14dbda39f9b88b95b4b1b4..f2848868e7d005ad23c51cd344953a9287ba5d4a 100644 GIT binary patch delta 5044 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 WF#vyYox##e2Zy!W_P)GVv-5wTYfT3L delta 5213 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 NwDHbI9(%;F|9|>!j!Xam From d3cad7db22e2d3390193f43211f9078edb08ae79 Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Mar 2018 09:46:36 -0500 Subject: [PATCH 2/6] add WGReset --- Documentation.md | 14 ++++++++++++++ WeeGUI_MLI.s | 1 + weegui.dsk | Bin 143360 -> 143360 bytes weegui.s | 32 +++++++++++++++++++++++--------- 4 files changed, 38 insertions(+), 9 deletions(-) diff --git a/Documentation.md b/Documentation.md index 99d6af5..51d3866 100644 --- a/Documentation.md +++ b/Documentation.md @@ -1121,6 +1121,20 @@ X: WGExit +

+ +####WGReset +Deallocate all WeeGUI views and strings. This is called automatically during WeeGUI startup, but you can call it yourself at any time if you want to "start over" with no views. This does not clear the screen or repaint anything. + + + +
AssemblyApplesoft
+X:		WGReset
+
+Not available
+
+ +

- - - diff --git a/WeeGUI_MLI.s b/WeeGUI_MLI.s index 1d3bac3..fc614fc 100644 --- a/WeeGUI_MLI.s +++ b/WeeGUI_MLI.s @@ -73,4 +73,5 @@ WGSetContentWidth = 78 WGSetContentHeight = 80 WGStrokeRoundRect = 82 WGCreateRadio = 84 +WGReset = 86 diff --git a/weegui.dsk b/weegui.dsk index f2848868e7d005ad23c51cd344953a9287ba5d4a..5c6890c8d22361bb6d4641aca1b77342a30b5c66 100644 GIT binary patch delta 5543 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 b3G7W@qaM5j9vpkIKWBXU=SP2T`0@V(jtnjp delta 5450 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 XdJ6uZyMV->4b14Ddij-?b^rbUcxMUL diff --git a/weegui.s b/weegui.s index 64133d1..71a859e 100644 --- a/weegui.s +++ b/weegui.s @@ -91,10 +91,24 @@ WGInit: ; sta LINNUML ; jsr SETHI - jsr WG80 ; Enter 80-col text mode - jsr WGInitApplesoft ; Set up Applesoft API + jsr WG80 ; Enter 80-col text mode + jsr WGInitApplesoft ; Set up Applesoft API - ldy #15 ; Clear our block allocators + RESTORE_AXY + + jmp WGReset + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; WGReset +; Reset views and strings. Called from WGInit during app startup. +; Can also be called at any time to "start over" with no views. +; (Does not clear screen or repaint.) +; +WGReset: + SAVE_AXY + + ldy #15 ; Clear our block allocators WGInit_clearMemLoop: tya asl @@ -103,18 +117,18 @@ WGInit_clearMemLoop: asl tax lda #0 - sta WG_STRINGS,x + sta WG_VIEWRECORDS+2,x + sta WG_STRINGS,x dey bpl WGInit_clearMemLoop - lda #$ff - sta WG_PENDINGACTIONVIEW - sta WG_FOCUSVIEW - + lda #$ff + sta WG_PENDINGACTIONVIEW + sta WG_FOCUSVIEW + RESTORE_AXY rts - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGExit ; Cleanup Should be called once at app shutdown From 2acc9e286f68d93d1dc7e913b5ade5a3b75a3dd1 Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Mar 2018 10:26:27 -0500 Subject: [PATCH 3/6] WGReset fixup --- weegui.dsk | Bin 143360 -> 143360 bytes weegui.s | 1 + 2 files changed, 1 insertion(+) diff --git a/weegui.dsk b/weegui.dsk index 5c6890c8d22361bb6d4641aca1b77342a30b5c66..af3f51a08e9a8570e684b3dd4798402fc09bf227 100644 GIT binary patch delta 5434 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 VvRkK#^R%{sz_T3^V`$ delta 5514 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 diff --git a/weegui.s b/weegui.s index 71a859e..7f5d04b 100644 --- a/weegui.s +++ b/weegui.s @@ -76,6 +76,7 @@ WGEntryPointTable: .addr WGSetContentHeight .addr WGStrokeRoundRect .addr WGCreateRadio +.addr WGReset ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 1b0521d2653e9d3556cefeda81985564e9a9d5e8 Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Mar 2018 10:45:03 -0500 Subject: [PATCH 4/6] consolidate raw and non-raw paint loops --- views.s | 37 +++++++++++++------------------------ weegui.dsk | Bin 143360 -> 143360 bytes 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/views.s b/views.s index 2e56ce2..1d02ea6 100644 --- a/views.s +++ b/views.s @@ -487,28 +487,23 @@ paintCheck_plot: ; Paint our state lda WG_VIEWRECORDS+13,y sta PARAM1 - lda WG_VIEWRECORDS+4,y ; Raw or Apple format title? - ldy #0 + lda WG_VIEWRECORDS+4,y ; Raw or Apple format title? and #VIEW_STYLE_RAWTITLE - bne paintCheck_titleRawLoop + asl + eor #$80 ; becomes #$80 for Apple format, 0 for raw + sta paintCheck_mask+1 + ldy #0 paintCheck_titleLoop: lda (PARAM0),y beq paintCheck_done - ora #$80 +paintCheck_mask: + ora #$FF ; Self-modifying code! jsr WGPlot inc WG_CURSORX iny bra paintCheck_titleLoop -paintCheck_titleRawLoop: - lda (PARAM0),y - beq paintCheck_done - jsr WGPlot - inc WG_CURSORX - iny - bra paintCheck_titleRawLoop - paintCheck_done: rts @@ -671,29 +666,23 @@ paintWindowTitle_compute: dec sta WG_CURSORY - ldy #0 - lda WG_VIEWRECORDS+4,y ; Raw or Apple format title? and #VIEW_STYLE_RAWTITLE - bne paintWindowTitleRawLoop + asl + eor #$80 ; becomes #$80 for Apple format, 0 for raw + sta paintWindowTitle_mask + ldy #0 paintWindowTitleLoop: lda (PARAM0),y beq paintWindowTitle_done - ora #$80 +paintWindowTitle_mask: + ora #$FF ; Self-modifying code! jsr WGPlot ; Draw the character iny inc WG_CURSORX ; Advance cursors bra paintWindowTitleLoop -paintWindowTitleRawLoop: - lda (PARAM0),y - beq paintWindowTitle_done - jsr WGPlot ; Draw the character - iny - inc WG_CURSORX ; Advance cursors - bra paintWindowTitleRawLoop - paintWindowTitle_done: rts diff --git a/weegui.dsk b/weegui.dsk index af3f51a08e9a8570e684b3dd4798402fc09bf227..1fed67d0cc2f377f30bbc80e42e30e1568e2932f 100644 GIT binary patch delta 5084 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 M|H9k5-qyYHUrM2BI{*Lx delta 5060 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 Date: Sat, 3 Mar 2018 10:48:40 -0500 Subject: [PATCH 5/6] documentation bugfix for DESK/HOME --- Documentation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation.md b/Documentation.md index 51d3866..2e867a0 100644 --- a/Documentation.md +++ b/Documentation.md @@ -1186,7 +1186,7 @@ Appendix C: Sample Code Here is the source code to the BASICDEMO program, included in the WeeGUI disk image. It shows how a few simple lines of code can create a complex, sophisticated interface, thanks to WeeGUI. 1 PRINT CHR$ (4)"brun weegui" - 10 & DESK + 10 & HOME(1) 20 & WINDW(0,2,2,15,76,7,76,40) 21 & TITLE("Help") 22 & STACT(2500) From 26a3c27b0a3139fbd32cf256ce29ea5a56f74502 Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 3 Mar 2018 10:50:37 -0500 Subject: [PATCH 6/6] documentation bugfix for WGSetState --- Documentation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation.md b/Documentation.md index 2e867a0..3da9904 100644 --- a/Documentation.md +++ b/Documentation.md @@ -728,12 +728,12 @@ Not available -####WGSetValue -Sets the currently selected view's value. For progress bar views, this is the progress value. For checkboxes, 1 is checked and 0 is unchecked. +####WGSetState +Sets the currently selected view's value. For progress bar views, this is the progress value. For checkboxes and radio buttons, 1 is checked and 0 is unchecked.
AssemblyApplesoft
-X:		WGSetValue
+X:		WGSetState
 A: 		new value
 
&SETV(value)