#ifndef MBGL_ANNOTATIONS_SPRITE_PARSER #define MBGL_ANNOTATIONS_SPRITE_PARSER #include #include #include #include #include #include namespace mbgl { namespace util { class Image; } // namespace util class SpriteImage; using SpriteImagePtr = std::shared_ptr; // Extracts an individual image from a spritesheet from the given location. SpriteImagePtr createSpriteImage(const util::Image& image, uint16_t srcX, uint16_t srcY, uint16_t srcWidth, uint16_t srcHeight, double ratio, bool sdf); using Sprites = std::map; using SpriteParseResult = mapbox::util::variant< Sprites, // success std::string>; // error // Parses an image and an associated JSON file and returns the sprite objects. SpriteParseResult parseSprite(const std::string& image, const std::string& json); } // namespace mbgl #endif