246 {
247 static const JNINativeMethod methods[] = {
248 {"nCreateBitmap" , "(Landroid/graphics/Bitmap;)J",
249 reinterpret_cast<void*>(Surface_CreateBitmap) },
250 {"nCreateThreadedSurface" , "(Landroid/view/Surface;)J",
251 reinterpret_cast<void*>(Surface_CreateThreadedSurface) },
252 {"nCreateVKSurface" , "(Landroid/view/Surface;)J",
253 reinterpret_cast<void*>(Surface_CreateVK) },
254 {"nCreateGLSurface" , "(Landroid/view/Surface;)J",
255 reinterpret_cast<void*>(Surface_CreateGL) },
256 {"nRelease" , "(J)V", reinterpret_cast<void*>(Surface_Release) },
257 {"nGetNativeCanvas" , "(J)J", reinterpret_cast<void*>(Surface_GetNativeCanvas)},
258 {"nFlushAndSubmit" , "(J)V", reinterpret_cast<void*>(Surface_FlushAndSubmit) },
259 {"nGetWidth" , "(J)I", reinterpret_cast<void*>(Surface_GetWidth) },
260 {"nGetHeight" , "(J)I", reinterpret_cast<void*>(Surface_GetHeight) },
261 {"nMakeImageSnapshot", "(J)J", reinterpret_cast<void*>(Surface_MakeSnapshot) },
262 };
263
264 const auto clazz =
env->FindClass(
"org/skia/jetski/Surface");
265 return clazz
266 ?
env->RegisterNatives(clazz, methods, std::size(methods))
267 : JNI_ERR;
268}