NW4F Lyt
Loading...
Searching...
No Matches
lyt_Pane.h
Go to the documentation of this file.
1#ifndef NW_LYT_PANE_H_
2#define NW_LYT_PANE_H_
3
4#include <nw/ut/ut_Color.h>
5#include <nw/ut/ut_LinkList.h>
6#include <nw/ut/ut_RuntimeTypeInfo.h>
7
8#include <nw/lyt/lyt_Types.h>
9
10namespace nw { namespace lyt { namespace internal {
11
13{
15
16public:
18 virtual ~PaneBase();
19
20public:
22};
23static_assert(sizeof(PaneBase) == 0xC);
24
25} } } // namespace nw::lyt::internal
26
27namespace nw { namespace lyt { namespace res {
28
29struct ExtUserDataList;
30
31} } } // namespace nw::lyt::res
32
33namespace nw { namespace lyt {
34
35class AnimTransform;
36class Material;
37class DrawInfo;
38class Pane;
39
41
42// TODO
43class Pane : public internal::PaneBase
44{
45public:
47
48public:
50 virtual ~Pane();
51
52 virtual const ut::Color8 GetVtxColor(u32 idx) const; // deleted
53 virtual void SetVtxColor(u32 idx, ut::Color8 value); // deleted
54
55 virtual u8 GetColorElement(u32 idx) const; // deleted
56 virtual void SetColorElement(u32 idx, u8 value);
57
58 virtual u8 GetVtxColorElement(u32 idx) const; // deleted
59 virtual void SetVtxColorElement(u32 idx, u8 value);
60
61 virtual Material* GetMaterial(u32 idx) const;
62 virtual u8 GetMaterialNum() const;
63
64 virtual Pane* FindPaneByName(const char* findName, bool bRecursive = true);
65 virtual Material* FindMaterialByName(const char* findName, bool bRecursive = true);
66
67 virtual void BindAnimation(AnimTransform* pAnimTrans, bool bRecursive = true, bool bEnable = true); // deleted
68 virtual void UnbindAnimation(AnimTransform* pAnimTrans, bool bRecursive = true); // deleted
69 virtual void UnbindAnimationSelf(AnimTransform* pAnimTrans); // deleted
70
72 {
73 // TODO
74 };
75
76 virtual void CalculateMtx(CalculateMtxContext& context, bool isDirtyParentMtx);
77 virtual void Draw(DrawInfo& drawInfo);
78 virtual void DrawSelf(DrawInfo& drawInfo);
79
80protected:
81 virtual void LoadMtx(DrawInfo& drawInfo);
82 virtual Pane* FindPaneByNameRecursive(const char* findName);
83 virtual Material* FindMaterialByNameRecursive(const char* findName);
84
85private:
92
93 // NW_STATIC_ASSERT((
94 // sizeof(math::VEC3) + // m_Translate
95 // sizeof(math::VEC3) + // m_Rotate
96 // sizeof(math::VEC2) + // m_Scale
97 // sizeof(Size)) / // m_Size
98 // sizeof(f32) == ANIMTARGET_PANE_MAX
99 // );
100
107 const res::ExtUserDataList* m_pExtUserDataList;
110};
111static_assert(sizeof(Pane) == 0xA4);
112
113} } // namespace nw::lyt
114
115#endif // NW_LYT_PANE_H_
Definition lyt_DrawInfo.h:13
Definition lyt_Pane.h:44
virtual void CalculateMtx(CalculateMtxContext &context, bool isDirtyParentMtx)
virtual u8 GetMaterialNum() const
const res::ExtUserDataList * m_pExtUserDataList
Definition lyt_Pane.h:107
virtual Pane * FindPaneByName(const char *findName, bool bRecursive=true)
virtual Material * FindMaterialByName(const char *findName, bool bRecursive=true)
math::VEC2 m_Scale
Definition lyt_Pane.h:90
virtual void Draw(DrawInfo &drawInfo)
virtual ~Pane()
math::MTX34 m_GlbMtx
Definition lyt_Pane.h:105
virtual Material * FindMaterialByNameRecursive(const char *findName)
virtual const ut::Color8 GetVtxColor(u32 idx) const
Pane * m_pParent
Definition lyt_Pane.h:86
u8 m_Alpha
Definition lyt_Pane.h:102
virtual void UnbindAnimation(AnimTransform *pAnimTrans, bool bRecursive=true)
NW_UT_RUNTIME_TYPEINFO_ROOT()
virtual void SetColorElement(u32 idx, u8 value)
virtual void DrawSelf(DrawInfo &drawInfo)
char m_UserData[UserDataStrMax+1]
Definition lyt_Pane.h:109
u8 m_GlbAlpha
Definition lyt_Pane.h:103
u8 m_Flag
Definition lyt_Pane.h:101
virtual void SetVtxColorElement(u32 idx, u8 value)
u8 m_BasePosition
Definition lyt_Pane.h:104
virtual void UnbindAnimationSelf(AnimTransform *pAnimTrans)
virtual void SetVtxColor(u32 idx, ut::Color8 value)
math::VEC3 m_Rotate
Definition lyt_Pane.h:89
virtual u8 GetVtxColorElement(u32 idx) const
char m_Name[ResourceNameStrMax+1]
Definition lyt_Pane.h:108
Size m_Size
Definition lyt_Pane.h:91
virtual Pane * FindPaneByNameRecursive(const char *findName)
PaneList m_ChildList
Definition lyt_Pane.h:87
virtual Material * GetMaterial(u32 idx) const
math::VEC3 m_Translate
Definition lyt_Pane.h:88
const math::MTX34 * m_UserMtx
Definition lyt_Pane.h:106
virtual u8 GetColorElement(u32 idx) const
virtual void BindAnimation(AnimTransform *pAnimTrans, bool bRecursive=true, bool bEnable=true)
virtual void LoadMtx(DrawInfo &drawInfo)
Definition lyt_Pane.h:13
ut::LinkListNode m_Link
Definition lyt_Pane.h:21
Definition lyt_Pane.h:10
Definition lyt_Pane.h:27
Definition lyt_Animator.h:6
const int UserDataStrMax
Definition lyt_Types.h:12
const int ResourceNameStrMax
Definition lyt_Types.h:10
ut::LinkList< Pane, offsetof(internal::PaneBase, m_Link)> PaneList
Definition lyt_Pane.h:40
Definition lyt_Pane.h:72
Definition lyt_Types.h:28