Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
layout.h
Go to the documentation of this file.
1#ifndef NW4HBM_LYT_LAYOUT_H
2#define NW4HBM_LYT_LAYOUT_H
3
4#include <revolution/mem.h>
5#include <revolution/types.h>
6
7#include "animation.h"
8#include "drawInfo.h"
9#include "group.h"
10#include "lyt_types.h"
11#include "resourceAccessor.h"
12
13
14#include "../ut/LinkList.h"
17
18#include "macros.h"
19
20namespace nw4hbm {
21 namespace lyt {
22
23 class Layout {
24 public:
25 Layout();
26
27 /* 0x08 */ virtual ~Layout();
28 /* 0x0C */ virtual bool Build(const void* lytResBuf, ResourceAccessor* pResAcsr);
29 /* 0x10 */ virtual AnimTransform* CreateAnimTransform(const void* anmResBuf,
30 ResourceAccessor* pResAcsr);
31 /* 0x14 */ virtual void BindAnimation(AnimTransform* animTrans);
32 /* 0x18 */ virtual void UnbindAnimation(AnimTransform* animTrans);
33 /* 0x1C */ virtual void UnbindAllAnimation();
34 /* 0x20 */ virtual void SetAnimationEnable(AnimTransform* animTrans,
35 bool bEnable = true);
36 /* 0x24 */ virtual void CalculateMtx(const DrawInfo& drawInfo);
37 /* 0x28 */ virtual void Draw(const DrawInfo& drawInfo);
38 /* 0x2C */ virtual void Animate(u32 option = 0);
39 /* 0x30 */ virtual void SetTagProcessor(ut::WideTagProcessor* pTagProcessor) NO_INLINE;
40
41 const ut::Rect GetLayoutRect() const;
42 Pane* GetRootPane() const { return mpRootPane; }
44
46 static void SetAllocator(MEMAllocator* allocator) { mspAllocator = allocator; }
47
49 static void FreeMemory(void* ptr) { MEMFreeToAllocator(mspAllocator, ptr); }
50
51 static Pane* BuildPaneObj(s32 kind, const void* dataPtr,
52 const ResBlockSet& resBlockSet) NO_INLINE;
53
54 private:
55 /* 0x00 (vtable) */
57 /* 0x10 */ Pane* mpRootPane;
59 /* 0x18 */ Size mLayoutSize;
60 /* 0x20 */ u8 mOriginType;
61
63 };
64
65 } // namespace lyt
66} // namespace nw4hbm
67
68#endif
Definition animation.h:127
Definition drawInfo.h:13
Definition group.h:48
Definition layout.h:23
static void * AllocMemory(u32 size)
Definition layout.h:48
static void FreeMemory(void *ptr)
Definition layout.h:49
Layout()
Definition lyt_layout.cpp:82
Size mLayoutSize
Definition layout.h:59
const ut::Rect GetLayoutRect() const
Definition lyt_layout.cpp:314
Pane * GetRootPane() const
Definition layout.h:42
u8 mOriginType
Definition layout.h:60
virtual void Animate(u32 option=0)
Definition lyt_layout.cpp:308
static MEMAllocator * mspAllocator
Definition layout.h:62
AnimTransformList mAnimTransList
Definition layout.h:56
GroupContainer * mpGroupContainer
Definition layout.h:58
virtual AnimTransform * CreateAnimTransform(const void *anmResBuf, ResourceAccessor *pResAcsr)
Definition lyt_layout.cpp:216
static void SetAllocator(MEMAllocator *allocator)
Definition layout.h:46
virtual void CalculateMtx(const DrawInfo &drawInfo)
Definition lyt_layout.cpp:296
virtual void UnbindAnimation(AnimTransform *animTrans)
Definition lyt_layout.cpp:280
virtual void SetAnimationEnable(AnimTransform *animTrans, bool bEnable=true)
Definition lyt_layout.cpp:290
virtual void SetTagProcessor(ut::WideTagProcessor *pTagProcessor) NO_INLINE
Definition lyt_layout.cpp:323
virtual ~Layout()
Definition lyt_layout.cpp:85
virtual void UnbindAllAnimation()
Definition lyt_layout.cpp:286
GroupContainer * GetGroupContainer() const
Definition layout.h:43
virtual bool Build(const void *lytResBuf, ResourceAccessor *pResAcsr)
Definition lyt_layout.cpp:107
virtual void BindAnimation(AnimTransform *animTrans)
Definition lyt_layout.cpp:274
static MEMAllocator * GetAllocator()
Definition layout.h:45
virtual void Draw(const DrawInfo &drawInfo)
Definition lyt_layout.cpp:302
Pane * mpRootPane
Definition layout.h:57
static Pane * BuildPaneObj(s32 kind, const void *dataPtr, const ResBlockSet &resBlockSet) NO_INLINE
Definition lyt_layout.cpp:327
Definition pane.h:42
Definition resourceAccessor.h:13
Definition Rect.h:11
Definition TextWriterBase.h:19
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
void MEMFreeToAllocator(MEMAllocator *pAllocator, void *pBlock)
Definition mem_allocator.c:16
void * MEMAllocFromAllocator(MEMAllocator *pAllocator, u32 size)
Definition mem_allocator.c:12
Definition HBMAnmController.h:6
Definition allocator.h:21
Definition resources.h:282
Definition lyt_types.h:125