#pragma once #include #include namespace mbgl { namespace gfx { class Texture; class OffscreenTexture : public gfx::Renderable { protected: OffscreenTexture(const Size size_, std::unique_ptr resource_) : gfx::Renderable(size_, std::move(resource_)) { } public: ~OffscreenTexture() override = default; virtual bool isRenderable() = 0; virtual PremultipliedImage readStillImage() = 0; virtual gfx::Texture& getTexture() = 0; }; } // namespace gfx } // namespace mbgl