93 lines
2.0 KiB
C++
93 lines
2.0 KiB
C++
#pragma once
|
|
|
|
class LGUIGauge :
|
|
public LGUIFrame
|
|
{
|
|
public:
|
|
LGUI_API LGUIGauge(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIGauge(void);
|
|
LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
LGUI_API void Render();
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
|
|
LGUI_API virtual void SetValue(float NewValue);
|
|
|
|
// -- XML Properties --
|
|
LGUITexture *pTopTexture;
|
|
|
|
bool bVertical;
|
|
|
|
float fRange;
|
|
|
|
// --------------------
|
|
|
|
bool Mod;
|
|
class LGUIGaugeFiller* pFiller;
|
|
float fValue;
|
|
};
|
|
|
|
class LGUIGaugeFiller:
|
|
public LGUIElement
|
|
{
|
|
public:
|
|
LGUIGaugeFiller(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
~LGUIGaugeFiller(void);
|
|
// LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
void Render();
|
|
bool FromXML(class XMLNode *pXML);
|
|
bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate);
|
|
|
|
bool IsTypeOf(char *TestFactory);
|
|
// void Default();
|
|
virtual void SetValue(float NewValue);
|
|
void RecalculateSize(bool RecalculateChildren);
|
|
|
|
// -- XML Properties --
|
|
LGUITexture *pTexture;
|
|
// --------------------
|
|
|
|
float fRange;
|
|
float fValue;
|
|
bool bVertical;
|
|
unsigned int Repeat;
|
|
|
|
class LGUIGauge *pGauge;
|
|
};
|
|
|
|
class LGUIGaugeFactory : public LGUIElementFactory
|
|
{
|
|
public:
|
|
LGUIGaugeFactory():LGUIElementFactory("gauge",LGUI_VERSION)
|
|
{
|
|
}
|
|
|
|
~LGUIGaugeFactory()
|
|
{
|
|
}
|
|
|
|
virtual LGUIElement *CreateUIElement(LGUIElement *pParent, const char *Name, class XMLNode *pXML, const char *Template = 0)
|
|
{
|
|
LGUIGauge *pElement = new LGUIGauge(Type,pParent,Name);
|
|
|
|
if (!pElement->FromXML(pXML,g_UIManager.FindTemplate(Template)))
|
|
{
|
|
delete pElement;
|
|
return 0;
|
|
}
|
|
Elements[pElement]=1;
|
|
if (pElement->pFiller)
|
|
return pElement->pFiller;
|
|
return pElement;
|
|
}
|
|
virtual LGUIElement *CreateUIElement(LGUIElement *pParent, const char *Name)
|
|
{
|
|
LGUIGauge *pElement = new LGUIGauge(Type,pParent,Name);
|
|
Elements[pElement]=1;
|
|
return pElement;
|
|
}
|
|
|
|
virtual LSType *GetLSType();
|
|
}; |