diff options
Diffstat (limited to 'src/mbgl/renderer/raster_bucket.hpp')
-rw-r--r-- | src/mbgl/renderer/raster_bucket.hpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/mbgl/renderer/raster_bucket.hpp b/src/mbgl/renderer/raster_bucket.hpp new file mode 100644 index 0000000000..0a7651d7cc --- /dev/null +++ b/src/mbgl/renderer/raster_bucket.hpp @@ -0,0 +1,38 @@ +#ifndef MBGL_RENDERER_RASTERBUCKET +#define MBGL_RENDERER_RASTERBUCKET + +#include <mbgl/renderer/bucket.hpp> +#include <mbgl/util/raster.hpp> +#include <mbgl/renderer/prerendered_texture.hpp> +#include <mbgl/style/style_bucket.hpp> + + + +namespace mbgl { + +class RasterShader; +class StaticVertexBuffer; +class VertexArrayObject; + +class RasterBucket : public Bucket { +public: + RasterBucket(TexturePool&, const StyleBucketRaster&); + + virtual void render(Painter& painter, util::ptr<StyleLayer> layer_desc, const Tile::ID& id, const mat4 &matrix); + virtual bool hasData() const; + + bool setImage(const std::string &data); + + const StyleBucketRaster &properties; + PrerenderedTexture texture; + + void drawRaster(RasterShader& shader, StaticVertexBuffer &vertices, VertexArrayObject &array); + + void drawRaster(RasterShader& shader, StaticVertexBuffer &vertices, VertexArrayObject &array, GLuint texture); + + Raster raster; +}; + +} + +#endif |