Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
textBox.h
Go to the documentation of this file.
1#ifndef NW4HBM_LYT_TEXTBOX_H
2#define NW4HBM_LYT_TEXTBOX_H
3
4#include "common.h"
5#include "pane.h"
6
11
12namespace nw4hbm {
13namespace lyt {
14
15class TextBox : public Pane {
16public:
17 TextBox(u16 allocStrLen, const wchar_t* str, const ut::Font* pFont);
18 TextBox(const res::TextBox* pBlock, const ResBlockSet& resBlockSet);
19
20 /* 0x08 */ virtual ~TextBox();
22 /* 0x18 */ virtual void DrawSelf(const DrawInfo& drawInfo);
23 /* 0x24 */ virtual ut::Color GetVtxColor(u32 idx) const;
24 /* 0x28 */ virtual void SetVtxColor(u32 idx, ut::Color value);
25 /* 0x34 */ virtual u8 GetVtxColorElement(u32 idx) const;
26 /* 0x38 */ virtual void SetVtxColorElement(u32 idx, u8 value);
27 /* 0x64 */ virtual void AllocStringBuffer(u16 size);
28 /* 0x68 */ virtual void FreeStringBuffer();
29 /* 0x6C */ virtual u16 SetString(const wchar_t* str, u16 dstIdx = 0);
30 /* 0x70 */ virtual u16 SetString(const wchar_t* str, u16 dstIdx, u16 strLen);
31
32 const Size& GetFontSize() const { return mFontSize; }
33
34 void SetFontSize(const Size& fontSize) { mFontSize = fontSize; }
35 void SetTagProcessor(ut::WideTagProcessor* pTagProcessor) { mpTagProcessor = pTagProcessor; }
36
38
39 f32 GetTextMagH() const;
40 f32 GetTextMagV() const;
41
44
45 const ut::Color GetTextColor(u32 type) const {
46 NW4HBM_ASSERT(95, type < TEXTCOLOR_MAX);
47 return mTextColors[type];
48 }
49
50 void SetTextColor(u32 type, ut::Color value) {
51 NW4HBM_ASSERT(96, type < TEXTCOLOR_MAX);
52 mTextColors[type] = value;
53 }
54
57
58 const ut::Font* GetFont() const;
59 void SetFont(const ut::Font* pFont);
60
61 void Init(u16 allocStrLen);
62
63 const ut::Rect GetTextDrawRect(const DrawInfo& drawInfo) const;
64 const ut::Rect GetTextDrawRect(ut::WideTextWriter* pWriter) const;
65
66private:
67 /* 0x00 (base) */
68 /* 0xD4 */ wchar_t* mTextBuf;
70 /* 0xE0 */ const ut::Font* mpFont;
71 /* 0xE4 */ Size mFontSize;
72 /* 0xEC */ f32 mLineSpace;
73 /* 0xF0 */ f32 mCharSpace;
75 /* 0xF8 */ u16 mTextBufBytes;
76 /* 0xFA */ u16 mTextLen;
77 /* 0xFC */ u8 mTextPosition;
78
79 /* 0xFD */ struct {
82};
83} // namespace lyt
84} // namespace nw4hbm
85
86#endif
Definition drawInfo.h:13
Definition pane.h:42
void Init()
Definition lyt_pane.cpp:69
Definition textBox.h:15
ut::WideTagProcessor * mpTagProcessor
Definition textBox.h:74
virtual u16 SetString(const wchar_t *str, u16 dstIdx=0)
Definition lyt_textBox.cpp:449
u16 GetStringBufferLength() const
Definition lyt_textBox.cpp:413
f32 GetTextMagH() const
Definition lyt_textBox.cpp:514
void SetFont(const ut::Font *pFont)
Definition lyt_textBox.cpp:483
u16 mTextBufBytes
Definition textBox.h:75
virtual ut::Color GetVtxColor(u32 idx) const
Definition lyt_textBox.cpp:314
virtual void SetVtxColorElement(u32 idx, u8 value)
Definition lyt_textBox.cpp:329
void SetFontSize(const Size &fontSize)
Definition textBox.h:34
u16 mTextLen
Definition textBox.h:76
f32 mLineSpace
Definition textBox.h:72
u8 allocFont
Definition textBox.h:80
virtual void FreeStringBuffer()
Definition lyt_textBox.cpp:441
NW4HBM_UT_RUNTIME_TYPEINFO
Definition textBox.h:21
virtual u8 GetVtxColorElement(u32 idx) const
Definition lyt_textBox.cpp:324
virtual void DrawSelf(const DrawInfo &drawInfo)
Definition lyt_textBox.cpp:356
const ut::Color GetTextColor(u32 type) const
Definition textBox.h:45
const ut::Rect GetTextDrawRect(const DrawInfo &drawInfo) const
Definition lyt_textBox.cpp:334
virtual ~TextBox()
Definition lyt_textBox.cpp:302
void SetTextColor(u32 type, ut::Color value)
Definition textBox.h:50
void SetTextPositionV(u8 pos)
Definition textBox.h:56
const Size & GetFontSize() const
Definition textBox.h:32
wchar_t * mTextBuf
Definition textBox.h:68
u8 GetTextPositionH() const
Definition textBox.h:42
virtual void AllocStringBuffer(u16 size)
Definition lyt_textBox.cpp:423
Size mFontSize
Definition textBox.h:71
u8 mTextPosition
Definition textBox.h:77
struct nw4hbm::lyt::TextBox::@61 mTextBoxFlag
const ut::Font * mpFont
Definition textBox.h:70
f32 GetTextMagV() const
Definition lyt_textBox.cpp:536
virtual void SetVtxColor(u32 idx, ut::Color value)
Definition lyt_textBox.cpp:319
void SetTagProcessor(ut::WideTagProcessor *pTagProcessor)
Definition textBox.h:35
f32 mCharSpace
Definition textBox.h:73
ut::Color mTextColors[TEXTCOLOR_MAX]
Definition textBox.h:69
TextBox(u16 allocStrLen, const wchar_t *str, const ut::Font *pFont)
Definition lyt_textBox.cpp:208
void SetTextPositionH(u8 pos)
Definition textBox.h:55
const ut::Font * GetFont() const
Definition lyt_textBox.cpp:479
u8 GetTextPositionV() const
Definition textBox.h:43
Definition Font.h:33
Definition Rect.h:11
Definition TextWriterBase.h:19
Definition TextWriterBase.h:22
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
u8 GetVerticalPosition(u8 var)
Definition common.h:92
void SetVerticalPosition(u8 *pVar, u8 newVal)
Definition common.h:100
void SetHorizontalPosition(u8 *pVar, u8 newVal)
Definition common.h:96
u8 GetHorizontalPosition(u8 var)
Definition common.h:88
@ TEXTCOLOR_MAX
Definition lyt_types.h:59
Definition HBMAnmController.h:6
Definition resources.h:282
Definition lyt_types.h:125
Definition resources.h:205
Definition Color.h:10