summaryrefslogtreecommitdiff
path: root/src/mbgl/gfx/offscreen_texture.hpp
blob: 5690ff7625ddca929a4640d54b78e48cd1869821 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <mbgl/gfx/renderable.hpp>
#include <mbgl/util/image.hpp>

namespace mbgl {
namespace gfx {

class Texture;

class OffscreenTexture : public gfx::Renderable {
protected:
    OffscreenTexture(const Size size_, std::unique_ptr<RenderableResource> resource_)
        : gfx::Renderable(size_, std::move(resource_)) {
    }

public:
    virtual ~OffscreenTexture() = default;

    virtual bool isRenderable() = 0;

    virtual PremultipliedImage readStillImage() = 0;
    virtual gfx::Texture& getTexture() = 0;
};

} // namespace gfx
} // namespace mbgl