mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-29 12:04:09 +00:00
44 lines
1 KiB
C++
44 lines
1 KiB
C++
#pragma once
|
|
|
|
#include <basis/seadTypes.h>
|
|
|
|
#include "Library/Execute/ExecutorListBase.h"
|
|
|
|
namespace agl {
|
|
class DrawContext;
|
|
}
|
|
|
|
namespace al {
|
|
struct ExecuteSystemInitInfo;
|
|
class LayoutActor;
|
|
|
|
class ExecutorListLayoutDrawBase : public ExecutorListBase {
|
|
public:
|
|
ExecutorListLayoutDrawBase(const char* name, s32 size, const ExecuteSystemInitInfo& initInfo);
|
|
|
|
bool isActive() const override;
|
|
void executeList() const override;
|
|
virtual void startDraw() const = 0;
|
|
|
|
void registerLayout(LayoutActor* layout);
|
|
|
|
agl::DrawContext* getContext() const { return mContext; }
|
|
|
|
private:
|
|
s32 mCapacity = 0;
|
|
s32 mSize = 0;
|
|
LayoutActor** mList = nullptr;
|
|
agl::DrawContext* mContext = nullptr;
|
|
};
|
|
|
|
static_assert(sizeof(ExecutorListLayoutDrawBase) == 0x28);
|
|
|
|
class ExecutorListLayoutDrawNormal : public ExecutorListLayoutDrawBase {
|
|
public:
|
|
ExecutorListLayoutDrawNormal(const char* name, s32 size, const ExecuteSystemInitInfo& initInfo);
|
|
|
|
void startDraw() const override;
|
|
};
|
|
|
|
} // namespace al
|