halflife-photomode/cl_dll/vgui_SchemeManager.h

54 lines
1.7 KiB
C++

//========= Copyright © 1996-2002, Valve LLC, All rights reserved. ============
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================
#pragma once
#include <VGUI_Font.h>
// handle to an individual scheme
typedef int SchemeHandle_t;
// Register console variables, etc..
void Scheme_Init();
//-----------------------------------------------------------------------------
// Purpose: Handles the loading of text scheme description from disk
// supports different font/color/size schemes at different resolutions
//-----------------------------------------------------------------------------
class CSchemeManager
{
public:
// initialization
CSchemeManager(int xRes, int yRes);
virtual ~CSchemeManager();
// scheme handling
SchemeHandle_t getSchemeHandle(const char* schemeName);
// getting info from schemes
vgui::Font* getFont(SchemeHandle_t schemeHandle);
void getFgColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getBgColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getFgArmedColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getBgArmedColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getFgMousedownColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getBgMousedownColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
void getBorderColor(SchemeHandle_t schemeHandle, int& r, int& g, int& b, int& a);
private:
class CScheme;
CScheme* m_pSchemeList;
int m_iNumSchemes;
// Resolution we were initted at.
int m_xRes;
CScheme* getSafeScheme(SchemeHandle_t schemeHandle);
};