mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-13 03:28:19 +00:00
Started making color picker
This commit is contained in:
parent
dd7da191f6
commit
e817a179da
|
@ -53,6 +53,10 @@ ColorRGBA CMenus::ms_ColorTabbarInactiveIngame;
|
||||||
ColorRGBA CMenus::ms_ColorTabbarActiveIngame;
|
ColorRGBA CMenus::ms_ColorTabbarActiveIngame;
|
||||||
ColorRGBA CMenus::ms_ColorTabbarHoverIngame;
|
ColorRGBA CMenus::ms_ColorTabbarHoverIngame;
|
||||||
|
|
||||||
|
SColorPicker CMenus::ms_ColorPicker;
|
||||||
|
int CMenus::ms_ColorPickerID;
|
||||||
|
int CMenus::ms_HuePickerID;
|
||||||
|
|
||||||
float CMenus::ms_ButtonHeight = 25.0f;
|
float CMenus::ms_ButtonHeight = 25.0f;
|
||||||
float CMenus::ms_ListheaderHeight = 17.0f;
|
float CMenus::ms_ListheaderHeight = 17.0f;
|
||||||
float CMenus::ms_FontmodHeight = 0.8f;
|
float CMenus::ms_FontmodHeight = 0.8f;
|
||||||
|
@ -1143,6 +1147,143 @@ bool CMenus::CanDisplayWarning()
|
||||||
return m_Popup == POPUP_NONE;
|
return m_Popup == POPUP_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMenus::RenderColorPicker()
|
||||||
|
{
|
||||||
|
if(!ms_ColorPicker.m_Active)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// First check if we should disable color picker
|
||||||
|
CUIRect PickerRect;
|
||||||
|
PickerRect.x = ms_ColorPicker.m_X;
|
||||||
|
PickerRect.y = ms_ColorPicker.m_Y;
|
||||||
|
PickerRect.w = ms_ColorPicker.ms_Width;
|
||||||
|
PickerRect.h = ms_ColorPicker.ms_Height;
|
||||||
|
|
||||||
|
if(UI()->MouseButtonClicked(0) && !UI()->MouseInside(&PickerRect) && !UI()->MouseInside(&ms_ColorPicker.m_AttachedRect))
|
||||||
|
{
|
||||||
|
ms_ColorPicker.m_Active = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
ColorRGBA BackgroundColor(0.1f, 0.1f, 0.1f, 1.0f);
|
||||||
|
ColorRGBA OutlineColor(0.21f, 0.21f, 0.21f, 1);
|
||||||
|
RenderTools()->DrawUIRect(&PickerRect, BackgroundColor, 0, 0);
|
||||||
|
|
||||||
|
CUIRect ColorsArea, HueArea, BottomArea, AlphaSliderArea, HexCodeArea;
|
||||||
|
PickerRect.Margin(3, &ColorsArea);
|
||||||
|
|
||||||
|
ColorsArea.HSplitBottom(ms_ColorPicker.ms_Height - 140.0f, &ColorsArea, &BottomArea);
|
||||||
|
ColorsArea.VSplitRight(20, &ColorsArea, &HueArea);
|
||||||
|
|
||||||
|
BottomArea.HSplitTop(3, 0x0, &BottomArea);
|
||||||
|
HueArea.VSplitLeft(3, 0x0, &HueArea);
|
||||||
|
|
||||||
|
BottomArea.HSplitBottom(14, &AlphaSliderArea, &HexCodeArea);
|
||||||
|
AlphaSliderArea.HSplitBottom(3, &AlphaSliderArea, 0x0);
|
||||||
|
|
||||||
|
RenderTools()->DrawUIRect(&HueArea, OutlineColor, 0, 0);
|
||||||
|
HueArea.Margin(1, &HueArea);
|
||||||
|
|
||||||
|
RenderTools()->DrawUIRect(&ColorsArea, OutlineColor, 0, 0);
|
||||||
|
ColorsArea.Margin(1, &ColorsArea);
|
||||||
|
|
||||||
|
ColorHSLA HSLColor(*ms_ColorPicker.m_pColor, false);
|
||||||
|
ColorHSVA PickerColor = color_cast<ColorHSVA, ColorHSLA>(HSLColor);
|
||||||
|
|
||||||
|
// Color Area
|
||||||
|
ColorRGBA rgb;
|
||||||
|
rgb = color_cast<ColorRGBA, ColorHSVA>(ColorHSVA(PickerColor.x, 0.0f, 1.0f));
|
||||||
|
vec4 TL(rgb.r, rgb.g, rgb.b, 1.0f);
|
||||||
|
rgb = color_cast<ColorRGBA, ColorHSVA>(ColorHSVA(PickerColor.x, 1.0f, 1.0f));
|
||||||
|
vec4 TR(rgb.r, rgb.g, rgb.b, 1.0f);
|
||||||
|
rgb = color_cast<ColorRGBA, ColorHSVA>(ColorHSVA(PickerColor.x, 0.0f, 1.0f));
|
||||||
|
vec4 BL(rgb.r, rgb.g, rgb.b, 1.0f);
|
||||||
|
rgb = color_cast<ColorRGBA, ColorHSVA>(ColorHSVA(PickerColor.x, 1.0f, 1.0f));
|
||||||
|
vec4 BR(rgb.r, rgb.g, rgb.b, 1.0f);
|
||||||
|
|
||||||
|
RenderTools()->DrawUIRect4NoRounding(&ColorsArea, TL, TR, BL, BR);
|
||||||
|
|
||||||
|
TL = vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||||
|
TR = vec4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||||
|
BL = vec4(0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
BR = vec4(0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
|
||||||
|
RenderTools()->DrawUIRect4NoRounding(&ColorsArea, TL, TR, BL, BR);
|
||||||
|
|
||||||
|
// Hue Area
|
||||||
|
static const float s_aColorIndices[7][3] = {
|
||||||
|
{1.0f, 0.0f, 0.0f}, // red
|
||||||
|
{1.0f, 0.0f, 1.0f}, // magenta
|
||||||
|
{0.0f, 0.0f, 1.0f}, // blue
|
||||||
|
{0.0f, 1.0f, 1.0f}, // cyan
|
||||||
|
{0.0f, 1.0f, 0.0f}, // green
|
||||||
|
{1.0f, 1.0f, 0.0f}, // yellow
|
||||||
|
{1.0f, 0.0f, 0.0f} // red
|
||||||
|
};
|
||||||
|
|
||||||
|
float HuePickerOffset = HueArea.h / 6.0f;
|
||||||
|
CUIRect HuePartialArea = HueArea;
|
||||||
|
HuePartialArea.h = HuePickerOffset;
|
||||||
|
|
||||||
|
for(int j = 0; j < 6; j++)
|
||||||
|
{
|
||||||
|
TL = vec4(s_aColorIndices[j][0], s_aColorIndices[j][1], s_aColorIndices[j][2], 1.0f);
|
||||||
|
BL = vec4(s_aColorIndices[j + 1][0], s_aColorIndices[j + 1][1], s_aColorIndices[j + 1][2], 1.0f);
|
||||||
|
|
||||||
|
HuePartialArea.y = HueArea.y + HuePickerOffset * j;
|
||||||
|
RenderTools()->DrawUIRect4NoRounding(&HuePartialArea, TL, TL, BL, BL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Hex Code Area FIX <<<<<<
|
||||||
|
rgb = color_cast<ColorRGBA, ColorHSVA>(PickerColor);
|
||||||
|
char Hex[16];
|
||||||
|
|
||||||
|
str_format(Hex, sizeof(Hex), "#%06X", rgb.Pack(false));
|
||||||
|
|
||||||
|
static float HexID = 0;
|
||||||
|
DoEditBox(&HexID, &HexCodeArea, Hex, sizeof(Hex), 12.0f, &HexID);
|
||||||
|
|
||||||
|
// Logic
|
||||||
|
float PickerX, PickerY;
|
||||||
|
bool PickerClicked = false;
|
||||||
|
|
||||||
|
if(UI()->HotItem() != &ms_HuePickerID)
|
||||||
|
{
|
||||||
|
if(UI()->DoPickerLogic(&ms_ColorPickerID, &ColorsArea, &PickerX, &PickerY))
|
||||||
|
{
|
||||||
|
PickerColor.y = PickerX / ColorsArea.w;
|
||||||
|
PickerColor.z = 1.0f - PickerY / ColorsArea.h;
|
||||||
|
PickerClicked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(UI()->HotItem() != &ms_ColorPickerID)
|
||||||
|
{
|
||||||
|
if(UI()->DoPickerLogic(&ms_HuePickerID, &HueArea, &PickerX, &PickerY))
|
||||||
|
{
|
||||||
|
PickerColor.x = 1.0f - PickerY / HueArea.h;
|
||||||
|
PickerClicked = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Marker Color Area
|
||||||
|
float MarkerX = ColorsArea.x + ColorsArea.w * PickerColor.y;
|
||||||
|
float MarkerY = ColorsArea.y + ColorsArea.h * (1.0f - PickerColor.z);
|
||||||
|
|
||||||
|
int MarkerOutlineInd = PickerColor.z > 0.5f ? 0.0f : 1.0f;
|
||||||
|
ColorRGBA MarkerOutline(MarkerOutlineInd, MarkerOutlineInd, MarkerOutlineInd, 1.0f);
|
||||||
|
|
||||||
|
Graphics()->QuadsBegin();
|
||||||
|
Graphics()->SetColor(MarkerOutline);
|
||||||
|
RenderTools()->DrawCircle(MarkerX, MarkerY, 5.0f, 32);
|
||||||
|
Graphics()->SetColor(rgb);
|
||||||
|
RenderTools()->DrawCircle(MarkerX, MarkerY, 4.0f, 32);
|
||||||
|
Graphics()->QuadsEnd();
|
||||||
|
|
||||||
|
*ms_ColorPicker.m_pColor = color_cast<ColorHSLA, ColorHSVA>(PickerColor).Pack(false);
|
||||||
|
}
|
||||||
|
|
||||||
int CMenus::Render()
|
int CMenus::Render()
|
||||||
{
|
{
|
||||||
if(Client()->State() == IClient::STATE_DEMOPLAYBACK && m_Popup == POPUP_NONE)
|
if(Client()->State() == IClient::STATE_DEMOPLAYBACK && m_Popup == POPUP_NONE)
|
||||||
|
@ -1288,6 +1429,9 @@ int CMenus::Render()
|
||||||
else if(m_MenuPage == PAGE_SETTINGS)
|
else if(m_MenuPage == PAGE_SETTINGS)
|
||||||
{
|
{
|
||||||
RenderSettings(MainView);
|
RenderSettings(MainView);
|
||||||
|
|
||||||
|
// Render Color Picker only on settings page and last
|
||||||
|
RenderColorPicker();
|
||||||
}
|
}
|
||||||
|
|
||||||
// do tab bar
|
// do tab bar
|
||||||
|
|
|
@ -24,6 +24,21 @@ struct CServerProcess
|
||||||
CLineReader LineReader;
|
CLineReader LineReader;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct SColorPicker
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
const float ms_Width = 160.0f;
|
||||||
|
const float ms_Height = 200.0f;
|
||||||
|
|
||||||
|
float m_X;
|
||||||
|
float m_Y;
|
||||||
|
|
||||||
|
bool m_Active;
|
||||||
|
|
||||||
|
CUIRect m_AttachedRect;
|
||||||
|
unsigned int *m_pColor;
|
||||||
|
};
|
||||||
|
|
||||||
// compnent to fetch keypresses, override all other input
|
// compnent to fetch keypresses, override all other input
|
||||||
class CMenusKeyBinder : public CComponent
|
class CMenusKeyBinder : public CComponent
|
||||||
{
|
{
|
||||||
|
@ -49,6 +64,10 @@ class CMenus : public CComponent
|
||||||
static ColorRGBA ms_ColorTabbarActive;
|
static ColorRGBA ms_ColorTabbarActive;
|
||||||
static ColorRGBA ms_ColorTabbarHover;
|
static ColorRGBA ms_ColorTabbarHover;
|
||||||
|
|
||||||
|
static SColorPicker ms_ColorPicker;
|
||||||
|
static int ms_ColorPickerID;
|
||||||
|
static int ms_HuePickerID;
|
||||||
|
|
||||||
char m_aLocalStringHelper[1024];
|
char m_aLocalStringHelper[1024];
|
||||||
|
|
||||||
float ButtonColorMulActive() { return 0.5f; }
|
float ButtonColorMulActive() { return 0.5f; }
|
||||||
|
@ -94,6 +113,8 @@ class CMenus : public CComponent
|
||||||
//static int ui_do_key_reader(void *id, const CUIRect *rect, int key);
|
//static int ui_do_key_reader(void *id, const CUIRect *rect, int key);
|
||||||
void UiDoGetButtons(int Start, int Stop, CUIRect View, CUIRect ScopeView);
|
void UiDoGetButtons(int Start, int Stop, CUIRect View, CUIRect ScopeView);
|
||||||
|
|
||||||
|
void RenderColorPicker();
|
||||||
|
|
||||||
// new gui with gui elements
|
// new gui with gui elements
|
||||||
template<typename T>
|
template<typename T>
|
||||||
int DoButtonMenu(CUIElement &UIElement, const void *pID, T &&GetTextLambda, int Checked, const CUIRect *pRect, bool HintRequiresStringCheck, bool HintCanChangePositionOrSize = false, int Corners = CUI::CORNER_ALL, float r = 5.0f, float FontFactor = 0.0f, vec4 ColorHot = vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4 Color = vec4(1, 1, 1, 0.5f), int AlignVertically = 1)
|
int DoButtonMenu(CUIElement &UIElement, const void *pID, T &&GetTextLambda, int Checked, const CUIRect *pRect, bool HintRequiresStringCheck, bool HintCanChangePositionOrSize = false, int Corners = CUI::CORNER_ALL, float r = 5.0f, float FontFactor = 0.0f, vec4 ColorHot = vec4(1.0f, 1.0f, 1.0f, 0.75f), vec4 Color = vec4(1, 1, 1, 0.5f), int AlignVertically = 1)
|
||||||
|
@ -634,6 +655,7 @@ private:
|
||||||
// found in menus_settings.cpp
|
// found in menus_settings.cpp
|
||||||
void RenderSettingsDDNet(CUIRect MainView);
|
void RenderSettingsDDNet(CUIRect MainView);
|
||||||
void RenderSettingsHUD(CUIRect MainView);
|
void RenderSettingsHUD(CUIRect MainView);
|
||||||
|
ColorHSLA RenderHSLColorPicker(CUIRect *pRect, unsigned int *pColor, bool Alpha);
|
||||||
ColorHSLA RenderHSLScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha = false);
|
ColorHSLA RenderHSLScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha = false);
|
||||||
|
|
||||||
CServerProcess m_ServerProcess;
|
CServerProcess m_ServerProcess;
|
||||||
|
|
|
@ -1564,6 +1564,55 @@ void CMenus::RenderSettings(CUIRect MainView)
|
||||||
UI()->DoLabelScaled(&RestartWarning, Localize("You must restart the game for all settings to take effect."), 14.0f, -1);
|
UI()->DoLabelScaled(&RestartWarning, Localize("You must restart the game for all settings to take effect."), 14.0f, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ColorHSLA CMenus::RenderHSLColorPicker(CUIRect *pRect, unsigned int *pColor, bool Alpha)
|
||||||
|
{
|
||||||
|
ColorHSLA HSLColor(*pColor, false);
|
||||||
|
ColorRGBA RGBColor = color_cast<ColorRGBA>(HSLColor);
|
||||||
|
|
||||||
|
float OutlineCol = UI()->MouseInside(pRect) ? 0.7f : 0.5f;
|
||||||
|
|
||||||
|
ColorRGBA Outline(OutlineCol, OutlineCol, OutlineCol, 1);
|
||||||
|
|
||||||
|
const float OutlineSize = 2.0f;
|
||||||
|
|
||||||
|
CUIRect Rect;
|
||||||
|
pRect->Margin(OutlineSize, &Rect);
|
||||||
|
|
||||||
|
RenderTools()->DrawUIRect(pRect, Outline, 0, 0);
|
||||||
|
RenderTools()->DrawUIRect(&Rect, RGBColor, 0, 0);
|
||||||
|
|
||||||
|
if(UI()->DoButtonLogic(pColor, 0, pRect))
|
||||||
|
{
|
||||||
|
if(ms_ColorPicker.m_Active)
|
||||||
|
{
|
||||||
|
CUIRect PickerRect;
|
||||||
|
PickerRect.x = ms_ColorPicker.m_X;
|
||||||
|
PickerRect.y = ms_ColorPicker.m_Y;
|
||||||
|
PickerRect.w = ms_ColorPicker.ms_Width;
|
||||||
|
PickerRect.h = ms_ColorPicker.ms_Height;
|
||||||
|
|
||||||
|
if(ms_ColorPicker.m_pColor != pColor && !UI()->MouseInside(&PickerRect))
|
||||||
|
{
|
||||||
|
ms_ColorPicker.m_X = UI()->MouseX();
|
||||||
|
ms_ColorPicker.m_Y = UI()->MouseY();
|
||||||
|
ms_ColorPicker.m_pColor = pColor;
|
||||||
|
ms_ColorPicker.m_Active = true;
|
||||||
|
ms_ColorPicker.m_AttachedRect = *pRect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ms_ColorPicker.m_X = UI()->MouseX();
|
||||||
|
ms_ColorPicker.m_Y = UI()->MouseY();
|
||||||
|
ms_ColorPicker.m_pColor = pColor;
|
||||||
|
ms_ColorPicker.m_Active = true;
|
||||||
|
ms_ColorPicker.m_AttachedRect = *pRect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return HSLColor;
|
||||||
|
}
|
||||||
|
|
||||||
ColorHSLA CMenus::RenderHSLScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha)
|
ColorHSLA CMenus::RenderHSLScrollbars(CUIRect *pRect, unsigned int *pColor, bool Alpha)
|
||||||
{
|
{
|
||||||
ColorHSLA Color(*pColor, Alpha);
|
ColorHSLA Color(*pColor, Alpha);
|
||||||
|
@ -1591,9 +1640,12 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
{
|
{
|
||||||
static int pIDP1 = 0, pIDP2 = 0;
|
static int pIDP1 = 0, pIDP2 = 0;
|
||||||
static int Page = 1;
|
static int Page = 1;
|
||||||
CUIRect Left, Right, HUD, Messages, Button, Label, Weapon, Laser, Page1Tab, Page2Tab, Enable, Heart;
|
CUIRect Left, Right, HUD, Chat, Button, Label, Weapon, Laser, Page1Tab, Page2Tab, Enable, Heart;
|
||||||
|
|
||||||
MainView.HSplitTop(150.0f, &HUD, &MainView);
|
MainView.VSplitMid(&HUD, &Chat);
|
||||||
|
|
||||||
|
ColorRGBA test(1, 1, 1, 0.1f);
|
||||||
|
RenderTools()->DrawUIRect(&MainView, test, 0, 0);
|
||||||
|
|
||||||
HUD.HSplitTop(30.0f, &Label, &HUD);
|
HUD.HSplitTop(30.0f, &Label, &HUD);
|
||||||
float tw = TextRender()->TextWidth(0, 20.0f, Localize("HUD"), -1, -1.0f);
|
float tw = TextRender()->TextWidth(0, 20.0f, Localize("HUD"), -1, -1.0f);
|
||||||
|
@ -1631,13 +1683,13 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
g_Config.m_ClShowIDs ^= 1;
|
g_Config.m_ClShowIDs ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Right.HSplitTop(20.0f, &Button, &Right);
|
Left.HSplitTop(20.0f, &Button, &Left);
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClShowhudScore, Localize("Show score"), g_Config.m_ClShowhudScore, &Button))
|
if(DoButton_CheckBox(&g_Config.m_ClShowhudScore, Localize("Show score"), g_Config.m_ClShowhudScore, &Button))
|
||||||
{
|
{
|
||||||
g_Config.m_ClShowhudScore ^= 1;
|
g_Config.m_ClShowhudScore ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Right.HSplitTop(20.0f, &Button, &Right);
|
Left.HSplitTop(20.0f, &Button, &Left);
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClShowhudHealthAmmo, Localize("Show health + ammo"), g_Config.m_ClShowhudHealthAmmo, &Button))
|
if(DoButton_CheckBox(&g_Config.m_ClShowhudHealthAmmo, Localize("Show health + ammo"), g_Config.m_ClShowhudHealthAmmo, &Button))
|
||||||
{
|
{
|
||||||
g_Config.m_ClShowhudHealthAmmo ^= 1;
|
g_Config.m_ClShowhudHealthAmmo ^= 1;
|
||||||
|
@ -1649,9 +1701,32 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
g_Config.m_ClShowChat ^= 1;
|
g_Config.m_ClShowChat ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsOldChat = !(g_Config.m_ClChatTee || g_Config.m_ClChatBackground);
|
Left.HSplitTop(20.0f, &Button, &Left);
|
||||||
|
if(DoButton_CheckBox(&g_Config.m_ClChatTeamColors, Localize("Show names in chat in team colors"), g_Config.m_ClChatTeamColors, &Button))
|
||||||
|
{
|
||||||
|
g_Config.m_ClChatTeamColors ^= 1;
|
||||||
|
}
|
||||||
|
|
||||||
Left.HSplitTop(20.0f, &Button, &Left);
|
Left.HSplitTop(20.0f, &Button, &Left);
|
||||||
|
if(DoButton_CheckBox(&g_Config.m_ClShowKillMessages, Localize("Show kill messages"), g_Config.m_ClShowKillMessages, &Button))
|
||||||
|
{
|
||||||
|
g_Config.m_ClShowKillMessages ^= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
Left.HSplitTop(20.0f, &Button, &Left);
|
||||||
|
if(DoButton_CheckBox(&g_Config.m_ClShowVotesAfterVoting, Localize("Show votes window after voting"), g_Config.m_ClShowVotesAfterVoting, &Button))
|
||||||
|
{
|
||||||
|
g_Config.m_ClShowVotesAfterVoting ^= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chat
|
||||||
|
|
||||||
|
Chat.HSplitTop(30.0f, &Label, &Chat);
|
||||||
|
UI()->DoLabelScaled(&Label, Localize("Chat"), 20.0f, -1);
|
||||||
|
|
||||||
|
bool IsOldChat = !(g_Config.m_ClChatTee || g_Config.m_ClChatBackground);
|
||||||
|
|
||||||
|
Chat.HSplitTop(20.0f, &Button, &Chat);
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClChatTee, Localize("Use old chat style"), IsOldChat, &Button))
|
if(DoButton_CheckBox(&g_Config.m_ClChatTee, Localize("Use old chat style"), IsOldChat, &Button))
|
||||||
{
|
{
|
||||||
if(IsOldChat)
|
if(IsOldChat)
|
||||||
|
@ -1666,32 +1741,18 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
}
|
}
|
||||||
GameClient()->m_pChat->RebuildChat();
|
GameClient()->m_pChat->RebuildChat();
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
Right.HSplitTop(20.0f, &Button, &Right);
|
Right.HSplitTop(170.0f, &Chat, &MainView);
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClChatTeamColors, Localize("Show names in chat in team colors"), g_Config.m_ClChatTeamColors, &Button))
|
Chat.HSplitTop(30.0f, &Label, &Chat);
|
||||||
{
|
UI()->DoLabelScaled(&Label, Localize("Chat"), 20.0f, -1);
|
||||||
g_Config.m_ClChatTeamColors ^= 1;
|
Chat.Margin(5.0f, &Chat);
|
||||||
}
|
Chat.VSplitMid(&Left, &Right);
|
||||||
|
Left = Right;
|
||||||
Right.HSplitTop(20.0f, &Button, &Right);
|
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClShowKillMessages, Localize("Show kill messages"), g_Config.m_ClShowKillMessages, &Button))
|
|
||||||
{
|
|
||||||
g_Config.m_ClShowKillMessages ^= 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
Right.HSplitTop(20.0f, &Button, &Right);
|
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClShowVotesAfterVoting, Localize("Show votes window after voting"), g_Config.m_ClShowVotesAfterVoting, &Button))
|
|
||||||
{
|
|
||||||
g_Config.m_ClShowVotesAfterVoting ^= 1;
|
|
||||||
}
|
|
||||||
MainView.HSplitTop(170.0f, &Messages, &MainView);
|
|
||||||
Messages.HSplitTop(30.0f, &Label, &Messages);
|
|
||||||
Label.VSplitMid(&Label, &Button);
|
|
||||||
UI()->DoLabelScaled(&Label, Localize("Messages"), 20.0f, -1);
|
|
||||||
Messages.Margin(5.0f, &Messages);
|
|
||||||
Messages.VSplitMid(&Left, &Right);
|
|
||||||
Left.VSplitRight(5.0f, &Left, 0);
|
Left.VSplitRight(5.0f, &Left, 0);
|
||||||
Right.VMargin(5.0f, &Right);
|
Right.VMargin(5.0f, &Right);
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
|
||||||
{
|
{
|
||||||
char aBuf[64];
|
char aBuf[64];
|
||||||
Left.HSplitTop(20.0f, &Label, &Left);
|
Left.HSplitTop(20.0f, &Label, &Left);
|
||||||
|
@ -1700,6 +1761,7 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
|
|
||||||
if(DoButton_CheckBox(&g_Config.m_ClShowChatSystem, "", g_Config.m_ClShowChatSystem, &Enable))
|
if(DoButton_CheckBox(&g_Config.m_ClShowChatSystem, "", g_Config.m_ClShowChatSystem, &Enable))
|
||||||
g_Config.m_ClShowChatSystem ^= 1;
|
g_Config.m_ClShowChatSystem ^= 1;
|
||||||
|
|
||||||
UI()->DoLabelScaled(&Label, Localize("System message"), 16.0f, -1);
|
UI()->DoLabelScaled(&Label, Localize("System message"), 16.0f, -1);
|
||||||
{
|
{
|
||||||
static int s_DefaultButton = 0;
|
static int s_DefaultButton = 0;
|
||||||
|
@ -1710,11 +1772,16 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColorHSLA SMColor = RenderHSLScrollbars(&Left, &g_Config.m_ClMessageSystemColor);
|
CUIRect PickerRect;
|
||||||
|
Left.HSplitTop(5.0f, 0x0, &Left);
|
||||||
|
Left.HSplitTop(25.0f, &PickerRect, &Left);
|
||||||
|
PickerRect.w = 25.0f;
|
||||||
|
|
||||||
|
ColorHSLA SMColor = RenderHSLColorPicker(&PickerRect, &g_Config.m_ClMessageSystemColor, false);
|
||||||
|
ColorRGBA rgb = color_cast<ColorRGBA>(SMColor);
|
||||||
|
|
||||||
Left.HSplitTop(10.0f, &Label, &Left);
|
Left.HSplitTop(10.0f, &Label, &Left);
|
||||||
|
|
||||||
ColorRGBA rgb = color_cast<ColorRGBA>(SMColor);
|
|
||||||
TextRender()->TextColor(rgb);
|
TextRender()->TextColor(rgb);
|
||||||
|
|
||||||
char aName[16];
|
char aName[16];
|
||||||
|
@ -1896,7 +1963,7 @@ void CMenus::RenderSettingsHUD(CUIRect MainView)
|
||||||
UI()->DoLabelScaled(&Label, "*** Dynamic camera activated", 12.0f, -1);
|
UI()->DoLabelScaled(&Label, "*** Dynamic camera activated", 12.0f, -1);
|
||||||
TextRender()->TextColor(1.0f, 1.0f, 1.0f, 1.0f);
|
TextRender()->TextColor(1.0f, 1.0f, 1.0f, 1.0f);
|
||||||
Right.HSplitTop(20.0f, 0, &Right);
|
Right.HSplitTop(20.0f, 0, &Right);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
else if(Page == 2)
|
else if(Page == 2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -508,6 +508,19 @@ void CRenderTools::DrawUIRect4(const CUIRect *r, vec4 ColorTopLeft, vec4 ColorTo
|
||||||
Graphics()->QuadsEnd();
|
Graphics()->QuadsEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CRenderTools::DrawUIRect4NoRounding(const CUIRect *r, vec4 ColorTopLeft, vec4 ColorTopRight, vec4 ColorBottomLeft, vec4 ColorBottomRight)
|
||||||
|
{
|
||||||
|
Graphics()->TextureClear();
|
||||||
|
|
||||||
|
Graphics()->QuadsBegin();
|
||||||
|
|
||||||
|
Graphics()->SetColor4(ColorTopLeft, ColorTopRight, ColorBottomLeft, ColorBottomRight);
|
||||||
|
IGraphics::CQuadItem ItemQ = IGraphics::CQuadItem(r->x, r->y, r->w, r->h);
|
||||||
|
Graphics()->QuadsDrawTL(&ItemQ, 1);
|
||||||
|
|
||||||
|
Graphics()->QuadsEnd();
|
||||||
|
}
|
||||||
|
|
||||||
void CRenderTools::DrawCircle(float x, float y, float r, int Segments)
|
void CRenderTools::DrawCircle(float x, float y, float r, int Segments)
|
||||||
{
|
{
|
||||||
IGraphics::CFreeformItem Array[32];
|
IGraphics::CFreeformItem Array[32];
|
||||||
|
|
|
@ -89,6 +89,7 @@ public:
|
||||||
|
|
||||||
void DrawUIRect(const CUIRect *pRect, ColorRGBA Color, int Corners, float Rounding);
|
void DrawUIRect(const CUIRect *pRect, ColorRGBA Color, int Corners, float Rounding);
|
||||||
void DrawUIRect4(const CUIRect *pRect, vec4 ColorTopLeft, vec4 ColorTopRight, vec4 ColorBottomLeft, vec4 ColorBottomRight, int Corners, float Rounding);
|
void DrawUIRect4(const CUIRect *pRect, vec4 ColorTopLeft, vec4 ColorTopRight, vec4 ColorBottomLeft, vec4 ColorBottomRight, int Corners, float Rounding);
|
||||||
|
void DrawUIRect4NoRounding(const CUIRect *pRect, vec4 ColorTopLeft, vec4 ColorTopRight, vec4 ColorBottomLeft, vec4 ColorBottomRight);
|
||||||
|
|
||||||
void DrawCircle(float x, float y, float r, int Segments);
|
void DrawCircle(float x, float y, float r, int Segments);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue