1 #pragma once
2 
3 #include <mbgl/style/image.hpp>
4 
5 #include <string>
6 #include <unordered_map>
7 #include <set>
8 
9 namespace mbgl {
10 namespace style {
11 
12 class Image::Impl {
13 public:
14     Impl(std::string id, PremultipliedImage&&, float pixelRatio, bool sdf = false);
15 
16     const std::string id;
17 
18     PremultipliedImage image;
19 
20     // Pixel ratio of the sprite image.
21     const float pixelRatio;
22 
23     // Whether this image should be interpreted as a signed distance field icon.
24     const bool sdf;
25 };
26 
27 } // namespace style
28 
29 using ImageMap = std::unordered_map<std::string, Immutable<style::Image::Impl>>;
30 using ImageDependencies = std::set<std::string>;
31 using ImageRequestPair = std::pair<ImageDependencies, uint64_t>;
32 
33 } // namespace mbgl
34