#pragma once #include "buffer/FrameBuffer.hpp" #include "interfaces/IRenderTarget.hpp" #include "interfaces/ITexture.hpp" #include "interfaces/IResizeNotifiable.hpp" namespace TSE::GLFW { class RenderTexture : public IRenderTarget, public ITexture, public IResizeNotifiable { public: FrameBuffer buffer; RenderTexture(Vector2 v); Vector2 size() const override; void SetSize(Vector2 v); float width() const override; float height() const override; uint GetTextureId() const override; void Update() override; void Bind() override; void Unbind() override; void OnResize(float width, float height, IResizable* wnd) override; }; } // namespace TSE::GLFW