| 1258 | }; |
| 1259 | |
| 1260 | class Renderer |
| 1261 | { |
| 1262 | public: |
| 1263 | virtual ~Renderer() = default; |
| 1264 | virtual void PrepareDevice() = 0; |
| 1265 | virtual olc::rcode CreateDevice(std::vector<void*> params, bool bFullScreen, bool bVSYNC) = 0; |
| 1266 | virtual olc::rcode DestroyDevice() = 0; |
| 1267 | virtual void DisplayFrame() = 0; |
| 1268 | virtual void PrepareDrawing() = 0; |
| 1269 | virtual void SetDecalMode(const olc::DecalMode& mode) = 0; |
| 1270 | virtual void DrawLayerQuad(const olc::vf2d& offset, const olc::vf2d& scale, const olc::Pixel tint) = 0; |
| 1271 | virtual void DrawDecal(const olc::DecalInstance& decal) = 0; |
| 1272 | virtual void DoGPUTask(const olc::GPUTask& task) = 0; |
| 1273 | virtual void Set3DProjection(const std::array<float, 16>& mat) = 0; |
| 1274 | virtual uint32_t CreateTexture(const uint32_t width, const uint32_t height, const bool filtered = false, const bool clamp = true) = 0; |
| 1275 | virtual void UpdateTexture(uint32_t id, olc::Sprite* spr) = 0; |
| 1276 | virtual void ReadTexture(uint32_t id, olc::Sprite* spr) = 0; |
| 1277 | virtual uint32_t DeleteTexture(const uint32_t id) = 0; |
| 1278 | virtual void ApplyTexture(uint32_t id) = 0; |
| 1279 | virtual void UpdateViewport(const olc::vi2d& pos, const olc::vi2d& size) = 0; |
| 1280 | virtual void ClearBuffer(olc::Pixel p, bool bDepth) = 0; |
| 1281 | static olc::PixelGameEngine* ptrPGE; |
| 1282 | }; |
| 1283 | |
| 1284 | class Platform |
| 1285 | { |
nothing calls this directly
no outgoing calls
no test coverage detected