IScheme
Jump to navigation
Jump to search
This interface has major implementation with VGUI2.
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef ISCHEME_H
#define ISCHEME_H
#ifdef _WIN32
#pragma once
#endif
#include <vgui/VGUI.h>
#include "interface.h"
class Color;
namespace vgui
{
typedef unsigned long HScheme;
typedef unsigned long HTexture;
class IBorder;
class IImage;
//-----------------------------------------------------------------------------
// Purpose: Holds all panel rendering data
// This functionality is all wrapped in the Panel::GetScheme*() functions
//-----------------------------------------------------------------------------
class IScheme : public IBaseInterface
{
public:
// gets a string from the default settings section
virtual const char *GetResourceString(const char *stringName) = 0;
// returns a pointer to an existing border
virtual IBorder *GetBorder(const char *borderName) = 0;
// returns a pointer to an existing font
virtual HFont GetFont(const char *fontName, bool proportional = false) = 0;
// inverse font lookup
virtual char const *GetFontName( const HFont& font ) = 0;
// colors
virtual Color GetColor(const char *colorName, Color defaultColor) = 0;
};
} // namespace vgui
#endif // ISCHEME_H