hl2_src-leak-2017/src/engine/cl_foguipanel.h

103 lines
2.3 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef CL_FOGUIPANEL_H
#define CL_FOGUIPANEL_H
#ifdef _WIN32
#pragma once
#endif
#include <vgui_controls/Frame.h>
namespace vgui
{
class Button;
class TextEntry;
class CheckButton;
class Label;
class Slider;
};
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
class CFogUIPanel : public vgui::Frame
{
DECLARE_CLASS_SIMPLE( CFogUIPanel, vgui::Frame );
public:
CFogUIPanel( vgui::Panel *parent );
~CFogUIPanel();
virtual void OnTick();
// Command issued
virtual void OnCommand(const char *command);
virtual void OnMessage(const KeyValues *params, vgui::VPANEL fromPanel);
static void InstallFogUI( vgui::Panel *parent );
void UpdateFogStartSlider();
void UpdateFogEndSlider();
void UpdateFogColorRedSlider();
void UpdateFogColorGreenSlider();
void UpdateFogColorBlueSlider();
void UpdateFogColors();
void UpdateFarZSlider();
protected:
MESSAGE_FUNC_PARAMS( OnTextNewLine, "TextNewLine", data );
MESSAGE_FUNC_PARAMS( OnTextKillFocus, "TextKillFocus", data );
void HandleInput( bool active );
// World fog
vgui::CheckButton *m_pFogOverride;
vgui::CheckButton *m_pFogEnable;
vgui::Slider *m_pFogStart;
vgui::TextEntry *m_pFogStartText;
vgui::Slider *m_pFogEnd;
vgui::TextEntry *m_pFogEndText;
vgui::Slider *m_pFogColorRed;
vgui::TextEntry *m_pFogColorRedText;
vgui::Slider *m_pFogColorGreen;
vgui::TextEntry *m_pFogColorGreenText;
vgui::Slider *m_pFogColorBlue;
vgui::TextEntry *m_pFogColorBlueText;
// Skybox fog
vgui::CheckButton *m_pFogEnableSky;
vgui::Slider *m_pFogStartSky;
vgui::TextEntry *m_pFogStartTextSky;
vgui::Slider *m_pFogEndSky;
vgui::TextEntry *m_pFogEndTextSky;
vgui::Slider *m_pFogColorRedSky;
vgui::TextEntry *m_pFogColorRedTextSky;
vgui::Slider *m_pFogColorGreenSky;
vgui::TextEntry *m_pFogColorGreenTextSky;
vgui::Slider *m_pFogColorBlueSky;
vgui::TextEntry *m_pFogColorBlueTextSky;
// FarZ
vgui::CheckButton *m_pFarZOverride;
vgui::Slider *m_pFarZ;
vgui::TextEntry *m_pFarZText;
};
extern CFogUIPanel *g_pFogUI;
#endif // CL_FOGUIPANEL_H