From a545fc4d9ccaf3bbbfcf8be451b0e6487c6b93b1 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Mon, 14 Feb 2022 20:09:24 +0100 Subject: [PATCH] Mouse input added to Library tab. --- graphics/KBase/PFP_Taro.png | Bin 6638 -> 5856 bytes language.version | 4 +- zscript/kbase/swwm_kbase.zsc | 8 +- zscript/kbase/swwm_kbase_list.zsc | 4 +- zscript/kbase/swwm_kbasetab_library.zsc | 117 ++++++++++++++++++++++-- 5 files changed, 117 insertions(+), 16 deletions(-) diff --git a/graphics/KBase/PFP_Taro.png b/graphics/KBase/PFP_Taro.png index 8a435c7e018c62d96c7ffef71cc1c3d92d37c86d..cd5fe629bc753d03bae74513c561affdafbbf2d7 100644 GIT binary patch literal 5856 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 XGRs@9{)@>4G*a#9>gTe~DWM4fywDB4 literal 6638 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 diff --git a/language.version b/language.version index d57e2a711..8591e0c65 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r160 \cu(Mon 14 Feb 01:23:14 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r160 \cu(2022-02-14 01:23:14)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r161 \cu(Mon 14 Feb 20:09:39 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.2pre r161 \cu(2022-02-14 20:09:39)\c-"; diff --git a/zscript/kbase/swwm_kbase.zsc b/zscript/kbase/swwm_kbase.zsc index 5a7c1d0c6..3030848f5 100644 --- a/zscript/kbase/swwm_kbase.zsc +++ b/zscript/kbase/swwm_kbase.zsc @@ -352,7 +352,7 @@ Class DemolitionistMenu : GenericMenu { if ( tabs[i].bHidden ) continue; str = StringTable.Localize(tabs[i].title); - len = smallfont.StringWidth(str)+6; + len = smallfont.StringWidth(str)+10; if ( (mpos.x >= xx) && (mpos.x < xx+len) ) { if ( curtab == i ) break; @@ -518,7 +518,7 @@ Class DemolitionistMenu : GenericMenu // draw top and bottom separators DrawHSeparator(0,14,ws.x); DrawHSeparator(0,ws.y-14,ws.x); - double xx = 3, yy = 1; + double xx = 5, yy = 1; String str; // draw tab listing for ( int i=0; i")+6); lists[i] = new("DemolitionistMenuList"); lists[i].master = master; - lists[i].selected = 0; } loresz = lore.ent.Size(); for ( int i=0; i maxofs[i] ) smofs[i] = ofs[i] = maxofs[i]; for ( int j=0; j maxy ) ofs[section] = clamp(maxy,0,maxofs[section]); } @@ -247,6 +246,108 @@ Class DemolitionistLibraryTab : DemolitionistMenuTab break; } } + override void MouseInput( Vector2 pos, int btn ) + { + // global events + switch ( btn ) + { + case MB_DRAG: + if ( clore && ltext && drag[1] ) ltext.SetOffset(pos.y); + else if ( drag[0] ) SetOffset(pos.y); + break; + case MB_RELEASE: + drag[0] = drag[1] = false; + break; + } + // mouse on left side + if ( pos.x < (lwidth+((maxofs[section]>0)?8:0)) ) + { + // see if we're clicking the scrollbar (if it exists) + if ( (btn == MB_LEFT) && (maxofs[section] > 0) && (pos.x >= lwidth) ) + { + SetOffset(pos.y); + master.MenuSound("menu/demoscroll"); + drag[0] = true; + return; + } + // mouse on the category sub-tab + if ( pos.y < 28 ) + { + switch ( btn ) + { + case MB_LEFT: + if ( pos.x < (lwidth/2) ) MenuInput(MK_LEFT); + else MenuInput(MK_RIGHT); + break; + case MB_WHEELUP: + MenuInput(MK_LEFT); + break; + case MB_WHEELDOWN: + MenuInput(MK_RIGHT); + break; + } + return; + } + switch ( btn ) + { + case MB_LEFT: + // find which element we clicked + for ( int i=0; i 0 ) + { + lists[section].selected = --sel[section]; + master.MenuSound("menu/demoscroll"); + KBScroll(); + } + break; + case MB_WHEELDOWN: + if ( sel[section] < lists[section].items.Size()-1 ) + { + lists[section].selected = ++sel[section]; + master.MenuSound("menu/demoscroll"); + KBScroll(); + } + break; + } + return; + } + if ( !clore || !ltext ) return; + switch ( btn ) + { + case MB_LEFT: + // see if we're clicking the scrollbar (if it exists) + if ( ltext.scrollbar && (pos.x > (master.ws.x-8)) ) + { + ltext.SetOffset(pos.y); + master.MenuSound("menu/demoscroll"); + drag[1] = true; + } + break; + case MB_WHEELUP: + if ( ltext.Scroll(-8) ) master.MenuSound("menu/demoscroll"); + break; + case MB_WHEELDOWN: + if ( ltext.Scroll(8) ) master.MenuSound("menu/demoscroll"); + break; + } + } override void Drawer() { double xx = 0;