mirror of
https://github.com/0TheSpy/Seaside.git
synced 2025-01-07 10:03:29 +08:00
85 lines
2.0 KiB
C++
85 lines
2.0 KiB
C++
#ifndef ISCHEME_H
|
|
#define ISCHEME_H
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "VGUI.h"
|
|
#include "interface.h"
|
|
|
|
class Color;
|
|
class KeyValues;
|
|
|
|
namespace vgui
|
|
{
|
|
|
|
typedef unsigned long HScheme;
|
|
typedef unsigned long HTexture;
|
|
|
|
class IBorder;
|
|
class IImage;
|
|
|
|
class IScheme : public IBaseInterface
|
|
{
|
|
public:
|
|
virtual const char* GetResourceString(const char* stringName) = 0;
|
|
|
|
virtual IBorder* GetBorder(const char* borderName) = 0;
|
|
|
|
virtual HFont GetFont(const char* fontName, bool proportional = false) = 0;
|
|
|
|
virtual char const* GetFontName(const HFont& font) = 0;
|
|
|
|
virtual Color GetColor(const char* colorName, Color defaultColor) = 0;
|
|
|
|
virtual int GetBorderCount() const = 0;
|
|
|
|
virtual IBorder* GetBorderAtIndex(int iIndex) = 0;
|
|
|
|
virtual int GetFontCount() const = 0;
|
|
|
|
virtual HFont GetFontAtIndex(int iIndex) = 0;
|
|
|
|
virtual const KeyValues* GetColorData() const = 0;
|
|
};
|
|
|
|
|
|
|
|
class ISchemeManager : public IBaseInterface
|
|
{
|
|
public:
|
|
virtual HScheme LoadSchemeFromFile(const char* fileName, const char* tag) = 0;
|
|
|
|
virtual void ReloadSchemes() = 0;
|
|
|
|
virtual void ReloadFonts() = 0;
|
|
|
|
virtual HScheme GetDefaultScheme() = 0;
|
|
|
|
virtual HScheme GetScheme(const char* tag) = 0;
|
|
|
|
virtual IImage* GetImage(const char* imageName, bool hardwareFiltered) = 0;
|
|
virtual HTexture GetImageID(const char* imageName, bool hardwareFiltered) = 0;
|
|
|
|
virtual IScheme* GetIScheme(HScheme scheme) = 0;
|
|
|
|
virtual void Shutdown(bool full = true) = 0;
|
|
|
|
virtual int GetProportionalScaledValue(int normalizedValue) = 0;
|
|
virtual int GetProportionalNormalizedValue(int scaledValue) = 0;
|
|
|
|
virtual HScheme LoadSchemeFromFileEx(VPANEL sizingPanel, const char* fileName, const char* tag) = 0;
|
|
virtual int GetProportionalScaledValueEx(HScheme scheme, int normalizedValue) = 0;
|
|
virtual int GetProportionalNormalizedValueEx(HScheme scheme, int scaledValue) = 0;
|
|
|
|
virtual bool DeleteImage(const char* pImageName) = 0;
|
|
};
|
|
|
|
#define VGUI_SCHEME_INTERFACE_VERSION "VGUI_Scheme010"
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif |