1#pragma once
2
3#include <math/seadMatrix.h>
4#include <math/seadVector.h>
5
6namespace nn::ui2d {
7class TextureInfo;
8}
9
10namespace sead {
11class Color4u8;
12}
13
14namespace agl {
15class TextureData;
16}
17
18namespace al {
19class LayoutActor;
20class LayoutPaneGroup;
21class IUseLayout;
22class MessageHolder;
23
24template <typename T>
25class Matrix43;
26
27typedef Matrix43<f32> Matrix43f;
28
29bool killLayoutIfActive(LayoutActor*);
30bool appearLayoutIfDead(LayoutActor*);
31bool isActive(const LayoutActor*);
32bool isDead(const LayoutActor*);
33void calcTrans(sead::Vector3f*, const IUseLayout*);
34sead::Vector2f getLocalTrans(const IUseLayout*);
35sead::Vector2f* getLocalTransPtr(const IUseLayout*);
36void calcScale(sead::Vector3f*, const IUseLayout*);
37f32 getLocalScale(const IUseLayout*);
38void setLocalTrans(IUseLayout*, const sead::Vector3f&);
39void setLocalTrans(IUseLayout*, const sead::Vector2f&);
40void setLocalScale(IUseLayout*, f32);
41void setLocalScale(IUseLayout*, const sead::Vector2f&);
42void setLocalAlpha(IUseLayout*, f32);
43void calcPaneTrans(sead::Vector3f*, const IUseLayout*, const char*);
44void calcPaneMtx(sead::Matrix34f*, const IUseLayout*, const char*);
45void calcPaneTrans(sead::Vector2f*, const IUseLayout*, const char*);
46void calcPaneScale(sead::Vector3f*, const IUseLayout*, const char*);
47void calcPaneSize(sead::Vector3f*, const IUseLayout*, const char*);
48const Matrix43f& getPaneMtx(const IUseLayout*, const char*);
49const Matrix43f* getPaneMtxRaw(const IUseLayout*, const char*);
50f32 getGlobalAlpha(const IUseLayout*, const char*);
51void setPaneLocalTrans(IUseLayout*, const char*, const sead::Vector2f&);
52void setPaneLocalTrans(IUseLayout*, const char*, const sead::Vector3f&);
53void setPaneLocalRotate(IUseLayout*, const char*, const sead::Vector3f&);
54void setPaneLocalScale(IUseLayout*, const char*, const sead::Vector2f&);
55void setPaneLocalSize(IUseLayout*, const char*, const sead::Vector2f&);
56void setPaneLocalAlpha(IUseLayout*, const char*, f32);
57sead::Vector3f getPaneLocalTrans(const IUseLayout*, const char*);
58void getPaneLocalSize(sead::Vector2f*, const IUseLayout*, const char*);
59const sead::Vector3f& getPaneLocalRotate(const IUseLayout*, const char*);
60const sead::Vector3f& getPaneLocalScale(const IUseLayout*, const char*);
61const sead::Vector3f& getTextBoxDrawRectSize(const IUseLayout*, const char*);
62void showPane(IUseLayout*, const char*);
63void hidePane(IUseLayout*, const char*);
64void showPaneNoRecursive(IUseLayout*, const char*);
65void hidePaneNoRecursive(IUseLayout*, const char*);
66bool isHidePane(const IUseLayout*, const char*);
67void showPaneRoot(IUseLayout*);
68void hidePaneRoot(IUseLayout*);
69void showPaneRootNoRecursive(IUseLayout*);
70void hidePaneRootNoRecursive(IUseLayout*);
71bool isHidePaneRoot(const IUseLayout*);
72bool isExistPane(const IUseLayout*, const char*);
73bool isContainPointPane(const IUseLayout*, const char*, const sead::Vector2f&);
74void findHitPaneFromLayoutPos(const IUseLayout*, const sead::Vector2f&);
75bool isExistHitPaneFromLayoutPos(const IUseLayout*, const sead::Vector2f&);
76void findHitPaneFromScreenPos(const IUseLayout*, const sead::Vector2f&);
77bool isExistHitPaneFromScreenPos(const IUseLayout*, const sead::Vector2f&);
78bool isTouchPosInPane(const IUseLayout*, const char*);
79void setCursorPanePos(IUseLayout*, const IUseLayout*);
80void setPaneVtxColor(const IUseLayout*, const char*, const sead::Color4u8&);
81bool isTriggerTouchPane(const IUseLayout*, const char*);
82bool isHoldTouchPane(const IUseLayout*, const char*);
83bool isReleaseTouchPane(const IUseLayout*, const char*);
84s32 getPaneChildNum(const IUseLayout*, const char*);
85const char* getPaneChildName(const IUseLayout*, const char*, s32);
86void setPaneStringLength(IUseLayout*, const char*, const char16*, u16, u16);
87void setPaneString(IUseLayout*, const char*, const char16*, u16);
88void setPaneCounterDigit1(IUseLayout*, const char*, s32, u16);
89void setPaneCounterDigit2(IUseLayout*, const char*, s32, u16);
90void setPaneCounterDigit3(IUseLayout*, const char*, s32, u16);
91void setPaneCounterDigit4(IUseLayout*, const char*, s32, u16);
92void setPaneCounterDigit5(IUseLayout*, const char*, s32, u16);
93void setPaneCounterDigit6(IUseLayout*, const char*, s32, u16);
94void setPaneNumberDigit1(IUseLayout*, const char*, s32, u16);
95void setPaneNumberDigit2(IUseLayout*, const char*, s32, u16);
96void setPaneNumberDigit3(IUseLayout*, const char*, s32, u16);
97void setPaneNumberDigit4(IUseLayout*, const char*, s32, u16);
98void setPaneNumberDigit5(IUseLayout*, const char*, s32, u16);
99void setPaneStringFormat(IUseLayout*, const char*, const char*, ...);
100void setTextPositionCenterH(IUseLayout*, const char*);
101void initPaneMessage(IUseLayout*, const char*, const MessageHolder*, const char*, u32);
102void setPaneSystemMessage(LayoutActor*, const char*, const char*, const char*);
103void setPaneStageMessage(LayoutActor*, const char*, const char*, const char*);
104const char16* getPaneStringBuffer(const IUseLayout*, const char*);
105s32 getPaneStringBufferLength(const IUseLayout*, const char*);
106void setTextBoxPaneFont(const LayoutActor*, const char*, const char*);
107void adjustPaneSizeToTextSizeAll(const LayoutActor*);
108void requestCaptureRecursive(const LayoutActor*);
109void setRubyScale(const LayoutActor*, f32);
110nn::ui2d::TextureInfo* createTextureInfo();
111nn::ui2d::TextureInfo* createTextureInfo(const agl::TextureData&);
112nn::ui2d::TextureInfo* createTextureInfo(const IUseLayout*, const char*);
113void getPaneTextureInfo(nn::ui2d::TextureInfo*, const IUseLayout*, const char*);
114nn::ui2d::TextureInfo* createTextureInfo(const char*, const char*, const char*);
115void updateTextureInfo(nn::ui2d::TextureInfo*, const agl::TextureData&);
116void setPaneTexture(IUseLayout*, const char*, const nn::ui2d::TextureInfo*);
117void registerLayoutPartsActor(LayoutActor*, LayoutActor*);
118void updateLayoutPaneRecursive(LayoutActor*);
119s32 getLayoutPaneGroupNum(LayoutActor*);
120LayoutPaneGroup* getLayoutPaneGroup(LayoutActor*, s32);
121} // namespace al
122