diff options
author | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-02 17:47:44 +0300 |
---|---|---|
committer | Mikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com> | 2019-07-02 17:50:33 +0300 |
commit | 5155938c9c25bb2d01b6acd3814b0d3630b9c483 (patch) | |
tree | 9500e7b979cecd1e954db188dde51bafd8fab075 /src/mbgl/renderer/image_atlas.hpp | |
parent | 82735d77d5e3c12e962cba2c6008f414779957ca (diff) | |
download | qtlocation-mapboxgl-5155938c9c25bb2d01b6acd3814b0d3630b9c483.tar.gz |
[core] ImageManager is not used at tile upload stage
Diffstat (limited to 'src/mbgl/renderer/image_atlas.hpp')
-rw-r--r-- | src/mbgl/renderer/image_atlas.hpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mbgl/renderer/image_atlas.hpp b/src/mbgl/renderer/image_atlas.hpp index b59153c4a6..56d7406a0a 100644 --- a/src/mbgl/renderer/image_atlas.hpp +++ b/src/mbgl/renderer/image_atlas.hpp @@ -54,15 +54,23 @@ public: using ImagePositions = std::map<std::string, ImagePosition>; +class ImagePatch { +public: + ImagePatch(Immutable<style::Image::Impl> image_, + const Rect<uint16_t>& textureRect_) + : image(std::move(image_)) + , textureRect(textureRect_) {} + Immutable<style::Image::Impl> image; + Rect<uint16_t> textureRect; +}; + class ImageAtlas { public: PremultipliedImage image; ImagePositions iconPositions; ImagePositions patternPositions; - void patchUpdatedImages(gfx::UploadPass&, gfx::Texture&, const ImageManager&); -private: - void patchUpdatedImage(gfx::UploadPass&, gfx::Texture&, ImagePosition& position, const ImageManager& imageManager, const std::string& name, uint16_t version); + std::vector<ImagePatch> getImagePatchesAndUpdateVersions(const ImageManager&); }; ImageAtlas makeImageAtlas(const ImageMap&, const ImageMap&, const std::unordered_map<std::string, uint32_t>& versionMap); |