mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-02-09 21:54:19 +00:00
56 lines
2.3 KiB
C++
56 lines
2.3 KiB
C++
#ifndef GAMEPADUI_FRAME_H
|
|
#define GAMEPADUI_FRAME_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
#include "gamepadui_panel.h"
|
|
#include "gamepadui_button.h"
|
|
#include "gamepadui_string.h"
|
|
|
|
#include "vgui_controls/Frame.h"
|
|
|
|
class GamepadUIFrame : public vgui::Frame, public SchemeValueMap
|
|
{
|
|
DECLARE_CLASS_SIMPLE( GamepadUIFrame, vgui::Frame );
|
|
public:
|
|
GamepadUIFrame( vgui::Panel *pParent, const char *pszPanelName, bool bShowTaskbarIcon = true, bool bPopup = true );
|
|
void ApplySchemeSettings( vgui::IScheme* pScheme ) OVERRIDE;
|
|
void OnThink() OVERRIDE;
|
|
void Paint() OVERRIDE;
|
|
void OnKeyCodePressed( vgui::KeyCode code ) OVERRIDE;
|
|
void OnKeyCodeReleased( vgui::KeyCode code ) OVERRIDE;
|
|
|
|
GamepadUIString& GetFrameTitle() { return m_strFrameTitle; }
|
|
const GamepadUIString& GetFrameTitle() const { return m_strFrameTitle; }
|
|
|
|
void PaintTitle();
|
|
void SetFooterButtons( FooterButtonMask mask, FooterButtonMask controllerOnlyMask = 0 );
|
|
void OnClose();
|
|
|
|
virtual void UpdateGradients();
|
|
protected:
|
|
void LayoutFooterButtons();
|
|
void PaintBackgroundGradients();
|
|
|
|
GamepadUIString m_strFrameTitle;
|
|
GamepadUIButton *m_pFooterButtons[ FooterButtons::MaxFooterButtons ];
|
|
FooterButtonMask m_ControllerOnlyFooterMask = 0;
|
|
|
|
GAMEPADUI_PANEL_PROPERTY( Color, m_colTitleColor, "Title", "255 255 255 255", SchemeValueTypes::Color );
|
|
|
|
GAMEPADUI_PANEL_PROPERTY( float, m_flTitleOffsetX, "Title.OffsetX", "0", SchemeValueTypes::ProportionalFloat );
|
|
GAMEPADUI_PANEL_PROPERTY( float, m_flTitleOffsetY, "Title.OffsetY", "0", SchemeValueTypes::ProportionalFloat );
|
|
|
|
GAMEPADUI_PANEL_PROPERTY( float, m_flFooterButtonsOffsetX, "FooterButtons.OffsetX", "0", SchemeValueTypes::ProportionalFloat );
|
|
GAMEPADUI_PANEL_PROPERTY( float, m_flFooterButtonsOffsetY, "FooterButtons.OffsetY", "0", SchemeValueTypes::ProportionalFloat );
|
|
GAMEPADUI_PANEL_PROPERTY( float, m_flFooterButtonsSpacing, "FooterButtons.Spacing", "0", SchemeValueTypes::ProportionalFloat );
|
|
GAMEPADUI_PANEL_PROPERTY( bool, m_bFooterButtonsStack, "FooterButtons.StackVertically", "0", SchemeValueTypes::Bool );
|
|
|
|
vgui::HFont m_hTitleFont = vgui::INVALID_FONT;
|
|
vgui::HFont m_hGenericFont = vgui::INVALID_FONT;
|
|
int m_nFooterButtonWidth = 0;
|
|
int m_nFooterButtonHeight = 0;
|
|
};
|
|
|
|
#endif // GAMEPADUI_FRAME_H
|