diff options
Diffstat (limited to 'include/mbgl/style/sources/image_source.hpp')
-rw-r--r-- | include/mbgl/style/sources/image_source.hpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/mbgl/style/sources/image_source.hpp b/include/mbgl/style/sources/image_source.hpp new file mode 100644 index 0000000000..d8a2c45bd8 --- /dev/null +++ b/include/mbgl/style/sources/image_source.hpp @@ -0,0 +1,41 @@ +#pragma once + +#include <mbgl/style/source.hpp> +#include <mbgl/util/image.hpp> +#include <mbgl/util/optional.hpp> + +namespace mbgl { +class LatLng; +class AsyncRequest; + +namespace style { + +class ImageSource : public Source { +public: + ImageSource(std::string id, const std::array<LatLng, 4>); + ~ImageSource() override; + + optional<std::string> getURL() const; + void setURL(const std::string& url); + + void setImage(UnassociatedImage&&); + + void setCoordinates(const std::array<LatLng, 4>&); + std::array<LatLng, 4> getCoordinates() const; + + class Impl; + const Impl& impl() const; + + void loadDescription(FileSource&) final; +private: + optional<std::string> url; + std::unique_ptr<AsyncRequest> req; +}; + +template <> +inline bool Source::is<ImageSource>() const { + return getType() == SourceType::Image; +} + +} // namespace style +} // namespace mbgl |