ISchemeManager: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Removed "localhost" Doxygen link) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
# | 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; | |||
class ISchemeManager: public IBaseInterface | |||
{ | |||
public: | |||
// loads a scheme from a file | |||
// first scheme loaded becomes the default scheme, and all subsequent loaded scheme are derivatives of that | |||
virtual HScheme [[LoadSchemeFromFile]](const char *fileName, const char *tag) = 0; | |||
// reloads the scheme from the file - should only be used during development | |||
virtual void [[ReloadSchemes]]() = 0; | |||
// reloads scheme fonts | |||
virtual void [[ReloadFonts]]() = 0; | |||
// returns a handle to the default (first loaded) scheme | |||
virtual HScheme [[GetDefaultScheme]]() = 0; | |||
// returns a handle to the scheme identified by "tag" | |||
virtual HScheme [[GetScheme]](const char *tag) = 0; | |||
// returns a pointer to an image | |||
virtual IImage *[[GetImage]](const char *imageName, bool hardwareFiltered) = 0; | |||
virtual HTexture [[GetImageID]](const char *imageName, bool hardwareFiltered) = 0; | |||
// This can only be called at certain times, like during paint() | |||
// It will assert-fail if you call it at the wrong time... | |||
// FIXME: This interface should go away!!! It's an icky back-door | |||
// If you're using this interface, try instead to cache off the information | |||
// in ApplySchemeSettings | |||
virtual IScheme *[[GetIScheme]]( HScheme scheme ) = 0; | |||
// unload all schemes | |||
virtual void [[Shutdown]]( bool full = true ) = 0; | |||
// gets the proportional coordinates for doing screen-size independent panel layouts | |||
// use these for font, image and panel size scaling (they all use the pixel height of the display for scaling) | |||
virtual int [[GetProportionalScaledValue]](int normalizedValue) = 0; | |||
virtual int [[GetProportionalNormalizedValue]](int scaledValue) = 0; | |||
}; | |||
#define VGUI_SCHEME_INTERFACE_VERSION "VGUI_Scheme010" | |||
} // namespace vgui | |||
#endif // ISCHEME_H | |||
[[Category:Interfaces]] |
Latest revision as of 13:22, 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; class ISchemeManager: public IBaseInterface { public: // loads a scheme from a file // first scheme loaded becomes the default scheme, and all subsequent loaded scheme are derivatives of that virtual HScheme LoadSchemeFromFile(const char *fileName, const char *tag) = 0; // reloads the scheme from the file - should only be used during development virtual void ReloadSchemes() = 0; // reloads scheme fonts virtual void ReloadFonts() = 0; // returns a handle to the default (first loaded) scheme virtual HScheme GetDefaultScheme() = 0; // returns a handle to the scheme identified by "tag" virtual HScheme GetScheme(const char *tag) = 0; // returns a pointer to an image virtual IImage *GetImage(const char *imageName, bool hardwareFiltered) = 0; virtual HTexture GetImageID(const char *imageName, bool hardwareFiltered) = 0; // This can only be called at certain times, like during paint() // It will assert-fail if you call it at the wrong time... // FIXME: This interface should go away!!! It's an icky back-door // If you're using this interface, try instead to cache off the information // in ApplySchemeSettings virtual IScheme *GetIScheme( HScheme scheme ) = 0; // unload all schemes virtual void Shutdown( bool full = true ) = 0; // gets the proportional coordinates for doing screen-size independent panel layouts // use these for font, image and panel size scaling (they all use the pixel height of the display for scaling) virtual int GetProportionalScaledValue(int normalizedValue) = 0; virtual int GetProportionalNormalizedValue(int scaledValue) = 0; }; #define VGUI_SCHEME_INTERFACE_VERSION "VGUI_Scheme010" } // namespace vgui #endif // ISCHEME_H