Files
palladium/tests/gfx/include/os-ctx.hpp
T

38 lines
749 B
C++
Raw Normal View History

2026-03-21 14:43:16 +01:00
#pragma once
#include <palladium>
enum class Driver {
Unknown = 0,
OpenGL2 = 1,
OpenGL3 = 2,
DirectX9 = 3,
Citro3D = 4,
};
namespace PD {
class OsCtx {
public:
OsCtx(Driver d) : pDriver(d) {}
virtual ~OsCtx() {}
virtual void Init() {}
virtual void Deinit() {}
virtual bool Mainloop() { return false; }
virtual void ClearViewPort() {}
virtual void SwapBuffers() {}
PD::fvec2 PositionTranslate(PD::fvec2 in) {
2026-03-21 14:43:16 +01:00
return fvec2(in.x * pViewPort.x, in.y * pViewPort.y);
}
PD::fvec2 SizeTranslate(PD::fvec2 in) {
return fvec2(in.x * pViewPort.y, in.y * pViewPort.y);
}
2026-03-26 21:01:43 +01:00
const PD::ivec2& GetViewport() const { return pViewPort; }
2026-03-21 14:43:16 +01:00
protected:
PD::ivec2 pViewPort;
const Driver pDriver;
};
} // namespace PD