diff options
author | oy <tom_adams@web.de> | 2023-06-12 22:37:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-12 22:37:41 +0200 |
commit | 1b86d54d3355fb684a801eec036d046c85b920e5 (patch) | |
tree | b47279afea004b6e41ea36621e7b9736db37a367 | |
parent | 8ab9c7f4ba33d816f40be9fde0a093653fdcdc27 (diff) | |
parent | a5b5bcf3a861fd75c284b71d623e3cd687858d6b (diff) |
Merge pull request #3163 from Robyt3/ScrollbarScale-static-duplication
Make scrollbar scale singletons static members of CUI
-rw-r--r-- | src/game/client/components/menus_browser.cpp | 2 | ||||
-rw-r--r-- | src/game/client/components/menus_callback.cpp | 8 | ||||
-rw-r--r-- | src/game/client/components/menus_settings.cpp | 6 | ||||
-rw-r--r-- | src/game/client/ui.cpp | 3 | ||||
-rw-r--r-- | src/game/client/ui.h | 15 |
5 files changed, 20 insertions, 14 deletions
diff --git a/src/game/client/components/menus_browser.cpp b/src/game/client/components/menus_browser.cpp index 0a29d1b65..20f34f3e8 100644 --- a/src/game/client/components/menus_browser.cpp +++ b/src/game/client/components/menus_browser.cpp @@ -1801,7 +1801,7 @@ void CMenus::RenderServerbrowserFilterTab(CUIRect View) Button.Draw(vec4(0.0f, 0.0f, 0.0f, 0.25f)); Button.VMargin(4.0f, &Button); static int s_BrFilterPing = 0; - Value = LogarithmicScrollbarScale.ToAbsolute(UI()->DoScrollbarH(&s_BrFilterPing, &Button, LogarithmicScrollbarScale.ToRelative(Value, Min, Max)), Min, Max); + Value = CUI::ms_LogarithmicScrollbarScale.ToAbsolute(UI()->DoScrollbarH(&s_BrFilterPing, &Button, CUI::ms_LogarithmicScrollbarScale.ToRelative(Value, Min, Max)), Min, Max); if(Value != FilterInfo.m_Ping) { FilterInfo.m_Ping = Value; diff --git a/src/game/client/components/menus_callback.cpp b/src/game/client/components/menus_callback.cpp index 8f6eb03cc..3da1b628c 100644 --- a/src/game/client/components/menus_callback.cpp +++ b/src/game/client/components/menus_callback.cpp @@ -145,11 +145,11 @@ float CMenus::RenderSettingsControlsMouse(CUIRect View) View.HSplitTop(Spacing, 0, &View); View.HSplitTop(ButtonHeight, &Button, &View); - UI()->DoScrollbarOption(&Config()->m_InpMousesens, &Config()->m_InpMousesens, &Button, Localize("In-game mouse sens."), 1, 500, &LogarithmicScrollbarScale); + UI()->DoScrollbarOption(&Config()->m_InpMousesens, &Config()->m_InpMousesens, &Button, Localize("In-game mouse sens."), 1, 500, &CUI::ms_LogarithmicScrollbarScale); View.HSplitTop(Spacing, 0, &View); View.HSplitTop(ButtonHeight, &Button, &View); - UI()->DoScrollbarOption(&Config()->m_UiMousesens, &Config()->m_UiMousesens, &Button, Localize("Menu mouse sens."), 1, 500, &LogarithmicScrollbarScale); + UI()->DoScrollbarOption(&Config()->m_UiMousesens, &Config()->m_UiMousesens, &Button, Localize("Menu mouse sens."), 1, 500, &CUI::ms_LogarithmicScrollbarScale); return BackgroundHeight; } @@ -217,12 +217,12 @@ float CMenus::RenderSettingsControlsJoystick(CUIRect View) { View.HSplitTop(Spacing, 0, &View); View.HSplitTop(ButtonHeight, &Button, &View); - UI()->DoScrollbarOption(&Config()->m_JoystickSens, &Config()->m_JoystickSens, &Button, Localize("In-game joystick sensitivity"), 1, 500, &LogarithmicScrollbarScale); + UI()->DoScrollbarOption(&Config()->m_JoystickSens, &Config()->m_JoystickSens, &Button, Localize("In-game joystick sensitivity"), 1, 500, &CUI::ms_LogarithmicScrollbarScale); } View.HSplitTop(Spacing, 0, &View); View.HSplitTop(ButtonHeight, &Button, &View); - UI()->DoScrollbarOption(&Config()->m_UiJoystickSens, &Config()->m_UiJoystickSens, &Button, Localize("Menu/Editor joystick sensitivity"), 1, 500, &LogarithmicScrollbarScale); + UI()->DoScrollbarOption(&Config()->m_UiJoystickSens, &Config()->m_UiJoystickSens, &Button, Localize("Menu/Editor joystick sensitivity"), 1, 500, &CUI::ms_LogarithmicScrollbarScale); View.HSplitTop(Spacing, 0, &View); View.HSplitTop(ButtonHeight, &Button, &View); diff --git a/src/game/client/components/menus_settings.cpp b/src/game/client/components/menus_settings.cpp index a433646db..86c673556 100644 --- a/src/game/client/components/menus_settings.cpp +++ b/src/game/client/components/menus_settings.cpp @@ -999,7 +999,7 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView) Client.HSplitTop(Spacing, 0, &Client); Client.HSplitTop(ButtonHeight, &Button, &Client); Button.VSplitLeft(ButtonHeight, 0, &Button); - UI()->DoScrollbarOption(&Config()->m_ClAutoDemoMax, &Config()->m_ClAutoDemoMax, &Button, Localize("Max"), 0, 1000, &LogarithmicScrollbarScale, true); + UI()->DoScrollbarOption(&Config()->m_ClAutoDemoMax, &Config()->m_ClAutoDemoMax, &Button, Localize("Max"), 0, 1000, &CUI::ms_LogarithmicScrollbarScale, true); } Client.HSplitTop(Spacing, 0, &Client); @@ -1012,7 +1012,7 @@ void CMenus::RenderSettingsGeneral(CUIRect MainView) Client.HSplitTop(Spacing, 0, &Client); Client.HSplitTop(ButtonHeight, &Button, &Client); Button.VSplitLeft(ButtonHeight, 0, &Button); - UI()->DoScrollbarOption(&Config()->m_ClAutoScreenshotMax, &Config()->m_ClAutoScreenshotMax, &Button, Localize("Max"), 0, 1000, &LogarithmicScrollbarScale, true); + UI()->DoScrollbarOption(&Config()->m_ClAutoScreenshotMax, &Config()->m_ClAutoScreenshotMax, &Button, Localize("Max"), 0, 1000, &CUI::ms_LogarithmicScrollbarScale, true); } MainView.HSplitTop(10.0f, 0, &MainView); @@ -1940,7 +1940,7 @@ void CMenus::RenderSettingsSound(CUIRect MainView) } Right.HSplitTop(ButtonHeight, &Button, &Right); - UI()->DoScrollbarOption(&Config()->m_SndVolume, &Config()->m_SndVolume, &Button, Localize("Volume"), 0, 100, &LogarithmicScrollbarScale); + UI()->DoScrollbarOption(&Config()->m_SndVolume, &Config()->m_SndVolume, &Button, Localize("Volume"), 0, 100, &CUI::ms_LogarithmicScrollbarScale); } else { diff --git a/src/game/client/ui.cpp b/src/game/client/ui.cpp index b5d862474..b71bec531 100644 --- a/src/game/client/ui.cpp +++ b/src/game/client/ui.cpp @@ -25,6 +25,9 @@ const vec4 CUI::ms_HighlightTextColor(0.0f, 0.0f, 0.0f, 1.0f); const vec4 CUI::ms_HighlightTextOutlineColor(1.0f, 1.0f, 1.0f, 0.25f); const vec4 CUI::ms_TransparentTextColor(1.0f, 1.0f, 1.0f, 0.5f); +const CLinearScrollbarScale CUI::ms_LinearScrollbarScale; +const CLogarithmicScrollbarScale CUI::ms_LogarithmicScrollbarScale(25); + CUI *CUIElementBase::s_pUI = 0; IClient *CUIElementBase::Client() const { return s_pUI->Client(); } diff --git a/src/game/client/ui.h b/src/game/client/ui.h index 1bf6a0413..f541013b1 100644 --- a/src/game/client/ui.h +++ b/src/game/client/ui.h @@ -13,7 +13,7 @@ public: virtual float ToRelative(int AbsoluteValue, int Min, int Max) const = 0; virtual int ToAbsolute(float RelativeValue, int Min, int Max) const = 0; }; -static class CLinearScrollbarScale : public IScrollbarScale +class CLinearScrollbarScale : public IScrollbarScale { public: float ToRelative(int AbsoluteValue, int Min, int Max) const @@ -24,8 +24,8 @@ public: { return round_to_int(RelativeValue*(Max - Min) + Min + 0.1f); } -} const LinearScrollbarScale; -static class CLogarithmicScrollbarScale : public IScrollbarScale +}; +class CLogarithmicScrollbarScale : public IScrollbarScale { private: int m_MinAdjustment; @@ -55,7 +55,7 @@ public: } return round_to_int(exp(RelativeValue*(log(Max) - log(Min)) + log(Min))) + ResultAdjustment; } -} const LogarithmicScrollbarScale(25); +}; class IButtonColorFunction @@ -190,6 +190,9 @@ public: static const float ms_ListheaderHeight; static const float ms_FontmodHeight; + static const CLinearScrollbarScale ms_LinearScrollbarScale; + static const CLogarithmicScrollbarScale ms_LogarithmicScrollbarScale; + void Init(class IKernel *pKernel); class IClient *Client() const { return m_pClient; } class CConfig *Config() const { return m_pConfig; } @@ -269,8 +272,8 @@ public: // scrollbars float DoScrollbarV(const void *pID, const CUIRect *pRect, float Current); float DoScrollbarH(const void *pID, const CUIRect *pRect, float Current); - void DoScrollbarOption(const void *pID, int *pOption, const CUIRect *pRect, const char *pStr, int Min, int Max, const IScrollbarScale *pScale = &LinearScrollbarScale, bool Infinite = false); - void DoScrollbarOptionLabeled(const void *pID, int *pOption, const CUIRect *pRect, const char *pStr, const char *apLabels[], int NumLabels, const IScrollbarScale *pScale = &LinearScrollbarScale); + void DoScrollbarOption(const void *pID, int *pOption, const CUIRect *pRect, const char *pStr, int Min, int Max, const IScrollbarScale *pScale = &ms_LinearScrollbarScale, bool Infinite = false); + void DoScrollbarOptionLabeled(const void *pID, int *pOption, const CUIRect *pRect, const char *pStr, const char *apLabels[], int NumLabels, const IScrollbarScale *pScale = &ms_LinearScrollbarScale); // tooltips void DoTooltip(const void *pID, const CUIRect *pRect, const char *pText); |