Difference between revisions of "IScheme"

From Valve Developer Community
Jump to: navigation, search
m
m (Removed "localhost" Doxygen link)
 
Line 57: Line 57:
 
==See Also==
 
==See Also==
 
* [[ISurface]]
 
* [[ISurface]]
* {{doxygen|_i_scheme_8h-source.html IScheme.h on HL2 SDK Doxygen}}
+
 
 
[[Category:Interfaces]]
 
[[Category:Interfaces]]

Latest revision as of 20:21, 30 June 2008

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

See Also