make the debug flag atomic and move to MapData
This commit is contained in:
@@ -80,6 +80,7 @@ public:
|
||||
enum class Update : UpdateType {
|
||||
Nothing = 0,
|
||||
StyleInfo = 1 << 0,
|
||||
Debug = 1 << 1,
|
||||
};
|
||||
void triggerUpdate(Update = Update::Nothing);
|
||||
|
||||
@@ -254,7 +255,6 @@ private:
|
||||
|
||||
std::chrono::steady_clock::duration defaultTransitionDuration;
|
||||
|
||||
bool debug = false;
|
||||
std::chrono::steady_clock::time_point animationTime = std::chrono::steady_clock::time_point::min();
|
||||
|
||||
std::set<util::ptr<StyleSource>> activeSources;
|
||||
|
||||
@@ -591,18 +591,17 @@ void Map::updateAnnotationTiles(std::vector<Tile::ID>& ids) {
|
||||
#pragma mark - Toggles
|
||||
|
||||
void Map::setDebug(bool value) {
|
||||
debug = value;
|
||||
assert(painter);
|
||||
painter->setDebug(debug);
|
||||
triggerUpdate();
|
||||
data->setDebug(value);
|
||||
triggerUpdate(Update::Debug);
|
||||
}
|
||||
|
||||
void Map::toggleDebug() {
|
||||
setDebug(!debug);
|
||||
data->toggleDebug();
|
||||
triggerUpdate(Update::Debug);
|
||||
}
|
||||
|
||||
bool Map::getDebug() const {
|
||||
return debug;
|
||||
return data->getDebug();
|
||||
}
|
||||
|
||||
void Map::addClass(const std::string& klass) {
|
||||
@@ -765,6 +764,10 @@ void Map::prepare() {
|
||||
if (u & static_cast<UpdateType>(Update::StyleInfo)) {
|
||||
reloadStyle();
|
||||
}
|
||||
if (u & static_cast<UpdateType>(Update::Debug)) {
|
||||
assert(painter);
|
||||
painter->setDebug(data->getDebug());
|
||||
}
|
||||
|
||||
// Update transform transitions.
|
||||
animationTime = std::chrono::steady_clock::now();
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <mutex>
|
||||
#include <atomic>
|
||||
|
||||
namespace mbgl {
|
||||
|
||||
@@ -25,10 +26,15 @@ public:
|
||||
styleInfo = info;
|
||||
}
|
||||
|
||||
inline bool getDebug() const { return debug; }
|
||||
inline bool toggleDebug() { return debug ^= 1u; }
|
||||
inline void setDebug(bool value) { debug = value; }
|
||||
|
||||
private:
|
||||
mutable std::mutex mtx;
|
||||
|
||||
StyleInfo styleInfo;
|
||||
std::atomic<uint8_t> debug;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user