sead
Loading...
Searching...
No Matches
aglRenderStep.h
Go to the documentation of this file.
1#pragma once
2
3#include <container/seadPtrArray.h>
4#include <prim/seadBitFlag.h>
5
6namespace agl { namespace lyr {
7
8class DrawMethod;
9class RenderInfo;
10
12{
13public:
15 virtual ~RenderStep() {}
16
17 void draw(const RenderInfo& render_info) const;
18
19 bool pushBack(DrawMethod* p_method);
20 s32 remove(const DrawMethod* p_method);
21
22 void setEnable(bool enable)
23 {
24 mFlag.changeBit(0, enable);
25 }
26
27 bool isEnable() const
28 {
29 return mFlag.isOnBit(0);
30 }
31
32protected:
34 sead::BitFlag32 mFlag; // & 1: render
35};
36static_assert(sizeof(RenderStep) == 0x414, "agl::lyr::RenderStep size mismatch");
37
38} }
Definition aglDrawMethod.h:12
Definition aglRenderInfo.h:23
Definition aglRenderStep.h:12
bool isEnable() const
Definition aglRenderStep.h:27
sead::BitFlag32 mFlag
Definition aglRenderStep.h:34
void setEnable(bool enable)
Definition aglRenderStep.h:22
bool pushBack(DrawMethod *p_method)
Definition aglRenderStep.cpp:6
s32 remove(const DrawMethod *p_method)
Definition aglRenderStep.cpp:17
void draw(const RenderInfo &render_info) const
virtual ~RenderStep()
Definition aglRenderStep.h:15
sead::FixedPtrArray< DrawMethod, 256 > mpDrawMethod
Definition aglRenderStep.h:33
Definition seadPtrArray.h:291
Definition aglDrawMethod.cpp:4
Definition aglDisplayList.cpp:5
Definition seadAssert.h:44
BitFlag< u32 > BitFlag32
Definition seadBitFlag.h:125