70 lines
1.6 KiB
C++
70 lines
1.6 KiB
C++
#pragma once
|
|
#include "LGUIelement.h"
|
|
|
|
enum eTextAlign
|
|
{
|
|
ALIGN_LEFT=0,
|
|
ALIGN_CENTER=1,
|
|
ALIGN_RIGHT=2,
|
|
|
|
VALIGN_TOP=3,
|
|
VALIGN_CENTER=4,
|
|
VALIGN_BOTTOM=5,
|
|
};
|
|
|
|
struct _CreateText : public _CreateElement
|
|
{
|
|
char *Text;
|
|
_CreateFont Font;
|
|
// char *Font;
|
|
// unsigned int FontSize;
|
|
// unsigned int Color;
|
|
|
|
bool bWrap;
|
|
eTextAlign Alignment;
|
|
eTextAlign VerticalAlignment;
|
|
};
|
|
|
|
class LGUIText : public LGUIElement
|
|
{
|
|
public:
|
|
LGUI_API LGUIText(const char *p_Factory, LGUIElement *p_pParent, const char *p_Name);
|
|
LGUI_API ~LGUIText(void);
|
|
LGUI_API bool IsTypeOf(char *TestFactory);
|
|
LGUI_API class LSTypeDefinition *GetLSType();
|
|
|
|
LGUI_API static size_t SplitFixed(char *Value, size_t MaxChars, size_t &Width);
|
|
LGUI_API static size_t Split(char *Value, size_t MaxWidth, LGUIFont *pFont, size_t &Width);
|
|
LGUI_API size_t Split(char *Value);
|
|
|
|
LGUI_API void Render();
|
|
LGUI_API bool RenderCustom();
|
|
|
|
LGUI_API void Create(_CreateText &CreateInfo, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void RenderLeft(char *Value);
|
|
LGUI_API void RenderCenter(char *Value);
|
|
LGUI_API void RenderRight(char *Value);
|
|
LGUI_API void RecalculateSize(bool RecalculateChildren);
|
|
|
|
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate=0);
|
|
|
|
LGUI_API void SetText(char *NewText);
|
|
LGUI_API void SetHorizontalAlignment(eTextAlign value);
|
|
LGUI_API void SetVerticalAlignment(eTextAlign value);
|
|
LGUI_API void SetWrap(bool value);
|
|
|
|
// -- XML Properties --
|
|
char *Text;
|
|
LGUIFont *pFont;
|
|
|
|
bool bWrap;
|
|
eTextAlign Alignment;
|
|
eTextAlign VerticalAlignment;
|
|
// --------------------
|
|
|
|
char *NonVariable;
|
|
size_t nLines;
|
|
};
|