hibiscus/core/renderer/renderer.hpp
2023-05-30 17:00:39 +01:00

31 lines
664 B
C++

#pragma once
#include "../math/types.hpp"
#include "../resources/resource.hpp"
#include "../resources/texture.hpp"
#include <string>
namespace hibis {
class Renderer {
public:
// Draw
virtual void clearScreen(Color col) = 0;
virtual void renderCurrent() = 0;
virtual void drawText(Resource* resource, std::string text, IntVec2 pos, Color color) = 0;
virtual void drawTexture(Texture* resource, float scale, IntVec2 pos) = 0;
// Pre and Post draw
virtual void preDraw() = 0;
virtual void postDraw() = 0;
// Update
virtual void update() = 0;
// Util
virtual void setWindowTitle(std::string title) = 0;
bool mKeepOpen = true;
};
}