#pragma once #include #include #include #include "transition_options.hpp" #include "position.hpp" #include #include namespace mbgl { namespace android { using namespace style; class Light : private mbgl::util::noncopyable { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/light/Light"; }; static void registerNative(jni::JNIEnv&); static jni::Local> createJavaLightPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Light&); Light(mbgl::Map&, mbgl::style::Light&); void setAnchor(jni::JNIEnv&, const jni::String&); jni::Local getAnchor(jni::JNIEnv&); void setPosition(jni::JNIEnv&, const jni::Object&); jni::Local> getPosition(jni::JNIEnv&); void setPositionTransition(jni::JNIEnv&, jlong duration, jlong delay); jni::Local> getPositionTransition(jni::JNIEnv&); void setColor(jni::JNIEnv&, const jni::String&); jni::Local getColor(jni::JNIEnv&); void setColorTransition(jni::JNIEnv&, jlong duration, jlong delay); jni::Local> getColorTransition(jni::JNIEnv&); void setIntensity(jni::JNIEnv&, jni::jfloat); jni::jfloat getIntensity(jni::JNIEnv&); void setIntensityTransition(jni::JNIEnv&, jlong duration, jlong delay); jni::Local> getIntensityTransition(jni::JNIEnv&); jni::Local> createJavaPeer(jni::JNIEnv&); protected: // Raw reference to the light mbgl::style::Light& light; // Map is set when the light is retrieved mbgl::Map* map; }; } // namespace android } // namespace mbgl