1#pragma once
2
3#include <gfx/seadDrawLockContext.h>
4#include <heap/seadDisposer.h>
5
6namespace sead
7{
8// no content yet, just for the enum
9class Graphics : public IDisposer
10{
11 using UnknownCallback = void (*)(int);
12 static Graphics* sInstance;
13
14public:
15 enum DevicePosture
16 {
17 cDevicePosture_Same = 0,
18 cDevicePosture_RotateRight = 1,
19 cDevicePosture_RotateLeft = 2,
20 cDevicePosture_RotateHalfAround = 3,
21 cDevicePosture_FlipX = 4,
22 cDevicePosture_FlipY = 5,
23 cDevicePosture_FlipXY = 3,
24 cDevicePosture_Invalid = 4,
25 };
26
27 void lockDrawContext();
28 void unlockDrawContext();
29 void initHostIO();
30 void initializeDrawLockContext(Heap*);
31
32 static Graphics* instance() { return sInstance; }
33
34private:
35 UnknownCallback _20;
36 DrawLockContext* mDrawLockContext;
37};
38
39} // namespace sead
40