| 1 | #pragma once |
| 2 | |
| 3 | #include <gfx/seadDrawLockContext.h> |
| 4 | #include <heap/seadDisposer.h> |
| 5 | |
| 6 | namespace sead |
| 7 | { |
| 8 | // no content yet, just for the enum |
| 9 | class Graphics : public IDisposer |
| 10 | { |
| 11 | using UnknownCallback = void (*)(int); |
| 12 | static Graphics* sInstance; |
| 13 | |
| 14 | public: |
| 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 | |
| 34 | private: |
| 35 | UnknownCallback _20; |
| 36 | DrawLockContext* mDrawLockContext; |
| 37 | }; |
| 38 | |
| 39 | } // namespace sead |
| 40 | |