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