From 0c12da7c897e4c1d50f2f87e85e8f56eb0091de4 Mon Sep 17 00:00:00 2001 From: Quinn Dunki Date: Tue, 3 Feb 2015 13:11:22 -0800 Subject: [PATCH] Scrolling fixes - Fixed window titles rendering in wrong coordinate space - Fixed superfluous redrawing caused by scroll arrow clicking --- views.s | 31 ++++++++++++++++++++++++------- weegui.dsk | Bin 143360 -> 143360 bytes weegui.s | 2 +- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/views.s b/views.s index 03a8c24..5baa026 100644 --- a/views.s +++ b/views.s @@ -465,10 +465,12 @@ paintWindowTitle_compute: lsr sec sbc SCRATCH1 - sta WG_LOCALCURSORX ; Position cursor - lda #-1 - sta WG_LOCALCURSORY - jsr WGSyncGlobalCursor + clc + adc WG_VIEWRECORDS+0,y + sta WG_CURSORX ; Position cursor + lda WG_VIEWRECORDS+1,y + dec + sta WG_CURSORY ldy #0 paintWindowTitleLoop: @@ -592,6 +594,21 @@ WGViewFocus: rts +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; WGViewFocusQuiet +; Shifts focus to the selected view without redrawing anything +; Side effects: Changes selected view, repaints some views +; +WGViewFocusQuiet: + pha + + lda WG_ACTIVEVIEW ; Stash current selection + sta WG_FOCUSVIEW ; Focus on our current selection + + pla + rts + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGViewUnfocus ; Unfocuses all views @@ -878,21 +895,21 @@ WGPendingViewAction_done: ; Located here for branch range WGPendingViewAction_up: lda #1 ; Up arrow jsr WGScrollYBy - jsr WGViewFocus + jsr WGViewFocusQuiet jsr WGViewFocusAction ; Trigger application to redraw contents bra WGPendingViewAction_done WGPendingViewAction_down: lda #-1 ; Down arrow jsr WGScrollYBy - jsr WGViewFocus + jsr WGViewFocusQuiet jsr WGViewFocusAction ; Trigger application to redraw contents bra WGPendingViewAction_done WGPendingViewAction_left: lda #1 ; Left arrow jsr WGScrollXBy - jsr WGViewFocus + jsr WGViewFocusQuiet jsr WGViewFocusAction ; Trigger application to redraw contents bra WGPendingViewAction_done diff --git a/weegui.dsk b/weegui.dsk index 84c9bd4ab4490b0be272e7b654c768fca16d813c..f2618581e5b303c60318cf528fabbc008a12b0e1 100644 GIT binary patch delta 4384 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 GvGw28ue=2S delta 4300 zcma)94^&gv8NW&Jg#;OhbtKW*SJX;2+D6-Mlx_zVsi9J&fYZ`*ww!jJrtQ|FTh}U^ z=GpQff4CvJ4_D~{#$ijxvx|b9(=N6s2vp*q7!_2owz$@gbw|&uXPva&sr&AI2}Rqp zE$8HY_kQ1Zf8W3R?){!Hkt$52b{Tb=w4OBG?fT4}I+T;eeQOc=K$BXOwIH>pz_?tq z{9YqMA0S83!h4NcbmxZR;x+3_)}h3Yy9cGC8`+3TsoHir=xIxPu2|A&|C!YqlO~7z zGUAGiVCXbG9g{Bg%;WynBlS{KVCn2TYZuHqPyC&#k1cN^*rF)<@>aDvs7BSz}$@6Gj=m~SfK9A zYw`^|MDU=rvvT9oSd)Fcx&yVN-k7A!@tU5_?9%NKuE|K`M7@wR-p!qeH7SNaXtbLB z>r>KPu_o&AGrLW{h&2sax*q8S&nahPBF2xxYK*f%BbtnmU*-udj}|Ir-JCMtAn?!c z7`}RlT9@af;@e&z%lfeFC!4b*1y_VM3vg6Xnvyvt*6(E?}IO z5w(e7cp~Zuq*z^o)>`;A*dYr0hA?IyuQi)O`b~y{J>!Wo_8fKWNlz5Gr{+0tR$Hl^Z2ME(g(t^%`yGW7+fO$Ms+XoBkk8Uw9zD&?sD zI>wPM?-Y`@o_%SpCOLllzg|aE1@&u3-JG43m|`UnWld|Gw4NfZqonmLk+svH(?Fo@Y8_|r{|6q$ z2Eb7Qz<>&nx|xtve4b&AvFF!ttNG1!i8rHDM$K`;8@)9)7C?xzhxGPPsy$?|CsiV+ zi8aF>i4l>DoFt+?5+`D6%#quL^yIWy(8@fm80tW&iVEJll$QC@v_=Ul>4B*M& zhLZAPgq{f&Z!7_XEkQUXSFYsm@bfl5Bvl>Q`CPvflE-fiI(Rb`F^-bLKj3rlyWn5s z23hzW64y9NcLjN~v_ZOkeXifZe_G2HZLVXaZaXFRYB*>XYalYX7?^6h$cWMV)k1h3_^Fqv{e+Og;ohKX3m;4l4zWRn-`^K(=nsMe zaxb_agann693R zTaz*!2Mi!J>bsyu1Dt^*=cbsH&3nCg!qoNjjE=#Bqvc&2)vlo=(KdLnRTE!|*Z1Ys z<4kS&ZToYhs}vn>z%bu@m%NJP3QNNcSjmCGLR^(lyD~#fs(B^v+2suyWS2|vr#ks{ z{4br1@pYZkaln5uD4N^RYi6&K9nDqdHbdRJ(VpQxef&zt1fMk`fFHnYM;&N9(i>C^ z7vB%Y4a1YdwchuGN`})yFO)qK6UzK{B)sRez)YI6dv0kXmiy8hG4^A8(C4L>4h~?G zkkZnK^WhvmPuq#Pe8kuFv#sF;eRgnsZzJyAs<)=Zf6R|Ible6qm4kiK=H1yEkK`X% z^j$CJFE$8^=uv)?3eNN4%-LZN#z7qRVob1fX<(k~N(0;*GU8R*r_%9iT#rM!_K?+1 zO^4n1b2wp=TR3utl-#i3C^2n|6MT$BMxhBiM(_y|8DWy6AUQ?waRO%#^_xHK>nh{X zp%oI2Kh)yEEneKxfIG|(fUE2K9rJ+7`i?A01U!`@Yw^@98Fge+#>6y3qcSwujW-Iq z7B^PG!8yeoLTouO!%Z0P#$asaD;TombohIHd(j{yIdv-^_2oMD`thFw_~#hg$2;`i zEJGju*oQyy;VB=!;lo@*m<(j!BY^$p5mEzT)27ag2gr2vaiVbQVK6z78UIke!C#kF zy!vey@SkE=ZB(PorgyA4a*Bu+fsQR~0(V`A8;g-ZVMsrAk_7VMt~G5k4{?FJl{~m{ zO`9x3`aq7tCt%`LszSjK7tdi!;zq9_Q~2Rg+iJn1E+{A%(#P|>27ZZfXMzKa1-qesUYQy={ax3sCIp>7K)B1IXqxgxC6N9OKn{lG*cSE_6XY@;@7e{CFwO zkl8j16a{n0Oi32yDcVfNqg6OVt8gpu$TtB)y7NCftKyERxFaeq5WpQ#aa|)sqzM+{ zb0cF!S&mKa$a#XZ-F%^2Sj_H9m@Aq12mv`BhAs`RPr*o)XMsfch&7AV;UKn^i(Hss zINE&MpNG4Cxuw3Dr|3rzfR+s~7B^rk3QUT>c=rH*X^r59IJ<-JWlgZN5I_Osp z#z~!JZ$G(3wzzIa7aLCraf)?DFMHVnpHh%K*2d20f9V$*^uOSn+MF-Cr8|$20@j!p zu+H3KVZHh9+pG_&-@cvj`ik5zed^gWl|2pZ?a1!bN)FiOInzE)>qal6x##X