@ -188,8 +188,6 @@ protected:
vf2d windowAbsPos = Menu : : menus [ parentMenu ] - > pos + rect . pos ;
bool mouseOverScrollbar = geom2d : : overlaps ( geom2d : : rect < float > ( windowAbsPos + vf2d { rect . size . x - 12 , scrollBarTop + 12 } , { 12 , scrollBarHeight } ) , game - > GetMousePos ( ) ) ;
auto ScrollToClickedPosition = [ & ] ( ) {
float spaceBetweenTopAndBottomArrows = rect . size . y - 24 ;
float viewHeight = rect . size . y ;
@ -202,7 +200,7 @@ protected:
SetScrollAmount ( { GetScrollAmount ( ) . x , ( - newScrollbarTop + 1 ) / scrollBarScale } ) ;
} ;
if ( mouseOverScrollbar | | scrollBarSelected ) {
if ( scrollBarSelected ) {
scrollBarHoverTime = std : : min ( scrollBarHoverTime + game - > GetElapsedTime ( ) , " ThemeGlobal.HighlightTime " _F ) ;
if ( game - > GetMouse ( 0 ) . bPressed & & ! geom2d : : contains ( rect , bounds ) ) {
scrollBarSelected = true ;
@ -220,7 +218,7 @@ protected:
scrollBarHoverTime = std : : max ( scrollBarHoverTime - game - > GetElapsedTime ( ) , 0.f ) ;
//It's possible to still scroll by clicking outside the scrollbar but in the scroll region.
if ( game - > GetMouse ( 0 ) . bHeld & & ! geom2d : : contains ( rect , bounds ) & &
geom2d : : overlaps ( geom2d : : rect < float > ( windowAbsPos + vf2d { rect . size . x - 12.f , 12.f } , { 12.f , rect . size . y - 1 2.f} ) , game - > GetMousePos ( ) ) ) {
geom2d : : overlaps ( geom2d : : rect < float > ( windowAbsPos + vf2d { rect . size . x - 12.f , 12.f } , { 12.f , rect . size . y - 24 .f } ) , game - > GetMousePos ( ) ) ) {
ScrollToClickedPosition ( ) ;
scrollBarSelected = true ;
Menu : : menus [ parentMenu ] - > alreadyClicked = true ;