NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
lyt_pane.hpp
1#pragma once
2#include <lib/nw4r/lyt/lyt_draw_info.hpp>
3#include <lib/nw4r/ut/color.hpp>
4#include <lib/nw4r/math/vec.hpp>
5#include <_dummy_classes.hpp>
6
7namespace nw4r {
8namespace lyt {
9
10class Pane {
11public:
12
13 Pane(const res::Pane *);
14
15 virtual ~Pane();
16
17 virtual int *GetRuntimeTypeInfo() const { return &typeInfo; }
18 virtual void CalculateMtx(const DrawInfo &);
19 virtual void Draw(const DrawInfo &);
20 virtual void DrawSelf(const DrawInfo &);
21 virtual void Animate(unsigned long);
22 virtual void AnimateSelf(unsigned long);
23 virtual ut::Color GetVtxColor(unsigned long) const;
24 virtual ut::Color SetVtxColor(unsigned long, ut::Color);
25 virtual unsigned char GetColorElement(unsigned long) const;
26 virtual void SetColorElement(unsigned long, unsigned char);
27 virtual unsigned char GetVtxColorElement(unsigned long) const;
28 virtual void SetVtxColorElement(unsigned long, unsigned char);
29 virtual Pane *FindPaneByName(const char *, bool);
30 virtual Material *FindMaterialByName(const char *, bool);
31 virtual void BindAnimation(AnimTransform *, bool, bool);
32 virtual void UnbindAnimation(AnimTransform *, bool);
33 virtual void UnbindAllAnimation(bool);
34 virtual void UnbindAnimationSelf(AnimTransform *);
35 virtual void AddAnimationLink(AnimationLink *);
36 virtual ut::LinkList<AnimationLink, 0> *FindAnimationLinkSelf(AnimTransform *);
37 virtual ut::LinkList<AnimationLink, 0> *FindAnimationLinkSelf(const AnimResource &);
38 virtual void SetAnimationEnable(AnimTransform *, bool, bool);
39 virtual void SetAnimationEnable(const AnimResource &, bool, bool);
40 virtual bool GetMaterialNum() const;
41 virtual Material *GetMaterial() const;
42 virtual Material *GetMaterial(unsigned long) const;
43 virtual void LoadMtx(const nw4r::lyt::DrawInfo &);
44
45 void AppendChild(nw4r::lyt::Pane *);
46 void RemoveChild(nw4r::lyt::Pane *);
47
48 math::VEC2 GetVtxPos() const;
49 unsigned short GetExtUserDataNum() const;
50 void *FindExtUserDataByName(const char *);
51
52 void setVisible(bool visible) {
53 mFlags = (mFlags & 0xfe) | visible;
54 }
55
56 void setScale(const math::VEC2 &scale) { mScale = scale; }
57 void setAlpha(u8 alpha) { mAlpha = alpha; }
58
59public:
60 char mFill1[0x28]; // To be RE'd
61 math::VEC3 mPos;
62 math::VEC3 mRot;
63 math::VEC2 mScale;
64private:
65 float width;
66 float height;
67 char mFill2[0x64]; // To be RE'd
68 u8 mAlpha;
69 u8 mField_b9;
70 u8 mOriginType;
71
72public:
73 u8 mFlags;
74
75 static int typeInfo;
76};
77
78} // namespace lyt
79} // namespace nw4r
2D graphics drawing library.
A three-dimensional floating point vector.
Definition vec.hpp:22
A 32-bit RGBA color.
Definition color.hpp:8