diff options
author | Chris Loer <chris.loer@gmail.com> | 2017-11-14 15:30:27 -0800 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2017-11-17 10:05:15 -0800 |
commit | 25cfb5863c9ac3705d2bcf4086c237608264e3ae (patch) | |
tree | e142caa7789b0f23e2633ef5f920a869f6e14d91 /src/mbgl/tile/geometry_tile.hpp | |
parent | d69c1c4806038fec756672d80cef7691c5280c6a (diff) | |
download | qtlocation-mapboxgl-25cfb5863c9ac3705d2bcf4086c237608264e3ae.tar.gz |
[core] Symbol cross-fading.
Hold onto tiles after they've been removed from the render tree long enough to run a fade animation on their symbols.
Diffstat (limited to 'src/mbgl/tile/geometry_tile.hpp')
-rw-r--r-- | src/mbgl/tile/geometry_tile.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp index 442d84244e..6f871819a4 100644 --- a/src/mbgl/tile/geometry_tile.hpp +++ b/src/mbgl/tile/geometry_tile.hpp @@ -97,6 +97,11 @@ public: void resetCrossTileIDs() override; + bool holdForFade() const override; + void markRenderedIdeal() override; + void markRenderedPreviously() override; + void performedFadePlacement() override; + protected: const GeometryTileData* getData() { return data.get(); @@ -130,7 +135,15 @@ private: const MapMode mode; bool showCollisionBoxes; + + enum class FadeState { + Loaded, + NeedsFirstPlacement, + NeedsSecondPlacement, + CanRemove + }; + FadeState fadeState = FadeState::Loaded; public: optional<gl::Texture> glyphAtlasTexture; optional<gl::Texture> iconAtlasTexture; |