#pragma once #include #include #include #include #include #include #include namespace mbgl { class SpriteImage; using SpriteImagePtr = std::shared_ptr; // Extracts an individual image from a spritesheet from the given location. SpriteImagePtr createSpriteImage(const PremultipliedImage&, uint16_t srcX, uint16_t srcY, uint16_t srcWidth, uint16_t srcHeight, double ratio, bool sdf); using Sprites = std::map; using SpriteParseResult = variant< Sprites, // success std::exception_ptr>; // 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