From 9924d410806b559de08b8a9c28660001f9fb717b Mon Sep 17 00:00:00 2001 From: Quinn Dunki Date: Fri, 5 Sep 2014 17:14:37 -0700 Subject: [PATCH] - Painting code for button contents, in both states, with titles --- ReadMe.md | 2 +- gui.s | 17 -------------- guidemo.dsk | Bin 143360 -> 143360 bytes views.s | 66 ++++++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 62 insertions(+), 23 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index 7821c7b..46e101d 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -9,4 +9,4 @@ Known issues To Do: ------ -- Make scanning support lower case +- Make WGFillRect support 1 height and 1 width diff --git a/gui.s b/gui.s index cfc9036..1c54f59 100644 --- a/gui.s +++ b/gui.s @@ -24,23 +24,6 @@ main: ;jmp tortureTestRects jsr WGClearScreen - jsr WGInverse - - lda #testStr - sta PARAM1 - jsr WGPrint - ldx #0 - ldy #1 - jsr WGSetCursor - lda #testStr2 - sta PARAM1 - jsr WGPrint - jmp loop - lda #N=l4H5w(DmDF4T_nQse|RrSB9)i4YR%h4go61o93=HM zQ7CGAfwF~~1QX;4$%|xu#6#ptv`Bq1RH(Esl~Aju?Tga_@@t4xI(xPWM_Z|@+q>D_ znQ!L4ncY<%XQ+=e7HM{NjuoNbk-MZQ$4aNOFXR^HATIMsfeXvq*=Kqk6#`xr*qmlT zOw!U3{-l8+{6iBv&1Ww1nLnHGUky?jz4GC;#`}Wv33fht!@Xp|9|>8|v;q{>2RR_P zug;()OFS*AKJ^c{#g9e5sJ*os%wHLkv@*0ZAZZRXQ_99hN*|idrr_-pdA4vmYR^QK zb6Y7L`sPTBX_k(RIFHZPNSQVC!o5Q4d^%cZzkshpT1E6sATKy-w!hzjIz3(8J-yz( zeq~_r#?24*5x&&cs^I1GX>Jp(qC;st_!_-FUQA=-wz1E@In^vfV`iV$Q|a^*TF12t%UC_C@i_*j5nDAe<}i#pub25>qS9 zo^aIq#PxNiRurth{0v^X&#=&wy9@;~Cxmm>;k-nVN#WO#U355}7a4Cb9XUZVAr;iO9M zfl8kqO$BEK;Z_m*L?-L>ZQIde4!&Hs+d+0cBqpIIS+gS!gjAvhev|@O2Z0G!N0bI5UZC=ml@&IcyQb z79>K>#Bc`mOy~vB?a+-rZxZ+i?#qHA0|XpL2D#tJ4FYbVD#2{c9Jj2c#Y@z4ky}0z zKg+c{2-of;kz2%}ZXRRxs+lzaKWZBOqA^8{3=lGa$pFh~i285B3w|_TOt?wM3qn1cQIF$C^$Z8m(WLy=2=)EdAh~Nt^B&+SppY2v zcuF|<(5ibcHcbhMqMbXuLSoF6vS4N|JxBOADWGsH-+y2wkrR+C?f<|Xa(KX?zTHH> zhp5;6wsu7dg%t_Xuf7ZWXrq^m{^5fyx6wluPrz~y359zIECXZVSI}B@{4yMig_$ZO zCYq>RuB}LMyx}GBT=iF@AAsm58&K)7&~6vu9{Nc9r=JxP|549|lvfXU->$hwk2!p* z*-;I+RwHn9!%M%vU-H_NASNl6UC=}$(Z-R?$(fdFY57#K>2-Q>D*x@;I_W{JF*qnw zz0l`7N$ND_=X$tD_d#+%ts|#epxmIu z3|nC?mS`(b-HH?g?F7U8OydM!0&1N*o)pDuHDrR1IbZMSX`!tnB~%KWHm%Xtz?Gu4 z8gQy^C9fI?A8wQ9*Ufi<^QC#PH|=&;We616dl2VdEd-sI4DpG**meQhTsBSbTW{|# LJlbC{nbf}l%6Z@K delta 1781 zcmZ`)ZERCj7(TZf-A9KM#MoUnIVxrAl!#lmwWVdZ>t=6zZZeGWM~N1r@h-Z55(8>> z7ZS4=ubn$UR$P~5{OMV8$8bMP4U3Blq(hdBXhNuHFeXwAEd4D%=6m|JmchxrJs)#=$Qu&AE8#!; z*a_W?n4;Gpd?hf0rUm?KkXO&OqVBZK14lItFJ z-Rq8AGUGX^9-7{WQhY*{Q|s_3m~(WmGRG~L232qt0XbOXIL(z45D)S#g{3Xo%+r!Q>)3>7Dqy65ecwokH-U(nH%_7KTiAcxRigC-$E)hMWr8}jg6o2Sw!x_ zeegaipL6u~%Ga(j?d8U$gAd`y`Vf1A%*{0j=amETfJymX29nFN@?HqkW&34jk(r4< z_%40=tnbA~qJEN#%IuHe+J=c^2Um}`M9OA#l9OJN;>`vFy@RL;HS(5hbXDNEU5$AO zJ}#fyVpX{{l`5L$iN|>-y(F|D>fP^?(b3UdD0eqoX=Zo+@ z8TZQUrIIlJ^ySJ0Duf|fW*f5nVwQKG)n@p8!4&;8VH2CfAFiURxa0p_yqo zEc(Gj+kuL70bg)~6X4zjAHC>td7^2!i!h`+iQdUY0nujFi2T)-+zm5|g$R^jOy;=& z=o=^bx|2k=T@+jJg(Zx{QOESf`G*fkPJ5u2S6yi>d$3)mr*~um)0_J=oNgshc zl81R3$sPh(Kz$mGXvLH@uT*92S}561vV9!fPB^%Oz=A_tt7d(giS^@81KR#%h-;FR zITcPzVO`{mVb=qZs{m4L10k*i=x4F!x1j*cNQR_kqZZyec*{1YhM~!LS>kCuwo|#K zlxzitetv#$a9PS{I$P<@gpyFEN`_6Y%~9OTxrU#>Rbb9jvZ^Q1k=1T8KVWo22|Gyw zdeB1aF}w<&uZn2?SOO+|@#6{GkXI?r-hq3!>LO$R4jX_2js`Gy7a4FmXtbl1p6roJ z=Iow24Gti+-cHt?grmJm7O%QV)~fvlbx>9YKyfG+G?Q5GBs_wLWN-iBCE1&~QdQi2 z!1v2aWUSgTteG4=z`L`OIJN4gv)|dB%aUA>co!U@D26=={mmuz?zgSV^8x+nQhqVP z7yirKZ$xWT${?+pe4*)B0B~EZRmxyMxk~+$HfIMZeunwC+GrVhz}vGerC#UC~<3WD}OLG_Zj diff --git a/views.s b/views.s index 8e28dd2..92e720d 100644 --- a/views.s +++ b/views.s @@ -284,6 +284,24 @@ WGPaintView_checkPlot: bra WGPaintView_done WGPaintView_button: + jsr paintButton + +WGPaintView_done: + RESTORE_ZPS + RESTORE_ZPP + RESTORE_AY + rts + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; paintButton +; Paints the contents of a button +; Y: Index into view records of button to paint +; +paintButton: + SAVE_AX + SAVE_ZPS + lda WG_VIEWRECORDS+13,y ; Prep the title string sta PARAM0 lda WG_VIEWRECORDS+12,y @@ -296,20 +314,58 @@ WGPaintView_button: lsr sec sbc SCRATCH1 - sta WG_LOCALCURSORX + sta SCRATCH1 ; Cache this for left margin rendering lda #0 ; Position and print title + sta WG_LOCALCURSORX + lda #0 sta WG_LOCALCURSORY + jsr WGSyncGlobalCursor + + lda WG_VIEWRECORDS+9,y ; Is button highlighted? + and #$80 + bne paintButton_titleSelected + jsr WGNormal + lda #' '+$80 + bra paintButton_titleMarginLeft + +paintButton_titleSelected: + jsr WGInverse + lda #' ' + +paintButton_titleMarginLeft: + ldx #0 + +paintButton_titleMarginLeftLoop: + cpx SCRATCH1 + bcs paintButton_title ; Left margin finished + jsr WGPlot + inc WG_CURSORX + inc WG_LOCALCURSORX + inx + jmp paintButton_titleMarginLeftLoop + +paintButton_title: jsr WGPrint + ldx WG_VIEWRECORDS+2,y + stx SCRATCH1 ; Loop until right edge of button is reached + ldx WG_LOCALCURSORX -WGPaintView_done: +paintButton_titleMarginRightLoop: + cpx SCRATCH1 + bcs paintButton_done ; Right margin finished + jsr WGPlot + inc WG_CURSORX + inc WG_LOCALCURSORX + inx + jmp paintButton_titleMarginRightLoop + +paintButton_done: RESTORE_ZPS - RESTORE_ZPP - RESTORE_AY + RESTORE_AX rts - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGEraseView ; Erases the current view (including decoration)