1 #pragma once 2 3 #include <mbgl/style/source_impl.hpp> 4 #include <mbgl/style/sources/image_source.hpp> 5 #include <mbgl/util/image.hpp> 6 #include <mbgl/util/geo.hpp> 7 8 namespace mbgl { 9 10 namespace style { 11 12 class ImageSource::Impl : public Source::Impl { 13 public: 14 Impl(std::string id, std::array<LatLng, 4> coords); 15 Impl(const Impl& rhs, std::array<LatLng, 4> coords); 16 Impl(const Impl& rhs, PremultipliedImage&& image); 17 18 ~Impl() final; 19 20 std::shared_ptr<PremultipliedImage> getImage() const; 21 std::array<LatLng, 4> getCoordinates() const; 22 23 optional<std::string> getAttribution() const final; 24 private: 25 std::array<LatLng, 4> coords; 26 std::shared_ptr<PremultipliedImage> image; 27 }; 28 29 } // namespace style 30 } // namespace mbgl 31