1#pragma once
2
3#include <gfx/seadColor.h>
4#include <math/seadVector.h>
5
6namespace al {
7class LayoutInitInfo;
8class SimpleLayoutText;
9
10class SimpleLayoutTextWrapper {
11public:
12 SimpleLayoutTextWrapper(SimpleLayoutText* simpleLayoutText);
13 SimpleLayoutTextWrapper* start(const sead::Vector2f& pos, const char* str, s32 lifetime);
14 SimpleLayoutTextWrapper* start(const sead::Vector2f& pos, const char16* str, s32 lifetime);
15 SimpleLayoutTextWrapper* setScale(f32 scale);
16 SimpleLayoutTextWrapper* setColor(const sead::Color4u8& color);
17 SimpleLayoutTextWrapper* setPos(const sead::Vector2f& pos);
18
19private:
20 SimpleLayoutText* mSimpleLayoutText;
21};
22
23struct SimpleLayoutTextHolderEntry {
24 SimpleLayoutTextHolderEntry(SimpleLayoutText* e) : text(e) {}
25
26 SimpleLayoutText* text;
27};
28
29class SimpleLayoutTextHolder {
30public:
31 SimpleLayoutTextHolder(s32 amount, const LayoutInitInfo& info, const char* name,
32 const char* paneName, const char* archiveName);
33 void reset();
34 SimpleLayoutTextHolderEntry* start(const sead::Vector2f& pos, const char* str);
35 SimpleLayoutTextHolderEntry* start(const sead::Vector2f& pos, const char16* str);
36
37private:
38 s32 mCurrentIndex = 0;
39 s32 mNumEntries = 0;
40 SimpleLayoutText** mLayouts;
41 SimpleLayoutTextHolderEntry** mEntries;
42};
43} // namespace al
44