NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
lyt_layout.hpp
1#pragma once
2#include <lib/nw4r/lyt/lyt_draw_info.hpp>
3#include <lib/nw4r/lyt/lyt_pane.hpp>
4#include <lib/nw4r/lyt/lyt_resource.hpp>
5#include <lib/nw4r/math/vec.hpp>
6#include <lib/nw4r/ut/rect.hpp>
7#include <lib/nw4r/ut/detail/link_list_impl.hpp>
8#include <_dummy_classes.hpp>
9
10namespace nw4r {
11namespace lyt {
12
13class Layout {
14public:
15 Layout();
16 virtual ~Layout();
17
18 virtual bool Build(const void *, ResourceAccessor *);
19 virtual AnimTransformBasic *CreateAnimTransform();
20 virtual AnimTransformBasic *CreateAnimTransform(const void *, ResourceAccessor *);
21 virtual AnimTransformBasic *CreateAnimTransform(const AnimResource &, ResourceAccessor *);
22 virtual void BindAnimation(AnimTransform *);
23 virtual void UnbindAnimation(AnimTransform *);
24 virtual void UnbindAllAnimation();
25 virtual bool BindAnimationAuto(const AnimResource &, ResourceAccessor *);
26 virtual void SetAnimationEnable(AnimTransform *, bool);
27 virtual void CalculateMtx(const DrawInfo &);
28 virtual void Draw(const DrawInfo &);
29 virtual void Animate(unsigned long);
30 virtual void SetTagProcessor(ut::TagProcessorBase<wchar_t> *);
31
32 ut::Rect GetLayoutRect() const;
33
34 static Pane *BuildPaneObj(long, const void *, const ResBlockSet &);
35
36private:
37 ut::detail::LinkListImpl mAnimTransList;
38 Pane *mpRootPane;
39 GroupContainer *mpGroupContainer;
40 math::VEC2 mSize;
41};
42
43} // namespace lyt
44} // namespace nw4r