Files
MapLibreParticleLab/include/mbgl/map/update.hpp
John Firebaugh af392b9434 Rewrite annotation invalidation strategy
First, move style mutation code out of StyleParser and into AnnotationManager,
coalescing it with the mutation code for shape layers.

Second, allow AnnotationManager to keep track of stale tiles entirely
internally. There's no reason to pass sets of TileIDs around.

Third, correct the logic for invalidating the shape source. Since
AnnotationManager does not track shape invalidations on a tile-by-tile basis,
don't try to invalidate the shape source tile-by-tile.

Fixes #1675
Fixes #2322
Fixes #2095
2015-09-28 14:10:23 -07:00

35 lines
862 B
C++

#ifndef MBGL_MAP_UPDATE
#define MBGL_MAP_UPDATE
#include <cstdint>
namespace mbgl {
enum class Update : uint32_t {
Nothing = 0,
Dimensions = 1 << 1,
DefaultTransition = 1 << 2,
Classes = 1 << 3,
Zoom = 1 << 4,
RenderStill = 1 << 5,
Repaint = 1 << 6,
Annotations = 1 << 7,
};
inline Update operator| (const Update& lhs, const Update& rhs) {
return Update(static_cast<uint32_t>(lhs) | static_cast<uint32_t>(rhs));
}
inline Update& operator|=(Update& lhs, const Update& rhs) {
lhs = lhs | rhs;
return lhs;
}
inline bool operator& (const Update& lhs, const Update& rhs) {
return static_cast<uint32_t>(lhs) & static_cast<uint32_t>(rhs);
}
} // namespace mbgl
#endif // MBGL_MAP_UPDATE