2016-03-10 03:47:37 +00:00
|
|
|
#ifndef __URDE_CGUILIGHT_HPP__
|
|
|
|
#define __URDE_CGUILIGHT_HPP__
|
|
|
|
|
|
|
|
#include "CGuiWidget.hpp"
|
2016-03-12 04:58:56 +00:00
|
|
|
#include "Graphics/CLight.hpp"
|
2016-03-10 03:47:37 +00:00
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
2017-01-22 01:40:12 +00:00
|
|
|
class CSimplePool;
|
2016-03-10 03:47:37 +00:00
|
|
|
|
2016-03-12 04:58:56 +00:00
|
|
|
class CGuiLight : public CGuiWidget
|
|
|
|
{
|
2016-03-16 20:49:35 +00:00
|
|
|
ELightType xf8_type;
|
|
|
|
float xfc_spotCutoff;
|
|
|
|
float x100_distC;
|
|
|
|
float x104_distL;
|
|
|
|
float x108_distQ;
|
|
|
|
float x10c_angleC;
|
|
|
|
float x110_angleL;
|
|
|
|
float x114_angleQ;
|
|
|
|
u32 x118_loadedIdx;
|
|
|
|
zeus::CColor x11c_color = zeus::CColor::skBlack;
|
2016-03-12 04:58:56 +00:00
|
|
|
public:
|
2016-03-16 20:49:35 +00:00
|
|
|
~CGuiLight();
|
2016-03-12 04:58:56 +00:00
|
|
|
CGuiLight(const CGuiWidgetParms& parms, const CLight& light);
|
2017-01-29 03:58:16 +00:00
|
|
|
FourCC GetWidgetTypeID() const { return FOURCC('LITE'); }
|
2016-03-15 04:55:57 +00:00
|
|
|
|
|
|
|
CLight BuildLight() const;
|
2016-03-16 20:49:35 +00:00
|
|
|
void SetIsVisible(bool vis);
|
2016-03-15 04:55:57 +00:00
|
|
|
u32 GetLoadedIdx() const {return x118_loadedIdx;}
|
2016-03-17 02:18:01 +00:00
|
|
|
const zeus::CColor& GetColor() const {return x11c_color;}
|
2016-03-15 04:55:57 +00:00
|
|
|
|
2017-01-22 01:40:12 +00:00
|
|
|
static std::shared_ptr<CGuiWidget> Create(CGuiFrame* frame, CInputStream& in, CSimplePool* sp);
|
|
|
|
|
|
|
|
std::shared_ptr<CGuiLight> shared_from_this()
|
|
|
|
{ return std::static_pointer_cast<CGuiLight>(CGuiObject::shared_from_this()); }
|
2016-03-12 04:58:56 +00:00
|
|
|
};
|
2016-03-10 03:47:37 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_CGUILIGHT_HPP__
|