[android] CustomLayer - optionally accept a context lost callback function
This commit is contained in:
committed by
Ivo van Dongen
parent
97a010cc9b
commit
d1e69c8baf
@@ -13,7 +13,16 @@ public class CustomLayer extends Layer {
|
||||
long initializeFunction,
|
||||
long renderFunction,
|
||||
long deinitializeFunction) {
|
||||
initialize(id, initializeFunction, renderFunction, deinitializeFunction, context);
|
||||
this(id, context, initializeFunction, renderFunction, 0L, deinitializeFunction);
|
||||
}
|
||||
|
||||
public CustomLayer(String id,
|
||||
long context,
|
||||
long initializeFunction,
|
||||
long renderFunction,
|
||||
long contextLostFunction,
|
||||
long deinitializeFunction) {
|
||||
initialize(id, initializeFunction, renderFunction, contextLostFunction, deinitializeFunction, context);
|
||||
}
|
||||
|
||||
public CustomLayer(long nativePtr) {
|
||||
@@ -24,7 +33,8 @@ public class CustomLayer extends Layer {
|
||||
nativeUpdate();
|
||||
}
|
||||
|
||||
protected native void initialize(String id, long initializeFunction, long renderFunction, long deinitializeFunction,
|
||||
protected native void initialize(String id, long initializeFunction, long renderFunction,
|
||||
long contextLostFunction, long deinitializeFunction,
|
||||
long context);
|
||||
|
||||
protected native void nativeUpdate();
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
namespace mbgl {
|
||||
namespace android {
|
||||
|
||||
CustomLayer::CustomLayer(jni::JNIEnv& env, jni::String layerId, jni::jlong initializeFunction, jni::jlong renderFunction, jni::jlong deinitializeFunction, jni::jlong context)
|
||||
CustomLayer::CustomLayer(jni::JNIEnv& env, jni::String layerId, jni::jlong initializeFunction, jni::jlong renderFunction, jni::jlong contextLostFunction, jni::jlong deinitializeFunction, jni::jlong context)
|
||||
: Layer(env, std::make_unique<mbgl::style::CustomLayer>(
|
||||
jni::Make<std::string>(env, layerId),
|
||||
reinterpret_cast<mbgl::style::CustomLayerInitializeFunction>(initializeFunction),
|
||||
reinterpret_cast<mbgl::style::CustomLayerRenderFunction>(renderFunction),
|
||||
reinterpret_cast<mbgl::style::CustomLayerContextLostFunction>(contextLostFunction),
|
||||
reinterpret_cast<mbgl::style::CustomLayerDeinitializeFunction>(deinitializeFunction),
|
||||
reinterpret_cast<void*>(context))
|
||||
) {
|
||||
@@ -52,7 +53,7 @@ namespace android {
|
||||
// Register the peer
|
||||
jni::RegisterNativePeer<CustomLayer>(
|
||||
env, CustomLayer::javaClass, "nativePtr",
|
||||
std::make_unique<CustomLayer, JNIEnv&, jni::String, jni::jlong, jni::jlong, jni::jlong, jni::jlong>,
|
||||
std::make_unique<CustomLayer, JNIEnv&, jni::String, jni::jlong, jni::jlong, jni::jlong, jni::jlong, jni::jlong>,
|
||||
"initialize",
|
||||
"finalize",
|
||||
METHOD(&CustomLayer::update, "nativeUpdate"));
|
||||
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
|
||||
static void registerNative(jni::JNIEnv&);
|
||||
|
||||
CustomLayer(jni::JNIEnv&, jni::String, jni::jlong, jni::jlong, jni::jlong, jni::jlong);
|
||||
CustomLayer(jni::JNIEnv&, jni::String, jni::jlong, jni::jlong, jni::jlong, jni::jlong, jni::jlong);
|
||||
|
||||
CustomLayer(mbgl::Map&, mbgl::style::CustomLayer&);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user