summaryrefslogtreecommitdiff
path: root/platform/android/src/style/layers/layer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/style/layers/layer.cpp')
-rw-r--r--platform/android/src/style/layers/layer.cpp178
1 files changed, 0 insertions, 178 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp
deleted file mode 100644
index bc87a9d9ba..0000000000
--- a/platform/android/src/style/layers/layer.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-#include "layer.hpp"
-#include "../android_conversion.hpp"
-
-#include <jni/jni.hpp>
-
-#include <mbgl/style/style.hpp>
-#include <mbgl/style/filter.hpp>
-#include <mbgl/style/transition_options.hpp>
-#include <mbgl/style/layers/background_layer.hpp>
-#include <mbgl/style/layers/circle_layer.hpp>
-#include <mbgl/style/layers/fill_layer.hpp>
-#include <mbgl/style/layers/fill_extrusion_layer.hpp>
-#include <mbgl/style/layers/heatmap_layer.hpp>
-#include <mbgl/style/layers/hillshade_layer.hpp>
-#include <mbgl/style/layers/line_layer.hpp>
-#include <mbgl/style/layers/raster_layer.hpp>
-#include <mbgl/style/layers/symbol_layer.hpp>
-#include <mbgl/util/logging.hpp>
-
-// Java -> C++ conversion
-#include <mbgl/style/conversion/filter.hpp>
-#include <mbgl/style/conversion/layer.hpp>
-#include <mbgl/style/conversion/source.hpp>
-#include <mbgl/style/conversion_impl.hpp>
-
-// C++ -> Java conversion
-#include "../conversion/property_value.hpp"
-#include "custom_layer.hpp"
-#include "background_layer.hpp"
-#include <mbgl/style/filter.hpp>
-
-#include <string>
-
-namespace mbgl {
-namespace android {
-
- /**
- * Invoked when the construction is initiated from the jvm through a subclass
- */
- Layer::Layer(std::unique_ptr<mbgl::style::Layer> coreLayer)
- : ownedLayer(std::move(coreLayer))
- , layer(*ownedLayer) {
- }
-
- /**
- * Takes a non-owning reference. For lookup methods
- */
- Layer::Layer(mbgl::style::Layer& coreLayer) : layer(coreLayer) {}
-
- Layer::~Layer() {
- }
-
- void Layer::addToStyle(mbgl::style::Style& style, mbgl::optional<std::string> before) {
- // Check to see if we own the layer first
- if (!ownedLayer) {
- throw std::runtime_error("Cannot add layer twice");
- }
-
- // Add layer to map
- style.addLayer(releaseCoreLayer(), before);
- }
-
- 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);
- }
-
- jni::Local<jni::String> Layer::getId(jni::JNIEnv& env) {
- return jni::Make<jni::String>(env, layer.getID());
- }
-
- style::Layer& Layer::get() {
- return layer;
- }
-
- void Layer::setProperty(jni::JNIEnv& env, const jni::String& jname, const jni::Object<>& jvalue) {
- // Convert and set property
- optional<mbgl::style::conversion::Error> error =
- layer.setProperty(jni::Make<std::string>(env, jname), Value(env, jvalue));
- if (error) {
- mbgl::Log::Error(mbgl::Event::JNI, "Error setting property: " + jni::Make<std::string>(env, jname) + " " + error->message);
- return;
- }
- }
-
- void Layer::setFilter(jni::JNIEnv& env, const jni::Array<jni::Object<>>& jfilter) {
- using namespace mbgl::style;
- using namespace mbgl::style::conversion;
-
- Error error;
- optional<Filter> converted = convert<Filter>(Value(env, jfilter), error);
- if (!converted) {
- mbgl::Log::Error(mbgl::Event::JNI, "Error setting filter: " + error.message);
- return;
- }
-
- layer.setFilter(std::move(*converted));
- }
-
- jni::Local<jni::Object<gson::JsonElement>> Layer::getFilter(jni::JNIEnv& env) {
- using namespace mbgl::style;
- using namespace mbgl::style::conversion;
-
- Filter filter = layer.getFilter();
- if (filter.expression) {
- mbgl::Value expressionValue = (*filter.expression)->serialize();
- return gson::JsonElement::New(env, expressionValue);
- } else {
- return jni::Local<jni::Object<gson::JsonElement>>(env, nullptr);
- }
- }
-
- void Layer::setSourceLayer(jni::JNIEnv& env, const jni::String& sourceLayer) {
- layer.setSourceLayer(jni::Make<std::string>(env, sourceLayer));
- }
-
- jni::Local<jni::String> Layer::getSourceLayer(jni::JNIEnv& env) {
- return jni::Make<jni::String>(env, layer.getSourceLayer());
- }
-
- jni::Local<jni::String> Layer::getSourceId(jni::JNIEnv& env) {
- return jni::Make<jni::String>(env, layer.getSourceID());
- }
-
- jni::jfloat Layer::getMinZoom(jni::JNIEnv&){
- return layer.getMinZoom();
- }
-
- jni::jfloat Layer::getMaxZoom(jni::JNIEnv&) {
- return layer.getMaxZoom();
- }
-
- void Layer::setMinZoom(jni::JNIEnv&, jni::jfloat zoom) {
- layer.setMinZoom(zoom);
- }
-
- void Layer::setMaxZoom(jni::JNIEnv&, jni::jfloat zoom) {
- layer.setMaxZoom(zoom);
- }
-
- jni::Local<jni::Object<>> Layer::getVisibility(jni::JNIEnv& env) {
- using namespace mbgl::android::conversion;
- return std::move(*convert<jni::Local<jni::Object<>>>(env, layer.getVisibility()));
- }
-
- void Layer::registerNative(jni::JNIEnv& env) {
- // Lookup the class
- static auto& javaClass = jni::Class<Layer>::Singleton(env);
-
- #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod<decltype(MethodPtr), (MethodPtr)>(name)
-
- // Register the peer
- jni::RegisterNativePeer<Layer>(
- env,
- javaClass,
- "nativePtr",
- METHOD(&Layer::getId, "nativeGetId"),
- METHOD(&Layer::setProperty,
- "nativeSetLayoutProperty"), // TODO : Export only nativeSetProperty() when #15970 lands.
- METHOD(&Layer::setProperty, "nativeSetPaintProperty"),
- METHOD(&Layer::setFilter, "nativeSetFilter"),
- METHOD(&Layer::getFilter, "nativeGetFilter"),
- METHOD(&Layer::setSourceLayer, "nativeSetSourceLayer"),
- METHOD(&Layer::getSourceLayer, "nativeGetSourceLayer"),
- METHOD(&Layer::getSourceId, "nativeGetSourceId"),
- METHOD(&Layer::getMinZoom, "nativeGetMinZoom"),
- METHOD(&Layer::getMaxZoom, "nativeGetMaxZoom"),
- METHOD(&Layer::setMinZoom, "nativeSetMinZoom"),
- METHOD(&Layer::setMaxZoom, "nativeSetMaxZoom"),
- METHOD(&Layer::getVisibility, "nativeGetVisibility"));
- }
-
-} // namespace android
-} // namespace mbgl