Export default transition delay in Map public API

Added a setter/getter for default transition delay, in the same fashion
as the default transition duration.

Spin-off from #1888. Fixes #302.
This commit is contained in:
Bruno de Oliveira Abinader
2015-07-14 18:47:46 +03:00
parent 0b8cd02c19
commit 38f3bed63e
4 changed files with 16 additions and 3 deletions

View File

@@ -84,6 +84,10 @@ public:
void setDefaultTransitionDuration(const Duration& = Duration::zero());
Duration getDefaultTransitionDuration() const;
void setDefaultTransitionDelay(const Duration& = Duration::zero());
Duration getDefaultTransitionDelay() const;
void setStyleURL(const std::string& url);
void setStyleJSON(const std::string& json, const std::string& base = "");
std::string getStyleURL() const;

View File

@@ -10,7 +10,7 @@ using UpdateType = uint32_t;
enum class Update : UpdateType {
Nothing = 0,
Dimensions = 1 << 1,
DefaultTransitionDuration = 1 << 2,
DefaultTransition = 1 << 2,
Classes = 1 << 3,
Zoom = 1 << 4,
RenderStill = 1 << 5,

View File

@@ -422,13 +422,22 @@ std::vector<std::string> Map::getClasses() const {
void Map::setDefaultTransitionDuration(const Duration& duration) {
data->setDefaultTransitionDuration(duration);
update(Update::DefaultTransitionDuration);
update(Update::DefaultTransition);
}
Duration Map::getDefaultTransitionDuration() const {
return data->getDefaultTransitionDuration();
}
void Map::setDefaultTransitionDelay(const Duration& delay) {
data->setDefaultTransitionDelay(delay);
update(Update::DefaultTransition);
}
Duration Map::getDefaultTransitionDelay() const {
return data->getDefaultTransitionDelay();
}
void Map::setSourceTileCacheSize(size_t size) {
context->invoke(&MapContext::setSourceTileCacheSize, size);
}

View File

@@ -136,7 +136,7 @@ void MapContext::loadStyleJSON(const std::string& json, const std::string& base)
// force style cascade, causing all pending transitions to complete.
style->cascade();
updated |= static_cast<UpdateType>(Update::DefaultTransitionDuration);
updated |= static_cast<UpdateType>(Update::DefaultTransition);
updated |= static_cast<UpdateType>(Update::Classes);
updated |= static_cast<UpdateType>(Update::Zoom);
asyncUpdate->send();