76 lines
1.4 KiB
C++
76 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#define TR_TEXTURERECT 1
|
|
#define TR_ALPHA 2
|
|
#define TR_COLORMASK 4
|
|
#define TR_NOSIZE 8
|
|
#define TR_TEXTURETRIANGLE 16
|
|
|
|
struct LGUITexturedRect
|
|
{
|
|
public:
|
|
class LGUITexture *pTexture;
|
|
|
|
RECT Rect;
|
|
|
|
DWORD Flags;
|
|
RECT TextureRect;
|
|
unsigned char Alpha;
|
|
unsigned int ColorMask;
|
|
unsigned char Orientation;
|
|
};
|
|
|
|
struct LGUITriangle
|
|
{
|
|
POINT2F Point[3];
|
|
};
|
|
|
|
struct LGUITexturedTriangle
|
|
{
|
|
public:
|
|
class LGUITexture *pTexture;
|
|
|
|
LGUITriangle Triangle;
|
|
|
|
DWORD Flags;
|
|
LGUITriangle TextureTriangle;
|
|
unsigned char Alpha;
|
|
unsigned int ColorMask;
|
|
unsigned char Orientation;
|
|
};
|
|
|
|
class LGUITexture
|
|
{
|
|
public:
|
|
LGUITexture(const char *p_Name);
|
|
LGUITexture(const LGUITexture&);
|
|
~LGUITexture();
|
|
|
|
void CopyFrom(const LGUITexture &other);
|
|
|
|
LGUI_API static LGUITexture *New(const char *p_Name);
|
|
LGUI_API static LGUITexture *New(const LGUITexture&);
|
|
LGUI_API void Delete();
|
|
LGUI_API bool Prepare();
|
|
LGUI_API bool GetSize();
|
|
LGUI_API bool FromXML(class XMLNode *pXML);
|
|
LGUI_API bool FromXML(class XMLNode *pXML, class XMLNode *pTemplate);
|
|
|
|
LGUI_API void Set(const char *Filename, unsigned int ColorKey=0);
|
|
LGUI_API void SetFrom(const LGUITexture& other);
|
|
|
|
char *Name;
|
|
unsigned int TextureID;
|
|
unsigned int ColorKey;
|
|
|
|
DWORD Flags;
|
|
RECT TextureRect;
|
|
LGUITriangle TextureTriangle;
|
|
|
|
float Alpha;
|
|
unsigned int ColorMask;
|
|
unsigned int Border;
|
|
unsigned char Orientation;
|
|
};
|
|
|