summaryrefslogtreecommitdiff
path: root/platform/android/src/style/layers/hillshade_layer.hpp
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-11-06 11:25:09 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-11-07 16:34:20 +0200
commit80ec05cf47feb9f225d46222980d6942b9a4038f (patch)
treee0e2781efbdd9eae40cbde9ddf695fff80efa1ab /platform/android/src/style/layers/hillshade_layer.hpp
parentffdeef3a26306e447f1cc52a8e14d42fb035611d (diff)
downloadqtlocation-mapboxgl-80ec05cf47feb9f225d46222980d6942b9a4038f.tar.gz
[core][android] Implement LayerManager for Android
The newly introduced `LayerManagerAndroid` is now responsible for creating both style layer objects and their java peers on Android.
Diffstat (limited to 'platform/android/src/style/layers/hillshade_layer.hpp')
-rw-r--r--platform/android/src/style/layers/hillshade_layer.hpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/platform/android/src/style/layers/hillshade_layer.hpp b/platform/android/src/style/layers/hillshade_layer.hpp
index 9ca0e33cfd..db0ea736b4 100644
--- a/platform/android/src/style/layers/hillshade_layer.hpp
+++ b/platform/android/src/style/layers/hillshade_layer.hpp
@@ -15,8 +15,6 @@ public:
using SuperTag = Layer;
static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/HillshadeLayer"; };
- static void registerNative(jni::JNIEnv&);
-
HillshadeLayer(jni::JNIEnv&, jni::String&, jni::String&);
HillshadeLayer(mbgl::Map&, mbgl::style::HillshadeLayer&);
@@ -46,9 +44,22 @@ public:
jni::Local<jni::Object<jni::ObjectTag>> getHillshadeAccentColor(jni::JNIEnv&);
void setHillshadeAccentColorTransition(jni::JNIEnv&, jlong duration, jlong delay);
jni::Local<jni::Object<TransitionOptions>> getHillshadeAccentColorTransition(jni::JNIEnv&);
- jni::Local<jni::Object<Layer>> createJavaPeer(jni::JNIEnv&);
}; // class HillshadeLayer
+class HillshadeJavaLayerPeerFactory final : public JavaLayerPeerFactory, public mbgl::style::HillshadeLayerFactory {
+public:
+ ~HillshadeJavaLayerPeerFactory() override;
+
+ // JavaLayerPeerFactory overrides.
+ jni::Local<jni::Object<Layer>> createJavaLayerPeer(jni::JNIEnv&, mbgl::Map&, mbgl::style::Layer&) final;
+ jni::Local<jni::Object<Layer>> createJavaLayerPeer(jni::JNIEnv& env, mbgl::Map& map, std::unique_ptr<mbgl::style::Layer>) final;
+
+ void registerNative(jni::JNIEnv&) final;
+
+ style::LayerFactory* getLayerFactory() final { return this; }
+
+}; // class HillshadeJavaLayerPeerFactory
+
} // namespace android
} // namespace mbgl