IScheme
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