metaforce/Runtime/GuiSys/CGuiStaticImage.hpp

47 lines
1.3 KiB
C++
Raw Normal View History

2016-03-10 03:47:37 +00:00
#ifndef __URDE_CGUISTATICIMAGE_HPP__
#define __URDE_CGUISTATICIMAGE_HPP__
#include "CGuiPane.hpp"
2016-03-17 22:19:25 +00:00
#include "CToken.hpp"
2016-03-10 03:47:37 +00:00
namespace urde
{
2016-03-17 22:19:25 +00:00
class CTexture;
2016-03-10 03:47:37 +00:00
class CGuiStaticImage : public CGuiPane
{
public:
enum class EMaterialType
{
2016-03-17 22:19:25 +00:00
OneTexture = 0,
TwoTextures = 1
};
2016-03-17 22:19:25 +00:00
private:
EMaterialType x114_materialType;
TLockedToken<CTexture> x118_texture1;
TLockedToken<CTexture> x11c_texture2;
2016-04-14 21:42:47 +00:00
ResId x120_textureID1;
ResId x124_textureID2;
2016-03-17 22:19:25 +00:00
EGuiTextureClampModeHorz x128_clampH;
EGuiTextureClampModeVert x12c_clampV;
std::vector<float> x130_clampedUVs;
std::vector<float> x140_UVs;
public:
CGuiStaticImage(const CGuiWidgetParms& parms, float xDim, float zDim,
const zeus::CVector3f& scaleCenter,
EGuiTextureClampModeHorz clampH, EGuiTextureClampModeVert clampV,
2016-04-14 21:42:47 +00:00
CGuiStaticImage::EMaterialType matType, ResId txtrId1, ResId txtrId2,
2016-03-17 22:19:25 +00:00
const std::vector<float>& frame, bool useTexture);
FourCC GetWidgetTypeID() const {return FOURCC('IMAG');}
void ScaleDimensions(const zeus::CVector3f& scale);
void Draw(const CGuiWidgetDrawParms& parms) const;
2016-04-14 21:42:47 +00:00
std::vector<ResId> GetTextureAssets() const;
2016-03-17 22:19:25 +00:00
static CGuiStaticImage* Create(CGuiFrame* frame, CInputStream& in, bool flag);
};
2016-03-10 03:47:37 +00:00
}
#endif // __URDE_CGUISTATICIMAGE_HPP__