diff options
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 20 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp | 6 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp.ejs | 1 |
3 files changed, 24 insertions, 3 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index 6c9de51a0d..58c0c5ee84 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -144,6 +144,25 @@ namespace android { } } + jni::String Layer::getSourceLayer(jni::JNIEnv& env) { + using namespace mbgl::style; + + std::string sourceLayerId; + if (layer.is<FillLayer>()) { + sourceLayerId = layer.as<FillLayer>()->getSourceLayer(); + } else if (layer.is<LineLayer>()) { + sourceLayerId = layer.as<LineLayer>()->getSourceLayer(); + } else if (layer.is<SymbolLayer>()) { + sourceLayerId = layer.as<SymbolLayer>()->getSourceLayer(); + } else if (layer.is<CircleLayer>()) { + sourceLayerId = layer.as<CircleLayer>()->getSourceLayer(); + } else { + mbgl::Log::Warning(mbgl::Event::JNI, "Layer doesn't support source layer"); + } + + return jni::Make<jni::String>(env, sourceLayerId); + } + jni::jfloat Layer::getMinZoom(jni::JNIEnv&){ return layer.getMinZoom(); } @@ -180,6 +199,7 @@ namespace android { METHOD(&Layer::setPaintProperty, "nativeSetPaintProperty"), METHOD(&Layer::setFilter, "nativeSetFilter"), METHOD(&Layer::setSourceLayer, "nativeSetSourceLayer"), + METHOD(&Layer::getSourceLayer, "nativeGetSourceLayer"), METHOD(&Layer::getMinZoom, "nativeGetMinZoom"), METHOD(&Layer::getMaxZoom, "nativeGetMaxZoom"), METHOD(&Layer::setMinZoom, "nativeSetMinZoom"), diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index deea7a6613..78c3f80b48 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -66,9 +66,11 @@ public: /* common properties, but not shared by all */ - void setFilter(jni::JNIEnv& env, jni::Array<jni::Object<>> jfilter); + void setFilter(jni::JNIEnv&, jni::Array<jni::Object<>>); - void setSourceLayer(jni::JNIEnv& env, jni::String sourceLayer); + void setSourceLayer(jni::JNIEnv&, jni::String); + + jni::String getSourceLayer(jni::JNIEnv&); // Property getters diff --git a/platform/android/src/style/layers/layer.hpp.ejs b/platform/android/src/style/layers/layer.hpp.ejs index d1e84ac2d4..837049b4c3 100644 --- a/platform/android/src/style/layers/layer.hpp.ejs +++ b/platform/android/src/style/layers/layer.hpp.ejs @@ -44,7 +44,6 @@ public: jni::Object<TransitionOptions> get<%- camelize(property.name) %>Transition(jni::JNIEnv&); <% } -%> <% } -%> - jni::jobject* createJavaPeer(jni::JNIEnv&); }; // class <%- camelize(type) %>Layer |