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-04 16:56:43 +0300 |
commit | e797e318311aac3d4dc1f559b835d9253d65c520 (patch) | |
tree | b7d5558e4a0555ad4c21880629b20b41064188bd /src/mbgl/renderer/image_atlas.hpp | |
parent | d2e867e3e007fcbcb78cb80bce931db1ddc3cf5c (diff) | |
download | qtlocation-mapboxgl-e797e318311aac3d4dc1f559b835d9253d65c520.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); |