OdysseyDecomp/lib/al/Library/Layout/LayoutSystem.h
2025-12-24 15:30:24 +01:00

56 lines
1.2 KiB
C++

#pragma once
#include <basis/seadTypes.h>
namespace agl {
class DrawContext;
}
namespace nn::ui2d {
class DrawInfo;
}
namespace al {
class EffectSystem;
class ExecuteDirector;
class FontHolder;
class LayoutSystem;
class LayoutKit {
public:
LayoutKit(FontHolder*);
~LayoutKit();
void createCameraParamForIcon();
void createExecuteDirector(s32);
void createEffectSystem();
void endInit();
void update();
void draw(const char*) const;
void drawList(const char*, const char*) const;
void setLayoutSystem(LayoutSystem*);
void setDrawContext(agl::DrawContext*);
void setEffectSystem(EffectSystem* effectSystem) { mEffectSystem = effectSystem; }
ExecuteDirector* getExecuteDirector() const { return mExecuteDirector; }
EffectSystem* getEffectSystem() const { return mEffectSystem; }
nn::ui2d::DrawInfo* getDrawInfo() const { return mDrawInfo; }
agl::DrawContext* getDrawContext() const { return mDrawContext; }
private:
FontHolder* mFontHolder;
ExecuteDirector* mExecuteDirector;
EffectSystem* mEffectSystem;
LayoutSystem* mLayoutSystem;
agl::DrawContext* mDrawContext;
nn::ui2d::DrawInfo* mDrawInfo;
};
static_assert(sizeof(LayoutKit) == 0x30);
} // namespace al