// This file is generated. Edit android/platform/scripts/generate-style-code.js, then run `make android-style-code`. #include "heatmap_layer.hpp" #include #include "../conversion/property_value.hpp" #include "../conversion/transition_options.hpp" namespace mbgl { namespace android { /** * Creates an owning peer object (for layers not attached to the map) from the JVM side */ HeatmapLayer::HeatmapLayer(jni::JNIEnv& env, jni::String layerId, jni::String sourceId) : Layer(env, std::make_unique(jni::Make(env, layerId), jni::Make(env, sourceId))) { } /** * Creates a non-owning peer object (for layers currently attached to the map) */ HeatmapLayer::HeatmapLayer(mbgl::Map& map, mbgl::style::HeatmapLayer& coreLayer) : Layer(map, coreLayer) { } /** * Creates an owning peer object (for layers not attached to the map) */ HeatmapLayer::HeatmapLayer(mbgl::Map& map, std::unique_ptr coreLayer) : Layer(map, std::move(coreLayer)) { } HeatmapLayer::~HeatmapLayer() = default; // Property getters jni::Object HeatmapLayer::getHeatmapRadius(jni::JNIEnv& env) { using namespace mbgl::android::conversion; Result converted = convert(env, layer.as()->HeatmapLayer::getHeatmapRadius()); return jni::Object(*converted); } jni::Object HeatmapLayer::getHeatmapRadiusTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as()->HeatmapLayer::getHeatmapRadiusTransition(); return *convert>(env, options); } void HeatmapLayer::setHeatmapRadiusTransition(jni::JNIEnv&, jlong duration, jlong delay) { mbgl::style::TransitionOptions options; options.duration.emplace(mbgl::Milliseconds(duration)); options.delay.emplace(mbgl::Milliseconds(delay)); layer.as()->HeatmapLayer::setHeatmapRadiusTransition(options); } jni::Object HeatmapLayer::getHeatmapWeight(jni::JNIEnv& env) { using namespace mbgl::android::conversion; Result converted = convert(env, layer.as()->HeatmapLayer::getHeatmapWeight()); return jni::Object(*converted); } jni::Object HeatmapLayer::getHeatmapIntensity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; Result converted = convert(env, layer.as()->HeatmapLayer::getHeatmapIntensity()); return jni::Object(*converted); } jni::Object HeatmapLayer::getHeatmapIntensityTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as()->HeatmapLayer::getHeatmapIntensityTransition(); return *convert>(env, options); } void HeatmapLayer::setHeatmapIntensityTransition(jni::JNIEnv&, jlong duration, jlong delay) { mbgl::style::TransitionOptions options; options.duration.emplace(mbgl::Milliseconds(duration)); options.delay.emplace(mbgl::Milliseconds(delay)); layer.as()->HeatmapLayer::setHeatmapIntensityTransition(options); } jni::Object HeatmapLayer::getHeatmapColor(jni::JNIEnv& env) { using namespace mbgl::android::conversion; auto propertyValue = layer.as()->HeatmapLayer::getHeatmapColor(); if (propertyValue.isUndefined()) { propertyValue = layer.as()->HeatmapLayer::getDefaultHeatmapColor(); } Result converted = convert(env, propertyValue); return jni::Object(*converted); } jni::Object HeatmapLayer::getHeatmapOpacity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; Result converted = convert(env, layer.as()->HeatmapLayer::getHeatmapOpacity()); return jni::Object(*converted); } jni::Object HeatmapLayer::getHeatmapOpacityTransition(jni::JNIEnv& env) { using namespace mbgl::android::conversion; mbgl::style::TransitionOptions options = layer.as()->HeatmapLayer::getHeatmapOpacityTransition(); return *convert>(env, options); } void HeatmapLayer::setHeatmapOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay) { mbgl::style::TransitionOptions options; options.duration.emplace(mbgl::Milliseconds(duration)); options.delay.emplace(mbgl::Milliseconds(delay)); layer.as()->HeatmapLayer::setHeatmapOpacityTransition(options); } jni::Class HeatmapLayer::javaClass; jni::jobject* HeatmapLayer::createJavaPeer(jni::JNIEnv& env) { static auto constructor = HeatmapLayer::javaClass.template GetConstructor(env); return HeatmapLayer::javaClass.New(env, constructor, reinterpret_cast(this)); } void HeatmapLayer::registerNative(jni::JNIEnv& env) { // Lookup the class HeatmapLayer::javaClass = *jni::Class::Find(env).NewGlobalRef(env).release(); #define METHOD(MethodPtr, name) jni::MakeNativePeerMethod(name) // Register the peer jni::RegisterNativePeer( env, HeatmapLayer::javaClass, "nativePtr", std::make_unique, "initialize", "finalize", METHOD(&HeatmapLayer::getHeatmapRadiusTransition, "nativeGetHeatmapRadiusTransition"), METHOD(&HeatmapLayer::setHeatmapRadiusTransition, "nativeSetHeatmapRadiusTransition"), METHOD(&HeatmapLayer::getHeatmapRadius, "nativeGetHeatmapRadius"), METHOD(&HeatmapLayer::getHeatmapWeight, "nativeGetHeatmapWeight"), METHOD(&HeatmapLayer::getHeatmapIntensityTransition, "nativeGetHeatmapIntensityTransition"), METHOD(&HeatmapLayer::setHeatmapIntensityTransition, "nativeSetHeatmapIntensityTransition"), METHOD(&HeatmapLayer::getHeatmapIntensity, "nativeGetHeatmapIntensity"), METHOD(&HeatmapLayer::getHeatmapColor, "nativeGetHeatmapColor"), METHOD(&HeatmapLayer::getHeatmapOpacityTransition, "nativeGetHeatmapOpacityTransition"), METHOD(&HeatmapLayer::setHeatmapOpacityTransition, "nativeSetHeatmapOpacityTransition"), METHOD(&HeatmapLayer::getHeatmapOpacity, "nativeGetHeatmapOpacity")); } } // namespace android } // namespace mbgl