diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2016-11-14 10:44:06 +0100 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2016-11-14 14:05:18 +0100 |
commit | 8d53f9f09191b390a5a6f31b41714a8178ed326b (patch) | |
tree | f64b06229a09bb278f682594ed983de421311300 /platform/android/src/style | |
parent | f66ea0bef9071cf7c27e456e7eb9528b8cff5e30 (diff) | |
download | qtlocation-mapboxgl-8d53f9f09191b390a5a6f31b41714a8178ed326b.tar.gz |
[android] return layer ownership on remove
Diffstat (limited to 'platform/android/src/style')
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 8 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index aa6df40470..00a52147b8 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -45,6 +45,10 @@ namespace android { this->map = &_map; } + void Layer::setLayer(std::unique_ptr<mbgl::style::Layer> sourceLayer) { + this->ownedLayer = std::move(sourceLayer); + } + std::unique_ptr<mbgl::style::Layer> Layer::releaseCoreLayer() { assert(ownedLayer != nullptr); return std::move(ownedLayer); @@ -54,6 +58,10 @@ namespace android { return jni::Make<jni::String>(env, layer.getID()); } + style::Layer& Layer::get() { + return layer; + } + void Layer::setLayoutProperty(jni::JNIEnv& env, jni::String jname, jni::Object<> jvalue) { Value value(env, jvalue); diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index 01eac2280b..f3cd073552 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -34,10 +34,17 @@ public: virtual jni::jobject* createJavaPeer(jni::JNIEnv&) = 0; + /** + * Set core layer (ie return ownership after remove) + */ + void setLayer(std::unique_ptr<mbgl::style::Layer>); + void addToMap(mbgl::Map&, mbgl::optional<std::string>); jni::String getId(jni::JNIEnv&); + style::Layer& get(); + void setLayoutProperty(jni::JNIEnv&, jni::String, jni::Object<> value); void setPaintProperty(jni::JNIEnv&, jni::String, jni::Object<> value); |